Changeset 27818


Ignore:
Timestamp:
2011-07-28T18:51:12+02:00 (7 years ago)
Author:
nbd
Message:

ppp: version bump to 2.4.5

Bump to the current version of PPP.

A few of the patches are either in 2.4.5 or something functionally equivalent is, so those patches were removed.

1 patch was added to accommodate pppol2pv3_addr which is referenced in a linux kernel header file, but isn't defined in the kernel header files packaged with PPP.

Redux: re-instate the commenting out of the exponential back-off as requested by Felix.

Signed-off-by: Philip Prindeville <philipp@…>

Location:
trunk/package/ppp
Files:
1 added
24 edited

Legend:

Unmodified
Added
Removed
  • trunk/package/ppp/Makefile

    r27159 r27818  
    1010 
    1111PKG_NAME:=ppp 
    12 PKG_VERSION:=2.4.4 
    13 PKG_RELEASE:=17 
     12PKG_VERSION:=2.4.5 
     13PKG_RELEASE:=1 
    1414 
    1515PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz 
    1616PKG_SOURCE_URL:=ftp://ftp.samba.org/pub/ppp/ 
    17 PKG_MD5SUM:=183800762e266132218b204dfb428d29 
     17PKG_MD5SUM:=4621bc56167b6953ec4071043fe0ec57 
    1818 
    1919PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION) 
  • trunk/package/ppp/patches/100-debian_ip-ip_option.patch

    r15958 r27818  
    11--- a/pppd/ipcp.c 
    22+++ b/pppd/ipcp.c 
    3 @@ -1850,7 +1850,7 @@ ipcp_up(f) 
     3@@ -1939,7 +1939,7 @@ ipcp_up(f) 
    44      */ 
    55     if (ipcp_script_state == s_down && ipcp_script_pid == 0) { 
     
    1010 } 
    1111  
    12 @@ -1900,7 +1900,7 @@ ipcp_down(f) 
     12@@ -1989,7 +1989,7 @@ ipcp_down(f) 
    1313     /* Execute the ip-down script */ 
    1414     if (ipcp_script_state == s_up && ipcp_script_pid == 0) { 
     
    1919 } 
    2020  
    21 @@ -1954,13 +1954,13 @@ ipcp_script_done(arg) 
     21@@ -2043,13 +2043,13 @@ ipcp_script_done(arg) 
    2222     case s_up: 
    2323        if (ipcp_fsm[0].state != OPENED) { 
     
    3737--- a/pppd/main.c 
    3838+++ b/pppd/main.c 
    39 @@ -315,6 +315,9 @@ main(argc, argv) 
     39@@ -316,6 +316,9 @@ main(argc, argv) 
    4040     struct protent *protp; 
    4141     char numbuf[16]; 
     
    7474--- a/pppd/pppd.h 
    7575+++ b/pppd/pppd.h 
    76 @@ -312,6 +312,8 @@ extern bool tune_kernel;    /* May alter ke 
     76@@ -313,6 +313,8 @@ extern bool tune_kernel;    /* May alter ke 
    7777 extern int     connect_delay;  /* Time to delay after connect script */ 
    7878 extern int     max_data_rate;  /* max bytes/sec through charshunt */ 
  • trunk/package/ppp/patches/102-debian_fix_close_fd0.patch

    r15958 r27818  
    1 --- a/pppd/main.c 
    2 +++ b/pppd/main.c 
    3 @@ -1570,6 +1570,8 @@ safe_fork(int infd, int outfd, int errfd 
    4         if (errfd == 0 || errfd == 1) 
    5                 errfd = dup(errfd); 
    6   
    7 +       closelog(); 
    8 + 
    9         /* dup the in, out, err fds to 0, 1, 2 */ 
    10         if (infd != 0) 
    11                 dup2(infd, 0); 
    12 @@ -1578,7 +1580,6 @@ safe_fork(int infd, int outfd, int errfd 
    13         if (errfd != 2) 
    14                 dup2(errfd, 2); 
    15   
    16 -       closelog(); 
    17         if (log_to_fd > 2) 
    18                 close(log_to_fd); 
    19         if (the_channel->close) 
  • trunk/package/ppp/patches/103-debian_fix_link_pidfile.patch

    r15958 r27818  
    11--- a/pppd/main.c 
    22+++ b/pppd/main.c 
    3 @@ -772,8 +772,7 @@ detach() 
     3@@ -773,8 +773,7 @@ detach() 
    44        /* update pid files if they have been written already */ 
    55        if (pidfilename[0]) 
  • trunk/package/ppp/patches/104-debian_fix_mschapv2_ppp.patch

    r15958 r27818  
    1 --- a/pppd/chap_ms.c 
    2 +++ b/pppd/chap_ms.c 
    3 @@ -852,7 +852,7 @@ ChapMS2(u_char *rchallenge, u_char *Peer 
    4      u_char *p = &response[MS_CHAP2_PEER_CHALLENGE]; 
    5      int i; 
    6   
    7 -    BZERO(response, sizeof(*response)); 
    8 +    BZERO(response, MS_CHAP2_RESPONSE_LEN); 
    9   
    10      /* Generate the Peer-Challenge if requested, or copy it if supplied. */ 
    11      if (!PeerChallenge) 
  • trunk/package/ppp/patches/105-debian_demand.patch

    r15958 r27818  
    140140--- a/pppd/ipcp.c 
    141141+++ b/pppd/ipcp.c 
    142 @@ -1776,7 +1776,7 @@ ipcp_up(f) 
     142@@ -1864,7 +1864,7 @@ ipcp_up(f) 
    143143                    proxy_arp_set[f->unit] = 1; 
    144144  
     
    162162--- a/pppd/pppd.h 
    163163+++ b/pppd/pppd.h 
    164 @@ -565,7 +565,7 @@ void demand_conf __P((void));       /* config  
     164@@ -566,7 +566,7 @@ void demand_conf __P((void));       /* config  
    165165 void demand_block __P((void)); /* set all NPs to queue up packets */ 
    166166 void demand_unblock __P((void)); /* set all NPs to pass packets */ 
  • trunk/package/ppp/patches/106-debian_stripMSdomain.patch

    r15958 r27818  
    11--- a/pppd/chap-new.c 
    22+++ b/pppd/chap-new.c 
    3 @@ -57,6 +57,7 @@ int (*chap_verify_hook)(char *name, char 
     3@@ -58,6 +58,7 @@ int (*chap_verify_hook)(char *name, char 
    44 int chap_timeout_time = 3; 
    55 int chap_max_transmits = 10; 
     
    99 /* 
    1010  * Command-line options. 
    11 @@ -68,6 +69,8 @@ static option_t chap_option_list[] = { 
     11@@ -69,6 +70,8 @@ static option_t chap_option_list[] = { 
    1212          "Set max #xmits for challenge", OPT_PRIO }, 
    1313        { "chap-interval", o_int, &chap_rechallenge_time, 
     
    1818 }; 
    1919  
    20 @@ -335,6 +338,14 @@ chap_handle_response(struct chap_server_ 
     20@@ -336,6 +339,14 @@ chap_handle_response(struct chap_server_ 
    2121                        /* Null terminate and clean remote name. */ 
    2222                        slprintf(rname, sizeof(rname), "%.*v", len, name); 
  • trunk/package/ppp/patches/107-debian_pppatm_cleanup.patch

    r15958 r27818  
    11--- a/pppd/plugins/pppoatm/pppoatm.c 
    22+++ b/pppd/plugins/pppoatm/pppoatm.c 
    3 @@ -70,18 +70,20 @@ static int setdevname_pppoatm(const char 
    4  { 
    5         struct sockaddr_atmpvc addr; 
    6         extern struct stat devstat; 
    7 + 
    8         if (device_got_set) 
    9                 return 0; 
    10 -       //info("PPPoATM setdevname_pppoatm: '%s'", cp); 
    11 + 
     3@@ -75,13 +75,14 @@ static int setdevname_pppoatm(const char 
     4        //info("PPPoATM setdevname_pppoatm: '%s'", cp); 
    125        memset(&addr, 0, sizeof addr); 
    136        if (text2atm(cp, (struct sockaddr *) &addr, sizeof(addr), 
     
    2922        strlcpy(devnam, cp, sizeof devnam); 
    3023        devstat.st_mode = S_IFSOCK; 
    31 @@ -93,7 +95,6 @@ static int setdevname_pppoatm(const char 
    32                 lcp_allowoptions[0].neg_asyncmap = 0; 
    33                 lcp_wantoptions[0].neg_pcompression = 0; 
    34         } 
    35 -       info("PPPoATM setdevname_pppoatm - SUCCESS:%s", cp); 
    36         device_got_set = 1; 
    37         return 1; 
    38  } 
    39 @@ -108,6 +109,7 @@ static void no_device_given_pppoatm(void 
    40  static void set_line_discipline_pppoatm(int fd) 
    41  { 
    42         struct atm_backend_ppp be; 
    43 + 
    44         be.backend_num = ATM_BACKEND_PPP; 
    45         if (!llc_encaps) 
    46                 be.encaps = PPPOATM_ENCAPS_VC; 
    47 @@ -115,6 +117,7 @@ static void set_line_discipline_pppoatm( 
    48                 be.encaps = PPPOATM_ENCAPS_LLC; 
    49         else 
    50                 be.encaps = PPPOATM_ENCAPS_AUTODETECT; 
    51 + 
    52         if (ioctl(fd, ATM_SETBACKEND, &be) < 0) 
    53                 fatal("ioctl(ATM_SETBACKEND): %m"); 
    54  } 
    55 @@ -175,16 +178,19 @@ static void send_config_pppoa(int mtu, 
    56  { 
    57         int sock; 
    58         struct ifreq ifr; 
    59 + 
    60         if (mtu > pppoatm_max_mtu) 
    61                 error("Couldn't increase MTU to %d", mtu); 
    62 + 
    63         sock = socket(AF_INET, SOCK_DGRAM, 0); 
    64         if (sock < 0) 
    65                 fatal("Couldn't create IP socket: %m"); 
    66 + 
    67         strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name)); 
    68         ifr.ifr_mtu = mtu; 
    69         if (ioctl(sock, SIOCSIFMTU, (caddr_t) &ifr) < 0) 
    70                 fatal("ioctl(SIOCSIFMTU): %m"); 
    71 -       (void) close (sock); 
    72 +       close(sock); 
    73  } 
    74   
    75  static void recv_config_pppoa(int mru, 
    76 @@ -198,7 +204,7 @@ static void recv_config_pppoa(int mru, 
     24@@ -170,7 +171,7 @@ static void disconnect_pppoatm(void) 
    7725  
    7826 void plugin_init(void) 
     
    8331        if (!ppp_available() && !new_style_driver) 
    8432                fatal("Kernel doesn't support ppp_generic - " 
    85 @@ -206,9 +212,9 @@ void plugin_init(void) 
    86  #else 
    87         fatal("No PPPoATM support on this OS"); 
    88  #endif 
    89 -       info("PPPoATM plugin_init"); 
    90         add_options(pppoa_options); 
    91  } 
    92 + 
    93  struct channel pppoa_channel = { 
    94      options: pppoa_options, 
    95      process_extra_options: NULL, 
  • trunk/package/ppp/patches/108-debian_pppatm_fix_mtu.patch

    r15958 r27818  
    1 --- a/pppd/plugins/pppoatm/pppoatm.c 
    2 +++ b/pppd/plugins/pppoatm/pppoatm.c 
    3 @@ -179,8 +179,11 @@ static void send_config_pppoa(int mtu, 
    4         int sock; 
    5         struct ifreq ifr; 
    6   
    7 -       if (mtu > pppoatm_max_mtu) 
    8 -               error("Couldn't increase MTU to %d", mtu); 
    9 +       if (pppoatm_max_mtu && mtu > pppoatm_max_mtu) { 
    10 +               warn("Couldn't increase MTU to %d. Using %d", 
    11 +                       mtu, pppoatm_max_mtu); 
    12 +               mtu = pppoatm_max_mtu; 
    13 +       } 
    14   
    15         sock = socket(AF_INET, SOCK_DGRAM, 0); 
    16         if (sock < 0) 
    17 @@ -198,8 +201,11 @@ static void recv_config_pppoa(int mru, 
    18                               int pcomp, 
    19                               int accomp) 
    20  { 
    21 -       if (mru > pppoatm_max_mru) 
    22 -               error("Couldn't increase MRU to %d", mru); 
    23 +       if (pppoatm_max_mru && mru > pppoatm_max_mru) { 
    24 +               warn("Couldn't increase MRU to %d. Using %d", 
    25 +                       mru, pppoatm_max_mru); 
    26 +               mru = pppoatm_max_mru; 
    27 +       } 
    28  } 
    29   
    30  void plugin_init(void) 
  • trunk/package/ppp/patches/109-debian_pppoe_cleanup.patch

    r15958 r27818  
    1 --- a/pppd/plugins/rp-pppoe/common.c 
    2 +++ b/pppd/plugins/rp-pppoe/common.c 
    3 @@ -18,10 +18,6 @@ static char const RCSID[] = 
    4   
    5  #include "pppoe.h" 
    6   
    7 -#ifdef HAVE_SYSLOG_H 
    8 -#include <syslog.h> 
    9 -#endif 
    10 - 
    11  #include <string.h> 
    12  #include <errno.h> 
    13  #include <stdlib.h> 
    14 @@ -50,17 +46,17 @@ parsePacket(PPPoEPacket *packet, ParseFu 
    15      UINT16_t tagType, tagLen; 
    16   
    17      if (packet->ver != 1) { 
    18 -       syslog(LOG_ERR, "Invalid PPPoE version (%d)", (int) packet->ver); 
    19 +       error("Invalid PPPoE version (%u)", packet->ver); 
    20         return -1; 
    21      } 
    22      if (packet->type != 1) { 
    23 -       syslog(LOG_ERR, "Invalid PPPoE type (%d)", (int) packet->type); 
    24 +       error("Invalid PPPoE type (%u)", packet->type); 
    25         return -1; 
    26      } 
    27   
    28      /* Do some sanity checks on packet */ 
    29      if (len > ETH_DATA_LEN - 6) { /* 6-byte overhead for PPPoE header */ 
    30 -       syslog(LOG_ERR, "Invalid PPPoE packet length (%u)", len); 
    31 +       error("Invalid PPPoE packet length (%u)", len); 
    32         return -1; 
    33      } 
    34   
    35 @@ -76,7 +72,7 @@ parsePacket(PPPoEPacket *packet, ParseFu 
    36             return 0; 
    37         } 
    38         if ((curTag - packet->payload) + tagLen + TAG_HDR_SIZE > len) { 
    39 -           syslog(LOG_ERR, "Invalid PPPoE tag length (%u)", tagLen); 
    40 +           error("Invalid PPPoE tag length (%u)", tagLen); 
    41             return -1; 
    42         } 
    43         func(tagType, tagLen, curTag+TAG_HDR_SIZE, extra); 
    44 @@ -105,17 +101,17 @@ findTag(PPPoEPacket *packet, UINT16_t ty 
    45      UINT16_t tagType, tagLen; 
    46   
    47      if (packet->ver != 1) { 
    48 -       syslog(LOG_ERR, "Invalid PPPoE version (%d)", (int) packet->ver); 
    49 +       error("Invalid PPPoE version (%u)", packet->ver); 
    50         return NULL; 
    51      } 
    52      if (packet->type != 1) { 
    53 -       syslog(LOG_ERR, "Invalid PPPoE type (%d)", (int) packet->type); 
    54 +       error("Invalid PPPoE type (%u)", packet->type); 
    55         return NULL; 
    56      } 
    57   
    58      /* Do some sanity checks on packet */ 
    59      if (len > ETH_DATA_LEN - 6) { /* 6-byte overhead for PPPoE header */ 
    60 -       syslog(LOG_ERR, "Invalid PPPoE packet length (%u)", len); 
    61 +       error("Invalid PPPoE packet length (%u)", len); 
    62         return NULL; 
    63      } 
    64   
    65 @@ -131,7 +127,7 @@ findTag(PPPoEPacket *packet, UINT16_t ty 
    66             return NULL; 
    67         } 
    68         if ((curTag - packet->payload) + tagLen + TAG_HDR_SIZE > len) { 
    69 -           syslog(LOG_ERR, "Invalid PPPoE tag length (%u)", tagLen); 
    70 +           error("Invalid PPPoE tag length (%u)", tagLen); 
    71             return NULL; 
    72         } 
    73         if (tagType == type) { 
    74 @@ -143,6 +139,7 @@ findTag(PPPoEPacket *packet, UINT16_t ty 
    75      return NULL; 
    76  } 
    77   
    78 +#ifdef unused 
    79  /********************************************************************** 
    80  *%FUNCTION: printErr 
    81  *%ARGUMENTS: 
    82 @@ -158,6 +155,7 @@ printErr(char const *str) 
    83      fprintf(stderr, "pppoe: %s\n", str); 
    84      syslog(LOG_ERR, "%s", str); 
    85  } 
    86 +#endif 
    87   
    88   
    89  /********************************************************************** 
    90 @@ -172,7 +170,7 @@ strDup(char const *str) 
    91  { 
    92      char *copy = malloc(strlen(str)+1); 
    93      if (!copy) { 
    94 -       rp_fatal("strdup failed"); 
    95 +       fatal("strdup failed"); 
    96      } 
    97      strcpy(copy, str); 
    98      return copy; 
    99 @@ -467,9 +465,10 @@ sendPADT(PPPoEConnection *conn, char con 
    100         fprintf(conn->debugFile, "\n"); 
    101         fflush(conn->debugFile); 
    102      } 
    103 -    syslog(LOG_INFO,"Sent PADT"); 
    104 +    info("Sent PADT"); 
    105  } 
    106   
    107 +#ifdef unused 
    108  /********************************************************************** 
    109  *%FUNCTION: parseLogErrs 
    110  *%ARGUMENTS: 
    111 @@ -501,4 +500,5 @@ parseLogErrs(UINT16_t type, UINT16_t len 
    112         break; 
    113      } 
    114  } 
    115 +#endif 
    116   
    117 --- a/pppd/plugins/rp-pppoe/discovery.c 
    118 +++ b/pppd/plugins/rp-pppoe/discovery.c 
    119 @@ -13,10 +13,6 @@ static char const RCSID[] = 
    120   
    121  #include "pppoe.h" 
    122   
    123 -#ifdef HAVE_SYSLOG_H 
    124 -#include <syslog.h> 
    125 -#endif 
    126 - 
    127  #include <string.h> 
    128  #include <stdlib.h> 
    129  #include <errno.h> 
    130 @@ -167,24 +163,21 @@ parsePADOTags(UINT16_t type, UINT16_t le 
    131         if (conn->printACNames) { 
    132             printf("Got a Service-Name-Error tag: %.*s\n", (int) len, data); 
    133         } else { 
    134 -           syslog(LOG_ERR, "PADO: Service-Name-Error: %.*s", (int) len, data); 
    135 -           exit(1); 
    136 +           fatal("PADO: Service-Name-Error: %.*s", (int) len, data); 
    137         } 
    138         break; 
    139      case TAG_AC_SYSTEM_ERROR: 
    140         if (conn->printACNames) { 
    141             printf("Got a System-Error tag: %.*s\n", (int) len, data); 
    142         } else { 
    143 -           syslog(LOG_ERR, "PADO: System-Error: %.*s", (int) len, data); 
    144 -           exit(1); 
    145 +           fatal("PADO: System-Error: %.*s", (int) len, data); 
    146         } 
    147         break; 
    148      case TAG_GENERIC_ERROR: 
    149         if (conn->printACNames) { 
    150             printf("Got a Generic-Error tag: %.*s\n", (int) len, data); 
    151         } else { 
    152 -           syslog(LOG_ERR, "PADO: Generic-Error: %.*s", (int) len, data); 
    153 -           exit(1); 
    154 +           fatal("PADO: Generic-Error: %.*s", (int) len, data); 
    155         } 
    156         break; 
    157      } 
    158 @@ -209,20 +202,14 @@ parsePADSTags(UINT16_t type, UINT16_t le 
    159      PPPoEConnection *conn = (PPPoEConnection *) extra; 
    160      switch(type) { 
    161      case TAG_SERVICE_NAME: 
    162 -       syslog(LOG_DEBUG, "PADS: Service-Name: '%.*s'", (int) len, data); 
    163 +       dbglog("PADS: Service-Name: '%.*s'", (int) len, data); 
    164         break; 
    165      case TAG_SERVICE_NAME_ERROR: 
    166 -       syslog(LOG_ERR, "PADS: Service-Name-Error: %.*s", (int) len, data); 
    167 -       fprintf(stderr, "PADS: Service-Name-Error: %.*s\n", (int) len, data); 
    168 -       exit(1); 
    169 +       fatal("PADS: Service-Name-Error: %.*s", (int) len, data); 
    170      case TAG_AC_SYSTEM_ERROR: 
    171 -       syslog(LOG_ERR, "PADS: System-Error: %.*s", (int) len, data); 
    172 -       fprintf(stderr, "PADS: System-Error: %.*s\n", (int) len, data); 
    173 -       exit(1); 
    174 +       fatal("PADS: System-Error: %.*s", (int) len, data); 
    175      case TAG_GENERIC_ERROR: 
    176 -       syslog(LOG_ERR, "PADS: Generic-Error: %.*s", (int) len, data); 
    177 -       fprintf(stderr, "PADS: Generic-Error: %.*s\n", (int) len, data); 
    178 -       exit(1); 
    179 +       fatal("PADS: Generic-Error: %.*s", (int) len, data); 
    180      case TAG_RELAY_SESSION_ID: 
    181         conn->relayId.type = htons(type); 
    182         conn->relayId.length = htons(len); 
    183 @@ -336,7 +323,7 @@ waitForPADO(PPPoEConnection *conn, int t 
    184                 if (r >= 0 || errno != EINTR) break; 
    185             } 
    186             if (r < 0) { 
    187 -               fatalSys("select (waitForPADO)"); 
    188 +               fatal("waitForPADO: select: %m"); 
    189             } 
    190             if (r == 0) return;        /* Timed out */ 
    191         } 
    192 @@ -346,8 +333,7 @@ waitForPADO(PPPoEConnection *conn, int t 
    193   
    194         /* Check length */ 
    195         if (ntohs(packet.length) + HDR_SIZE > len) { 
    196 -           syslog(LOG_ERR, "Bogus PPPoE length field (%u)", 
    197 -                  (unsigned int) ntohs(packet.length)); 
    198 +           error("Bogus PPPoE length field (%u)", ntohs(packet.length)); 
    199             continue; 
    200         } 
    201   
    202 @@ -366,16 +352,16 @@ waitForPADO(PPPoEConnection *conn, int t 
    203   
    204         if (packet.code == CODE_PADO) { 
    205             if (BROADCAST(packet.ethHdr.h_source)) { 
    206 -               printErr("Ignoring PADO packet from broadcast MAC address"); 
    207 +               error("Ignoring PADO packet from broadcast MAC address"); 
    208                 continue; 
    209             } 
    210             parsePacket(&packet, parsePADOTags, &pc); 
    211             if (!pc.seenACName) { 
    212 -               printErr("Ignoring PADO packet with no AC-Name tag"); 
    213 +               error("Ignoring PADO packet with no AC-Name tag"); 
    214                 continue; 
    215             } 
    216             if (!pc.seenServiceName) { 
    217 -               printErr("Ignoring PADO packet with no Service-Name tag"); 
    218 +               error("Ignoring PADO packet with no Service-Name tag"); 
    219                 continue; 
    220             } 
    221             conn->numPADOs++; 
    222 @@ -513,7 +499,7 @@ waitForPADS(PPPoEConnection *conn, int t 
    223                 if (r >= 0 || errno != EINTR) break; 
    224             } 
    225             if (r < 0) { 
    226 -               fatalSys("select (waitForPADS)"); 
    227 +               fatal("waitForPADS: select: %m"); 
    228             } 
    229             if (r == 0) return; 
    230         } 
    231 @@ -523,8 +509,7 @@ waitForPADS(PPPoEConnection *conn, int t 
    232   
    233         /* Check length */ 
    234         if (ntohs(packet.length) + HDR_SIZE > len) { 
    235 -           syslog(LOG_ERR, "Bogus PPPoE length field (%u)", 
    236 -                  (unsigned int) ntohs(packet.length)); 
    237 +           error("Bogus PPPoE length field (%u)", ntohs(packet.length)); 
    238             continue; 
    239         } 
    240   
    241 @@ -556,11 +541,12 @@ waitForPADS(PPPoEConnection *conn, int t 
    242      /* Don't bother with ntohs; we'll just end up converting it back... */ 
    243      conn->session = packet.session; 
    244   
    245 -    syslog(LOG_INFO, "PPP session is %d", (int) ntohs(conn->session)); 
    246 +    info("PPP session is %d", ntohs(conn->session)); 
    247   
    248      /* RFC 2516 says session id MUST NOT be zero or 0xFFFF */ 
    249      if (ntohs(conn->session) == 0 || ntohs(conn->session) == 0xFFFF) { 
    250 -       syslog(LOG_ERR, "Access concentrator used a session value of %x -- the AC is violating RFC 2516", (unsigned int) ntohs(conn->session)); 
    251 +       error("Access concentrator used a session value of 0x%x" 
    252 +           " -- the AC is violating RFC 2516", ntohs(conn->session)); 
    253      } 
    254  } 
    255   
    256 @@ -620,7 +606,7 @@ discovery(PPPoEConnection *conn) 
    257   
    258      /* If we're only printing access concentrator names, we're done */ 
    259      if (conn->printACNames) { 
    260 -       die(0); 
    261 +       exit(0); 
    262      } 
    263   
    264      timeout = PADI_TIMEOUT; 
    265 --- a/pppd/plugins/rp-pppoe/if.c 
    266 +++ b/pppd/plugins/rp-pppoe/if.c 
    267 @@ -40,10 +40,6 @@ static char const RCSID[] = 
    268  #include <sys/ioctl.h> 
    269  #endif 
    270   
    271 -#ifdef HAVE_SYSLOG_H 
    272 -#include <syslog.h> 
    273 -#endif 
    274 - 
    275  #include <errno.h> 
    276  #include <stdlib.h> 
    277  #include <string.h> 
    278 @@ -127,7 +123,7 @@ etherType(PPPoEPacket *packet) 
    279  { 
    280      UINT16_t type = (UINT16_t) ntohs(packet->ethHdr.h_proto); 
    281      if (type != Eth_PPPOE_Discovery && type != Eth_PPPOE_Session) { 
    282 -       syslog(LOG_ERR, "Invalid ether type 0x%x", type); 
    283 +       error("Invalid ethernet type 0x%x", type); 
    284      } 
    285      return type; 
    286  } 
    287 @@ -156,7 +152,7 @@ getHWaddr(int sock, char const *ifname,  
    288      ifc.ifc_len = sizeof(inbuf); 
    289      ifc.ifc_buf = inbuf; 
    290      if (ioctl(sock, SIOCGIFCONF, &ifc) < 0) { 
    291 -       fatalSys("SIOCGIFCONF"); 
    292 +       fatal("SIOCGIFCONF: %m"); 
    293      } 
    294      ifr = ifc.ifc_req; 
    295      ifreq.ifr_name[0] = '\0'; 
    296 @@ -172,9 +168,7 @@ getHWaddr(int sock, char const *ifname,  
    297                 (sdl->sdl_alen == ETH_ALEN) && 
    298                 !strncmp(ifname, ifr->ifr_name, sizeof(ifr->ifr_name))) { 
    299                 if (found) { 
    300 -                   char buffer[256]; 
    301 -                   sprintf(buffer, "interface %.16s has more than one ethernet address", ifname); 
    302 -                   rp_fatal(buffer); 
    303 +                   fatal("interface %s has more than one ethernet address", ifname); 
    304                 } else { 
    305                     found = 1; 
    306                     memcpy(hwaddr, LLADDR(sdl), ETH_ALEN); 
    307 @@ -183,9 +177,7 @@ getHWaddr(int sock, char const *ifname,  
    308         } 
    309      } 
    310      if (!found) { 
    311 -       char buffer[256]; 
    312 -        sprintf(buffer, "interface %.16s has no ethernet address", ifname); 
    313 -       rp_fatal(buffer); 
    314 +        fatal("interface %s has no ethernet address", ifname); 
    315      } 
    316  } 
    317   
    318 @@ -252,7 +244,7 @@ initFilter(int fd, UINT16_t type, unsign 
    319         
    320        /* Apply the filter */ 
    321        if (ioctl(fd, BIOCSETF, &bpfProgram) < 0) { 
    322 -       fatalSys("ioctl(BIOCSETF)"); 
    323 +       fatal("ioctl(BIOCSETF): %m"); 
    324        } 
    325      } 
    326  } 
    327 @@ -298,42 +290,36 @@ openInterface(char const *ifname, UINT16 
    328      if (fd < 0) { 
    329         switch (errno) { 
    330         case EACCES:            /* permission denied */ 
    331 -           { 
    332 -               char buffer[256]; 
    333 -               sprintf(buffer, "Cannot open %.32s -- pppoe must be run as root.", bpfName); 
    334 -               rp_fatal(buffer); 
    335 -           } 
    336 +           fatal("Cannot open %s -- pppoe must be run as root.", bpfName); 
    337             break; 
    338         case EBUSY: 
    339         case ENOENT:            /* no such file */ 
    340             if (i == 0) { 
    341 -               rp_fatal("No /dev/bpf* devices (check your kernel configuration for BPF support)"); 
    342 +               fatal("No /dev/bpf* devices (check your kernel configuration for BPF support)"); 
    343             } else { 
    344 -               rp_fatal("All /dev/bpf* devices are in use"); 
    345 +               fatal("All /dev/bpf* devices are in use"); 
    346             } 
    347             break; 
    348         } 
    349 -       fatalSys(bpfName); 
    350 +       fatal("%s: %m", bpfName); 
    351      } 
    352   
    353      if ((sock = socket(AF_LOCAL, SOCK_DGRAM, 0)) < 0) { 
    354 -       fatalSys("socket"); 
    355 +       fatal("socket: %m"); 
    356      } 
    357   
    358      /* Check that the interface is up */ 
    359      strncpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name)); 
    360      if (ioctl(sock, SIOCGIFFLAGS, &ifr) < 0) { 
    361 -       fatalSys("ioctl(SIOCGIFFLAGS)"); 
    362 +       fatal("ioctl(SIOCGIFFLAGS): %m"); 
    363      } 
    364      if ((ifr.ifr_flags & IFF_UP) == 0) { 
    365 -       char buffer[256]; 
    366 -       sprintf(buffer, "Interface %.16s is not up\n", ifname); 
    367 -       rp_fatal(buffer); 
    368 +       fatal("Interface %s is not up", ifname); 
    369      } 
    370   
    371      /* Fill in hardware address and initialize the packet filter rules */ 
    372      if (hwaddr == NULL) { 
    373 -       rp_fatal("openInterface: no hwaddr arg."); 
    374 +       fatal("openInterface: no hwaddr arg."); 
    375      } 
    376      getHWaddr(sock, ifname, hwaddr); 
    377      initFilter(fd, type, hwaddr); 
    378 @@ -342,58 +328,52 @@ openInterface(char const *ifname, UINT16 
    379  #if !defined(__OpenBSD__) 
    380      strncpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name)); 
    381      if (ioctl(sock, SIOCGIFMTU, &ifr) < 0) { 
    382 -       fatalSys("ioctl(SIOCGIFMTU)"); 
    383 +       fatal("ioctl(SIOCGIFMTU): %m"); 
    384      } 
    385      if (ifr.ifr_mtu < ETH_DATA_LEN) { 
    386 -       char buffer[256]; 
    387 -       sprintf(buffer, "Interface %.16s has MTU of %d -- should be %d.  You may have serious connection problems.", 
    388 +       error("Interface %s has MTU of %d -- should be %d." 
    389 +               "  You may have serious connection problems.", 
    390                 ifname, ifr.ifr_mtu, ETH_DATA_LEN); 
    391 -       printErr(buffer); 
    392      } 
    393  #endif 
    394   
    395      /* done with the socket */ 
    396      if (close(sock) < 0) { 
    397 -       fatalSys("close"); 
    398 +       fatal("close: %m"); 
    399      } 
    400   
    401      /* Check the BPF version number */ 
    402      if (ioctl(fd, BIOCVERSION, &bpf_ver) < 0) { 
    403 -       fatalSys("ioctl(BIOCVERSION)"); 
    404 +       fatal("ioctl(BIOCVERSION): %m"); 
    405      } 
    406      if ((bpf_ver.bv_major != BPF_MAJOR_VERSION) || 
    407          (bpf_ver.bv_minor < BPF_MINOR_VERSION)) { 
    408 -       char buffer[256]; 
    409 -       sprintf(buffer, "Unsupported BPF version: %d.%d (kernel: %d.%d)",  
    410 +       fatal("Unsupported BPF version: %d.%d (kernel: %d.%d)", 
    411                         BPF_MAJOR_VERSION, BPF_MINOR_VERSION, 
    412                         bpf_ver.bv_major, bpf_ver.bv_minor); 
    413 -       rp_fatal(buffer); 
    414      } 
    415   
    416      /* allocate a receive packet buffer */ 
    417      if (ioctl(fd, BIOCGBLEN, &bpfLength) < 0) { 
    418 -       fatalSys("ioctl(BIOCGBLEN)"); 
    419 +       fatal("ioctl(BIOCGBLEN): %m"); 
    420      } 
    421      if (!(bpfBuffer = (unsigned char *) malloc(bpfLength))) { 
    422 -       rp_fatal("malloc"); 
    423 +       fatal("malloc"); 
    424      } 
    425   
    426      /* reads should return as soon as there is a packet available */ 
    427      optval = 1; 
    428      if (ioctl(fd, BIOCIMMEDIATE, &optval) < 0) { 
    429 -       fatalSys("ioctl(BIOCIMMEDIATE)"); 
    430 +       fatal("ioctl(BIOCIMMEDIATE): %m"); 
    431      } 
    432   
    433      /* Bind the interface to the filter */ 
    434      strncpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name)); 
    435      if (ioctl(fd, BIOCSETIF, &ifr) < 0) { 
    436 -       char buffer[256]; 
    437 -       sprintf(buffer, "ioctl(BIOCSETIF) can't select interface %.16s", 
    438 -               ifname); 
    439 -       rp_fatal(buffer); 
    440 +       fatal("ioctl(BIOCSETIF) can't select interface %s: %m", ifname); 
    441      } 
    442   
    443 -    syslog(LOG_INFO, "Interface=%.16s HWaddr=%02X:%02X:%02X:%02X:%02X:%02X Device=%.32s Buffer size=%d", 
    444 +    info("Interface=%s HWaddr=%02X:%02X:%02X:%02X:%02X:%02X Device=%s Buffer size=%d", 
    445            ifname,  
    446            hwaddr[0], hwaddr[1], hwaddr[2], 
    447            hwaddr[3], hwaddr[4], hwaddr[5], 
    448 @@ -442,48 +422,41 @@ openInterface(char const *ifname, UINT16 
    449      if ((fd = socket(domain, stype, htons(type))) < 0) { 
    450         /* Give a more helpful message for the common error case */ 
    451         if (errno == EPERM) { 
    452 -           rp_fatal("Cannot create raw socket -- pppoe must be run as root."); 
    453 +           fatal("Cannot create raw socket -- pppoe must be run as root."); 
    454         } 
    455 -       fatalSys("socket"); 
    456 +       fatal("cannot create the raw socket: %m"); 
    457      } 
    458   
    459      if (setsockopt(fd, SOL_SOCKET, SO_BROADCAST, &optval, sizeof(optval)) < 0) { 
    460 -       fatalSys("setsockopt"); 
    461 +       fatal("setsockopt(SOL_SOCKET, SO_BROADCAST): %m"); 
    462      } 
    463   
    464      /* Fill in hardware address */ 
    465      if (hwaddr) { 
    466         strncpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name)); 
    467 -       if (ioctl(fd, SIOCGIFHWADDR, &ifr) < 0) { 
    468 -           fatalSys("ioctl(SIOCGIFHWADDR)"); 
    469 -       } 
    470 +       if (ioctl(fd, SIOCGIFHWADDR, &ifr) < 0) 
    471 +           fatal("ioctl(SIOCGIFHWADDR): %m"); 
    472         memcpy(hwaddr, ifr.ifr_hwaddr.sa_data, ETH_ALEN); 
    473  #ifdef ARPHRD_ETHER 
    474         if (ifr.ifr_hwaddr.sa_family != ARPHRD_ETHER) { 
    475 -           char buffer[256]; 
    476 -           sprintf(buffer, "Interface %.16s is not Ethernet", ifname); 
    477 -           rp_fatal(buffer); 
    478 +           fatal("Interface %s is not Ethernet", ifname); 
    479         } 
    480  #endif 
    481         if (NOT_UNICAST(hwaddr)) { 
    482 -           char buffer[256]; 
    483 -           sprintf(buffer, 
    484 -                   "Interface %.16s has broadcast/multicast MAC address??", 
    485 +           fatal("Interface %s has broadcast/multicast MAC address", 
    486                     ifname); 
    487 -           rp_fatal(buffer); 
    488         } 
    489      } 
    490   
    491      /* Sanity check on MTU */ 
    492      strncpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name)); 
    493      if (ioctl(fd, SIOCGIFMTU, &ifr) < 0) { 
    494 -       fatalSys("ioctl(SIOCGIFMTU)"); 
    495 +       fatal("ioctl(SIOCGIFMTU): %m"); 
    496      } 
    497      if (ifr.ifr_mtu < ETH_DATA_LEN) { 
    498 -       char buffer[256]; 
    499 -       sprintf(buffer, "Interface %.16s has MTU of %d -- should be %d.  You may have serious connection problems.", 
    500 +       error("Interface %s has MTU of %d -- should be %d." 
    501 +               "  You may have serious connection problems.", 
    502                 ifname, ifr.ifr_mtu, ETH_DATA_LEN); 
    503 -       printErr(buffer); 
    504      } 
    505   
    506  #ifdef HAVE_STRUCT_SOCKADDR_LL 
    507 @@ -493,7 +466,7 @@ openInterface(char const *ifname, UINT16 
    508   
    509      strncpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name)); 
    510      if (ioctl(fd, SIOCGIFINDEX, &ifr) < 0) { 
    511 -       fatalSys("ioctl(SIOCFIGINDEX): Could not get interface index"); 
    512 +       fatal("ioctl(SIOCFIGINDEX): Could not get interface index: %m"); 
    513      } 
    514      sa.sll_ifindex = ifr.ifr_ifindex; 
    515   
    516 @@ -503,7 +476,7 @@ openInterface(char const *ifname, UINT16 
    517   
    518      /* We're only interested in packets on specified interface */ 
    519      if (bind(fd, (struct sockaddr *) &sa, sizeof(sa)) < 0) { 
    520 -       fatalSys("bind"); 
    521 +       fatal("bind: %m"); 
    522      } 
    523   
    524      return fd; 
    525 @@ -527,13 +500,11 @@ sendPacket(PPPoEConnection *conn, int so 
    526  { 
    527  #if defined(USE_BPF) 
    528      if (write(sock, pkt, size) < 0) { 
    529 -       sysErr("write (sendPacket)"); 
    530 -       return -1; 
    531 +       fatal("sendPacket: write: %m"); 
    532      } 
    533  #elif defined(HAVE_STRUCT_SOCKADDR_LL) 
    534      if (send(sock, pkt, size, 0) < 0) { 
    535 -       sysErr("send (sendPacket)"); 
    536 -       return -1; 
    537 +       fatal("sendPacket: send: %m"); 
    538      } 
    539  #else 
    540  #ifdef USE_DLPI 
    541 @@ -577,12 +548,11 @@ sendPacket(PPPoEConnection *conn, int so 
    542      struct sockaddr sa; 
    543   
    544      if (!conn) { 
    545 -       rp_fatal("relay and server not supported on Linux 2.0 kernels"); 
    546 +       fatal("relay and server not supported on Linux 2.0 kernels"); 
    547      } 
    548      strcpy(sa.sa_data, conn->ifName); 
    549      if (sendto(sock, pkt, size, 0, &sa, sizeof(sa)) < 0) { 
    550 -       sysErr("sendto (sendPacket)"); 
    551 -       return -1; 
    552 +       fatal("sendPacket: sendto: %m"); 
    553      } 
    554  #endif 
    555  #endif 
    556 @@ -632,26 +602,24 @@ receivePacket(int sock, PPPoEPacket *pkt 
    557      if (bpfSize <= 0) { 
    558         bpfOffset = 0; 
    559         if ((bpfSize = read(sock, bpfBuffer, bpfLength)) < 0) { 
    560 -           sysErr("read (receivePacket)"); 
    561 -           return -1; 
    562 +           fatal("receivePacket: read: %m"); 
    563         } 
    564      } 
    565      if (bpfSize < sizeof(hdr)) { 
    566 -       syslog(LOG_ERR, "Truncated bpf packet header: len=%d", bpfSize); 
    567 +       error("Truncated bpf packet header: len=%d", bpfSize); 
    568         clearPacketHeader(pkt);         /* resets bpfSize and bpfOffset */ 
    569         return 0; 
    570      } 
    571      memcpy(&hdr, bpfBuffer + bpfOffset, sizeof(hdr)); 
    572      if (hdr.bh_caplen != hdr.bh_datalen) { 
    573 -       syslog(LOG_ERR, "Truncated bpf packet: caplen=%d, datalen=%d", 
    574 +       error("Truncated bpf packet: caplen=%d, datalen=%d", 
    575                hdr.bh_caplen, hdr.bh_datalen); 
    576         clearPacketHeader(pkt);         /* resets bpfSize and bpfOffset */ 
    577         return 0; 
    578      } 
    579      seglen = hdr.bh_hdrlen + hdr.bh_caplen; 
    580      if (seglen > bpfSize) { 
    581 -       syslog(LOG_ERR, "Truncated bpf packet: seglen=%d, bpfSize=%d", 
    582 -              seglen, bpfSize); 
    583 +       error("Truncated bpf packet: seglen=%d, bpfSize=%d", seglen, bpfSize); 
    584         clearPacketHeader(pkt);         /* resets bpfSize and bpfOffset */ 
    585         return 0; 
    586      } 
    587 @@ -676,16 +644,14 @@ receivePacket(int sock, PPPoEPacket *pkt 
    588         data.len = 0;  
    589          
    590         if ((retval = getmsg(sock, NULL, &data, &flags)) < 0) { 
    591 -           sysErr("read (receivePacket)"); 
    592 -           return -1; 
    593 +           fatal("receivePacket: getmsg: %m"); 
    594         } 
    595   
    596         *size = data.len;  
    597   
    598  #else 
    599      if ((*size = recv(sock, pkt, sizeof(PPPoEPacket), 0)) < 0) { 
    600 -       sysErr("recv (receivePacket)"); 
    601 -       return -1; 
    602 +       fatal("receivePacket: recv: %m"); 
    603      } 
    604  #endif 
    605  #endif 
    606 @@ -716,7 +682,7 @@ openInterface(char const *ifname, UINT16 
    607      int ppa;  
    608   
    609      if(strlen(ifname) > PATH_MAX) { 
    610 -       rp_fatal("socket: string to long");  
    611 +       fatal("openInterface: interface name too long"); 
    612      } 
    613   
    614      ppa = atoi(&ifname[strlen(ifname)-1]); 
    615 @@ -729,9 +695,9 @@ openInterface(char const *ifname, UINT16 
    616      if (( fd = open(base_dev, O_RDWR)) < 0) { 
    617         /* Give a more helpful message for the common error case */ 
    618         if (errno == EPERM) { 
    619 -           rp_fatal("Cannot create raw socket -- pppoe must be run as root."); 
    620 +           fatal("Cannot create raw socket -- pppoe must be run as root."); 
    621         } 
    622 -       fatalSys("socket"); 
    623 +       fatal("open(%s): %m", base_dev); 
    624      } 
    625   
    626  /* rearranged order of DLPI code - delphys 20010803 */ 
    627 @@ -747,17 +713,18 @@ openInterface(char const *ifname, UINT16 
    628      dl_abssaplen = ABS(dlp->info_ack.dl_sap_length); 
    629      dl_saplen = dlp->info_ack.dl_sap_length; 
    630      if (ETHERADDRL != (dlp->info_ack.dl_addr_length - dl_abssaplen)) 
    631 -       fatalSys("invalid destination physical address length"); 
    632 +       fatal("invalid destination physical address length"); 
    633      dl_addrlen = dl_abssaplen + ETHERADDRL; 
    634   
    635  /* ethernet address retrieved as part of DL_INFO_ACK - delphys 20010803 */ 
    636      memcpy(hwaddr, (u_char*)((char*)(dlp) + (int)(dlp->info_ack.dl_addr_offset)), ETHERADDRL); 
    637   
    638      if ( strioctl(fd, DLIOCRAW, -1, 0, NULL) < 0 ) {  
    639 -       fatalSys("DLIOCRAW");  
    640 +       fatal("DLIOCRAW: %m"); 
    641      } 
    642   
    643 -    if (ioctl(fd, I_FLUSH, FLUSHR) < 0) fatalSys("I_FLUSH"); 
    644 +    if (ioctl(fd, I_FLUSH, FLUSHR) < 0) 
    645 +       fatal("I_FLUSH: %m"); 
    646   
    647      return fd; 
    648  } 
    649 @@ -780,7 +747,7 @@ void dlpromisconreq(int fd, u_long level 
    650          flags = 0; 
    651   
    652          if (putmsg(fd, &ctl, (struct strbuf*) NULL, flags) < 0) 
    653 -                fatalSys("dlpromiscon:  putmsg"); 
    654 +                fatal("dlpromiscon: putmsg: %m"); 
    655   
    656  } 
    657   
    658 @@ -799,7 +766,7 @@ void dlinforeq(int fd) 
    659          flags = RS_HIPRI; 
    660   
    661          if (putmsg(fd, &ctl, (struct strbuf*) NULL, flags) < 0) 
    662 -                fatalSys("dlinforeq:  putmsg"); 
    663 +                fatal("dlinforeq: putmsg: %m"); 
    664  } 
    665   
    666  void dlunitdatareq(int fd, u_char *addrp, int addrlen, u_long minpri, u_long maxpri, u_char *datap, int datalen) 
    667 @@ -827,7 +794,7 @@ void dlunitdatareq(int fd, u_char *addrp 
    668          data.buf = (char *) datap; 
    669   
    670          if (putmsg(fd, &ctl, &data, 0) < 0) 
    671 -                fatalSys("dlunitdatareq:  putmsg"); 
    672 +                fatal("dlunitdatareq: putmsg: %m"); 
    673  } 
    674   
    675  void dlinfoack(int fd, char *bufp) 
    676 @@ -847,18 +814,14 @@ void dlinfoack(int fd, char *bufp) 
    677          expecting(DL_INFO_ACK, dlp); 
    678   
    679          if (ctl.len < sizeof (dl_info_ack_t)) { 
    680 -               char buffer[256]; 
    681 -               sprintf(buffer, "dlinfoack:  response ctl.len too short:  %d", ctl.len);  
    682 -                rp_fatal(buffer);  
    683 +               fatal("dlinfoack: response ctl.len too short: %d", ctl.len); 
    684         } 
    685   
    686          if (flags != RS_HIPRI) 
    687 -                rp_fatal("dlinfoack:  DL_INFO_ACK was not M_PCPROTO"); 
    688 +                fatal("dlinfoack: DL_INFO_ACK was not M_PCPROTO"); 
    689   
    690          if (ctl.len < sizeof (dl_info_ack_t)) { 
    691 -               char buffer[256]; 
    692 -               sprintf(buffer, "dlinfoack:  short response ctl.len:  %d", ctl.len);  
    693 -               rp_fatal(buffer);  
    694 +               fatal("dlinfoack: short response ctl.len: %d", ctl.len); 
    695         } 
    696  } 
    697   
    698 @@ -882,7 +845,7 @@ void dlbindreq(int fd, u_long sap, u_lon 
    699          flags = 0; 
    700   
    701          if (putmsg(fd, &ctl, (struct strbuf*) NULL, flags) < 0) 
    702 -                fatalSys("dlbindreq:  putmsg"); 
    703 +                fatal("dlbindreq: putmsg: %m"); 
    704  } 
    705   
    706  void dlattachreq(int fd, u_long ppa) 
    707 @@ -901,7 +864,7 @@ void dlattachreq(int fd, u_long ppa) 
    708          flags = 0; 
    709   
    710          if (putmsg(fd, &ctl, (struct strbuf*) NULL, flags) < 0) 
    711 -                fatalSys("dlattachreq:  putmsg"); 
    712 +                fatal("dlattachreq: putmsg: %m"); 
    713  } 
    714   
    715  void dlokack(int fd, char *bufp) 
    716 @@ -921,18 +884,14 @@ void dlokack(int fd, char *bufp) 
    717          expecting(DL_OK_ACK, dlp); 
    718   
    719          if (ctl.len < sizeof (dl_ok_ack_t)) {  
    720 -               char buffer[256]; 
    721 -               sprintf(buffer, "dlokack:  response ctl.len too short:  %d", ctl.len); 
    722 -               rp_fatal(buffer);  
    723 +               fatal("dlokack: response ctl.len too short: %d", ctl.len); 
    724         } 
    725   
    726          if (flags != RS_HIPRI) 
    727 -                rp_fatal("dlokack:  DL_OK_ACK was not M_PCPROTO"); 
    728 +                fatal("dlokack: DL_OK_ACK was not M_PCPROTO"); 
    729   
    730          if (ctl.len < sizeof (dl_ok_ack_t)) { 
    731 -               char buffer[256];  
    732 -               sprintf(buffer, "dlokack:  short response ctl.len:  %d", ctl.len); 
    733 -               rp_fatal(buffer);  
    734 +               fatal("dlokack: short response ctl.len: %d", ctl.len); 
    735         } 
    736  } 
    737   
    738 @@ -953,12 +912,10 @@ void dlbindack(int fd, char *bufp) 
    739          expecting(DL_BIND_ACK, dlp); 
    740   
    741          if (flags != RS_HIPRI) 
    742 -                rp_fatal("dlbindack:  DL_OK_ACK was not M_PCPROTO"); 
    743 +                fatal("dlbindack: DL_OK_ACK was not M_PCPROTO"); 
    744   
    745          if (ctl.len < sizeof (dl_bind_ack_t)) { 
    746 -               char buffer[256]; 
    747 -               sprintf(buffer, "dlbindack:  short response ctl.len:  %d", ctl.len); 
    748 -               rp_fatal(buffer);  
    749 +               fatal("dlbindack: short response ctl.len: %d", ctl.len); 
    750         } 
    751  } 
    752   
    753 @@ -989,8 +946,7 @@ void strgetmsg(int fd, struct strbuf *ct 
    754           */ 
    755          (void) signal(SIGALRM, sigalrm); 
    756          if (alarm(MAXWAIT) < 0) { 
    757 -                (void) sprintf(errmsg, "%s:  alarm", caller); 
    758 -                fatalSys(errmsg); 
    759 +                fatal("%s: alarm", caller); 
    760          } 
    761   
    762          /* 
    763 @@ -998,61 +954,48 @@ void strgetmsg(int fd, struct strbuf *ct 
    764           */ 
    765          *flagsp = 0; 
    766          if ((rc = getmsg(fd, ctlp, datap, flagsp)) < 0) { 
    767 -                (void) sprintf(errmsg, "%s:  getmsg", caller); 
    768 -                fatalSys(errmsg); 
    769 +                fatal(errmsg, "%s: getmsg: %m", caller); 
    770          } 
    771   
    772          /* 
    773           * Stop timer. 
    774           */ 
    775          if (alarm(0) < 0) { 
    776 -                (void) sprintf(errmsg, "%s:  alarm", caller); 
    777 -                fatalSys(errmsg); 
    778 +                fatal("%s: alarm", caller); 
    779          } 
    780   
    781          /* 
    782           * Check for MOREDATA and/or MORECTL. 
    783           */ 
    784          if ((rc & (MORECTL | MOREDATA)) == (MORECTL | MOREDATA)) { 
    785 -               char buffer[256];  
    786 -               sprintf(buffer, "%s:  MORECTL|MOREDATA", caller); 
    787 -               rp_fatal(buffer); 
    788 +               fatal("%s: MORECTL|MOREDATA", caller); 
    789         } 
    790                   
    791          if (rc & MORECTL) { 
    792 -               char buffer[256]; 
    793 -               sprintf(buffer, "%s:  MORECTL", caller); 
    794 -               rp_fatal(buffer);  
    795 +               fatal("%s: MORECTL", caller); 
    796         } 
    797           
    798          if (rc & MOREDATA) { 
    799 -               char buffer[256];  
    800 -               sprintf(buffer, "%s:  MOREDATA", caller); 
    801 -               rp_fatal(buffer); 
    802 +               fatal("%s: MOREDATA", caller); 
    803         } 
    804   
    805          /* 
    806           * Check for at least sizeof (long) control data portion. 
    807           */ 
    808          if (ctlp->len < sizeof (long)) { 
    809 -               char buffer[256];  
    810 -               sprintf(buffer, "getmsg:  control portion length < sizeof (long):  %d", ctlp->len); 
    811 -               rp_fatal(buffer);  
    812 +               fatal("getmsg: control portion length < sizeof (long): %d", ctlp->len); 
    813         } 
    814  } 
    815   
    816  void sigalrm(int sig) 
    817  { 
    818 -        (void) rp_fatal("sigalrm:  TIMEOUT"); 
    819 +        fatal("sigalrm: TIMEOUT"); 
    820  } 
    821   
    822  void expecting(int prim, union DL_primitives *dlp) 
    823  { 
    824          if (dlp->dl_primitive != (u_long)prim) { 
    825 -               char buffer[256];  
    826 -               sprintf(buffer, "expected %s got %s", dlprim(prim), dlprim(dlp->dl_primitive)); 
    827 -               rp_fatal(buffer);  
    828 -               exit(1);  
    829 +               fatal("expected %s got %s", dlprim(prim), dlprim(dlp->dl_primitive)); 
    830         } 
    831  } 
    832   
    833 --- a/pppd/plugins/rp-pppoe/Makefile.linux 
    834 +++ b/pppd/plugins/rp-pppoe/Makefile.linux 
    835 @@ -28,8 +28,8 @@ COPTS=-O2 -g 
    836  CFLAGS=$(COPTS) -I../../../include/linux 
    837  all: rp-pppoe.so pppoe-discovery 
    838   
    839 -pppoe-discovery: libplugin.a pppoe-discovery.o 
    840 -       $(CC) -o pppoe-discovery pppoe-discovery.o libplugin.a 
    841 +pppoe-discovery: pppoe-discovery.o utils.o libplugin.a 
    842 +       $(CC) -o pppoe-discovery pppoe-discovery.o utils.o libplugin.a 
    843   
    844  pppoe-discovery.o: pppoe-discovery.c 
    845         $(CC) $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o pppoe-discovery.o pppoe-discovery.c 
    846 --- a/pppd/plugins/rp-pppoe/plugin.c 
    847 +++ b/pppd/plugins/rp-pppoe/plugin.c 
    848 @@ -35,7 +35,6 @@ static char const RCSID[] = 
    849  #include "pppd/pathnames.h" 
    850   
    851  #include <linux/types.h> 
    852 -#include <syslog.h> 
    853  #include <sys/ioctl.h> 
    854  #include <sys/types.h> 
    855  #include <sys/socket.h> 
    856 @@ -173,10 +172,8 @@ PPPOEConnectDevice(void) 
    857             (unsigned) conn->peerEth[5]); 
    858   
    859      if (connect(conn->sessionSocket, (struct sockaddr *) &sp, 
    860 -               sizeof(struct sockaddr_pppox)) < 0) { 
    861 +               sizeof(struct sockaddr_pppox)) < 0) 
    862         fatal("Failed to connect PPPoE socket: %d %m", errno); 
    863 -       return -1; 
    864 -    } 
    865   
    866      return conn->sessionSocket; 
    867  } 
    868 @@ -320,11 +317,9 @@ plugin_init(void) 
    869      } 
    870   
    871      add_options(Options); 
    872 - 
    873 -    info("RP-PPPoE plugin version %s compiled against pppd %s", 
    874 -        RP_VERSION, VERSION); 
    875  } 
    876   
    877 +#ifdef unused 
    878  /********************************************************************** 
    879  *%FUNCTION: fatalSys 
    880  *%ARGUMENTS: 
    881 @@ -378,6 +373,7 @@ sysErr(char const *str) 
    882  { 
    883      rp_fatal(str); 
    884  } 
    885 +#endif 
    886   
    887  void pppoe_check_options(void) 
    888  { 
    889 --- a/pppd/plugins/rp-pppoe/pppoe-discovery.c 
    890 +++ b/pppd/plugins/rp-pppoe/pppoe-discovery.c 
    891 @@ -17,14 +17,8 @@ 
    892   
    893  #include "pppoe.h" 
    894   
    895 -char *xstrdup(const char *s); 
    896  void usage(void); 
    897   
    898 -void die(int status) 
    899 -{ 
    900 -       exit(status); 
    901 -} 
    902 - 
    903  int main(int argc, char *argv[]) 
    904  { 
    905      int opt; 
    906 @@ -32,17 +26,17 @@ int main(int argc, char *argv[]) 
    907   
    908      conn = malloc(sizeof(PPPoEConnection)); 
    909      if (!conn) 
    910 -       fatalSys("malloc"); 
    911 +       fatal("malloc"); 
    912   
    913      memset(conn, 0, sizeof(PPPoEConnection)); 
    914   
    915      while ((opt = getopt(argc, argv, "I:D:VUAS:C:h")) > 0) { 
    916         switch(opt) { 
    917         case 'S': 
    918 -           conn->serviceName = xstrdup(optarg); 
    919 +           conn->serviceName = strDup(optarg); 
    920             break; 
    921         case 'C': 
    922 -           conn->acName = xstrdup(optarg); 
    923 +           conn->acName = strDup(optarg); 
    924             break; 
    925         case 'U': 
    926             conn->useHostUniq = 1; 
    927 @@ -57,7 +51,7 @@ int main(int argc, char *argv[]) 
    928             fprintf(conn->debugFile, "pppoe-discovery %s\n", VERSION); 
    929             break; 
    930         case 'I': 
    931 -           conn->ifName = xstrdup(optarg); 
    932 +           conn->ifName = strDup(optarg); 
    933             break; 
    934         case 'A': 
    935             /* this is the default */ 
    936 @@ -74,7 +68,7 @@ int main(int argc, char *argv[]) 
    937   
    938      /* default interface name */ 
    939      if (!conn->ifName) 
    940 -       conn->ifName = strdup("eth0"); 
    941 +       conn->ifName = strDup("eth0"); 
    942   
    943      conn->discoverySocket = -1; 
    944      conn->sessionSocket = -1; 
    945 @@ -84,39 +78,6 @@ int main(int argc, char *argv[]) 
    946      exit(0); 
    947  } 
    948   
    949 -void rp_fatal(char const *str) 
    950 -{ 
    951 -    char buf[1024]; 
    952 - 
    953 -    printErr(str); 
    954 -    sprintf(buf, "pppoe-discovery: %.256s", str); 
    955 -    exit(1); 
    956 -} 
    957 - 
    958 -void fatalSys(char const *str) 
    959 -{ 
    960 -    char buf[1024]; 
    961 -    int i = errno; 
    962 - 
    963 -    sprintf(buf, "%.256s: %.256s", str, strerror(i)); 
    964 -    printErr(buf); 
    965 -    sprintf(buf, "pppoe-discovery: %.256s: %.256s", str, strerror(i)); 
    966 -    exit(1); 
    967 -} 
    968 - 
    969 -void sysErr(char const *str) 
    970 -{ 
    971 -    rp_fatal(str); 
    972 -} 
    973 - 
    974 -char *xstrdup(const char *s) 
    975 -{ 
    976 -    register char *ret = strdup(s); 
    977 -    if (!ret) 
    978 -       sysErr("strdup"); 
    979 -    return ret; 
    980 -} 
    981 - 
    982  void usage(void) 
    983  { 
    984      fprintf(stderr, "Usage: pppoe-discovery [options]\n"); 
    985 --- a/pppd/plugins/rp-pppoe/pppoe.h 
    986 +++ b/pppd/plugins/rp-pppoe/pppoe.h 
    987 @@ -307,12 +307,18 @@ void discovery(PPPoEConnection *conn); 
    988  unsigned char *findTag(PPPoEPacket *packet, UINT16_t tagType, 
    989                        PPPoETag *tag); 
    990   
    991 +void dbglog(char *, ...);      /* log a debug message */ 
    992 +void info(char *, ...);                /* log an informational message */ 
    993 +void warn(char *, ...);                /* log a warning message */ 
    994 +void error(char *, ...);       /* log an error message */ 
    995 +void fatal(char *, ...);       /* log an error message and die(1) */ 
    996 + 
    997  #define SET_STRING(var, val) do { if (var) free(var); var = strDup(val); } while(0); 
    998   
    999  #define CHECK_ROOM(cursor, start, len) \ 
    1000  do {\ 
    1001      if (((cursor)-(start))+(len) > MAX_PPPOE_PAYLOAD) { \ 
    1002 -        syslog(LOG_ERR, "Would create too-long packet"); \ 
    1003 +        error("Would create too-long packet"); \ 
    1004          return; \ 
    1005      } \ 
    1006  } while(0) 
    1007 --- /dev/null 
    1008 +++ b/pppd/plugins/rp-pppoe/utils.c 
    1009 @@ -0,0 +1,62 @@ 
    1010 +#include <stdio.h> 
    1011 +#include <stdlib.h> 
    1012 +#include <unistd.h> 
    1013 +#include <stdarg.h> 
    1014 +#include <syslog.h> 
    1015 + 
    1016 +void dbglog(const char *fmt, ...) 
    1017 +{ 
    1018 +    va_list ap; 
    1019 + 
    1020 +    va_start(ap, fmt); 
    1021 +    vsyslog(LOG_DEBUG, fmt, ap); 
    1022 +    vfprintf(stderr, fmt, ap); 
    1023 +    fputs("\n", stderr); 
    1024 +    va_end(ap); 
    1025 +} 
    1026 + 
    1027 +void info(const char *fmt, ...) 
    1028 +{ 
    1029 +    va_list ap; 
    1030 + 
    1031 +    va_start(ap, fmt); 
    1032 +    vsyslog(LOG_INFO, fmt, ap); 
    1033 +    vfprintf(stderr, fmt, ap); 
    1034 +    fputs("\n", stderr); 
    1035 +    va_end(ap); 
    1036 +} 
    1037 + 
    1038 +void warn(const char *fmt, ...) 
    1039 +{ 
    1040 +    va_list ap; 
    1041 + 
    1042 +    va_start(ap, fmt); 
    1043 +    vsyslog(LOG_WARNING, fmt, ap); 
    1044 +    vfprintf(stderr, fmt, ap); 
    1045 +    fputs("\n", stderr); 
    1046 +    va_end(ap); 
    1047 +} 
    1048 + 
    1049 +void error(const char *fmt, ...) 
    1050 +{ 
    1051 +    va_list ap; 
    1052 + 
    1053 +    va_start(ap, fmt); 
    1054 +    vsyslog(LOG_ERR, fmt, ap); 
    1055 +    vfprintf(stderr, fmt, ap); 
    1056 +    fputs("\n", stderr); 
    1057 +    va_end(ap); 
    1058 +} 
    1059 + 
    1060 +void fatal(const char *fmt, ...) 
    1061 +{ 
    1062 +    va_list ap; 
    1063 + 
    1064 +    va_start(ap, fmt); 
    1065 +    vsyslog(LOG_ERR, fmt, ap); 
    1066 +    vfprintf(stderr, fmt, ap); 
    1067 +    fputs("\n", stderr); 
    1068 +    va_end(ap); 
    1069 +    exit(1); 
    1070 +} 
    1071 + 
  • trunk/package/ppp/patches/110-debian_defaultroute.patch

    r15958 r27818  
    11--- a/pppd/ipcp.c 
    22+++ b/pppd/ipcp.c 
    3 @@ -197,6 +197,14 @@ static option_t ipcp_option_list[] = { 
     3@@ -198,6 +198,14 @@ static option_t ipcp_option_list[] = { 
    44       "disable defaultroute option", OPT_ALIAS | OPT_A2CLR, 
    55       &ipcp_wantoptions[0].default_route }, 
     
    1616       "Add proxy ARP entry", OPT_ENABLE|1, &ipcp_allowoptions[0].proxy_arp }, 
    1717     { "noproxyarp", o_bool, &ipcp_allowoptions[0].proxy_arp, 
    18 @@ -263,7 +271,7 @@ struct protent ipcp_protent = { 
     18@@ -271,7 +279,7 @@ struct protent ipcp_protent = { 
    1919     ip_active_pkt 
    2020 }; 
     
    2525 static void ipcp_script_done __P((void *)); 
    2626  
    27 @@ -1660,7 +1668,8 @@ ip_demand_conf(u) 
     27@@ -1742,7 +1750,8 @@ ip_demand_conf(u) 
    2828     if (!sifnpmode(u, PPP_IP, NPMODE_QUEUE)) 
    2929        return 0; 
     
    3535     if (wo->proxy_arp) 
    3636        if (sifproxyarp(u, wo->hisaddr)) 
    37 @@ -1742,7 +1751,8 @@ ipcp_up(f) 
     37@@ -1830,7 +1839,8 @@ ipcp_up(f) 
    3838      */ 
    3939     if (demand) { 
     
    4545                warn("Local IP address changed to %I", go->ouraddr); 
    4646                script_setenv("OLDIPLOCAL", ip_ntoa(wo->ouraddr), 0); 
    47 @@ -1767,7 +1777,8 @@ ipcp_up(f) 
     47@@ -1855,7 +1865,8 @@ ipcp_up(f) 
    4848  
    4949            /* assign a default route through the interface if required */ 
     
    5555  
    5656            /* Make a proxy ARP entry if requested. */ 
    57 @@ -1817,7 +1828,8 @@ ipcp_up(f) 
     57@@ -1905,7 +1916,8 @@ ipcp_up(f) 
    5858  
    5959        /* assign a default route through the interface if required */ 
     
    6565  
    6666        /* Make a proxy ARP entry if requested. */ 
    67 @@ -1894,7 +1906,7 @@ ipcp_down(f) 
     67@@ -1983,7 +1995,7 @@ ipcp_down(f) 
    6868        sifnpmode(f->unit, PPP_IP, NPMODE_DROP); 
    6969        sifdown(f->unit); 
     
    7474  
    7575     /* Execute the ip-down script */ 
    76 @@ -1910,16 +1922,25 @@ ipcp_down(f) 
     76@@ -1999,16 +2011,25 @@ ipcp_down(f) 
    7777  * proxy arp entries, etc. 
    7878  */ 
     
    126126 Execute the command specified by \fIscript\fR, by passing it to a 
    127127 shell, after 
    128 @@ -706,7 +711,12 @@ disable both forms of hardware flow cont 
     128@@ -717,7 +722,12 @@ disable both forms of hardware flow cont 
    129129 .TP 
    130130 .B nodefaultroute 
     
    142142--- a/pppd/pppd.h 
    143143+++ b/pppd/pppd.h 
    144 @@ -644,7 +644,7 @@ int  sif6addr __P((int, eui64_t, eui64_t 
     144@@ -645,7 +645,7 @@ int  sif6addr __P((int, eui64_t, eui64_t 
    145145 int  cif6addr __P((int, eui64_t, eui64_t)); 
    146146                                /* Remove an IPv6 address from i/f */ 
     
    162162 static char proxy_arp_dev[16];         /* Device for proxy arp entry */ 
    163163 static u_int32_t our_old_addr;         /* for detecting address changes */ 
    164 @@ -1520,6 +1522,9 @@ static int read_route_table(struct rtent 
     164@@ -1544,6 +1546,9 @@ static int read_route_table(struct rtent 
    165165        p = NULL; 
    166166     } 
     
    172172     SIN_ADDR(rt->rt_gateway) = strtoul(cols[route_gw_col], NULL, 16); 
    173173     SIN_ADDR(rt->rt_genmask) = strtoul(cols[route_mask_col], NULL, 16); 
    174 @@ -1589,20 +1594,51 @@ int have_route_to(u_int32_t addr) 
     174@@ -1613,20 +1618,51 @@ int have_route_to(u_int32_t addr) 
    175175 /******************************************************************** 
    176176  * 
     
    237237  
    238238     memset (&rt, 0, sizeof (rt)); 
    239 @@ -1617,10 +1653,16 @@ int sifdefaultroute (int unit, u_int32_t 
     239@@ -1641,10 +1677,16 @@ int sifdefaultroute (int unit, u_int32_t 
    240240  
    241241     rt.rt_flags = RTF_UP; 
     
    255255     have_default_route = 1; 
    256256     return 1; 
    257 @@ -1649,11 +1691,21 @@ int cifdefaultroute (int unit, u_int32_t 
     257@@ -1675,11 +1717,21 @@ int cifdefaultroute (int unit, u_int32_t 
    258258     rt.rt_flags = RTF_UP; 
    259259     if (ioctl(sock_fd, SIOCDELRT, &rt) < 0 && errno != ESRCH) { 
  • trunk/package/ppp/patches/201-mppe_mppc_1.1.patch

    r15958 r27818  
    1010  *  NOTE TO MAINTAINERS: 
    1111  *     If you modify this file at all, please set the above date. 
    12 @@ -86,7 +86,7 @@ struct compressor { 
    13   
    14         /* Compress a packet */ 
    15         int     (*compress) (void *state, unsigned char *rptr, 
    16 -                             unsigned char *obuf, int isize, int osize); 
    17 +                            unsigned char *obuf, int isize, int osize); 
    18   
    19         /* Return compression statistics */ 
    20         void    (*comp_stat) (void *state, struct compstat *stats); 
    21 @@ -107,7 +107,7 @@ struct compressor { 
    22   
    23         /* Decompress a packet. */ 
    24         int     (*decompress) (void *state, unsigned char *ibuf, int isize, 
    25 -                               unsigned char *obuf, int osize); 
    26 +                              unsigned char *obuf, int osize); 
    27   
    28         /* Update state for an incompressible packet received */ 
    29         void    (*incomp) (void *state, unsigned char *ibuf, int icnt); 
    30 @@ -288,6 +288,33 @@ struct compressor { 
    31             opts |= MPPE_OPT_UNKNOWN;           \ 
    32      } while (/* CONSTCOND */ 0) 
     12@@ -201,6 +201,33 @@ struct compressor { 
     13 #define CI_MPPE                        18      /* config option for MPPE */ 
     14 #define CILEN_MPPE             6       /* length of config option */ 
    3315  
    3416+/* MPPE/MPPC definitions by J.D.*/ 
     
    6446--- a/include/net/ppp-comp.h 
    6547+++ b/include/net/ppp-comp.h 
    66 @@ -255,6 +255,33 @@ struct compressor { 
    67             opts |= MPPE_OPT_UNKNOWN;           \ 
    68      } while (/* CONSTCOND */ 0) 
     48@@ -168,6 +168,33 @@ struct compressor { 
     49 #define CI_MPPE                        18      /* config option for MPPE */ 
     50 #define CILEN_MPPE             6       /* length of config option */ 
    6951  
    7052+/* MPPE/MPPC definitions by J.D.*/ 
     
    706688        if (len < CILEN_DEFLATE 
    707689            || p[0] != (go->deflate_correct? CI_DEFLATE: CI_DEFLATE_DRAFT) 
    708 @@ -891,7 +1070,7 @@ ccp_ackci(f, p, len) 
    709   
    710  /* 
    711   * ccp_nakci - process received configure-nak. 
    712 - * Returns 1 iff the nak was OK. 
    713 + * Returns 1 if the nak was OK. 
    714   */ 
    715  static int 
    716  ccp_nakci(f, p, len, treat_as_reject) 
    717690@@ -901,6 +1080,8 @@ ccp_nakci(f, p, len, treat_as_reject) 
    718691     int treat_as_reject; 
     
    931904-               /* Nak if anything unsupported or unknown are set. */ 
    932905-               if (ho->mppe & MPPE_OPT_UNSUPPORTED) { 
     906-                   newret = CONFNAK; 
     907-                   ho->mppe &= ~MPPE_OPT_UNSUPPORTED; 
     908-               } 
     909-               if (ho->mppe & MPPE_OPT_UNKNOWN) { 
    933910+               p2 = p[2]; 
    934911+               p5 = p[5]; 
     
    939916+                   (p[2] == 0 && p[3] == 0 && p[4] == 0 &&  p[5] == 0)) { 
    940917                    newret = CONFNAK; 
    941 -                   ho->mppe &= ~MPPE_OPT_UNSUPPORTED; 
    942 -               } 
    943 -               if (ho->mppe & MPPE_OPT_UNKNOWN) { 
    944 -                   newret = CONFNAK; 
    945918-                   ho->mppe &= ~MPPE_OPT_UNKNOWN; 
    946919-               } 
     
    14721445             * We don't do that if we are still waiting for an 
    14731446             * acknowledgement to a previous reset-request. 
    1474 @@ -1675,4 +2180,3 @@ ccp_rack_timeout(arg) 
    1475      } else 
    1476         ccp_localstate[f->unit] &= ~RACK_PENDING; 
    1477  } 
    1478 - 
    14791447--- a/pppd/ccp.h 
    14801448+++ b/pppd/ccp.h 
     
    14991467--- a/pppd/chap_ms.c 
    15001468+++ b/pppd/chap_ms.c 
    1501 @@ -897,13 +897,17 @@ set_mppe_enc_types(int policy, int types 
     1469@@ -898,13 +898,17 @@ set_mppe_enc_types(int policy, int types 
    15021470     /* 
    15031471      * Disable undesirable encryption types.  Note that we don't ENABLE 
  • trunk/package/ppp/patches/202-no_strip.patch

    r15958 r27818  
    4747--- a/pppd/plugins/rp-pppoe/Makefile.linux 
    4848+++ b/pppd/plugins/rp-pppoe/Makefile.linux 
    49 @@ -39,9 +39,9 @@ rp-pppoe.so: libplugin.a plugin.o 
     49@@ -43,9 +43,9 @@ rp-pppoe.so: plugin.o discovery.o if.o c 
    5050  
    5151 install: all 
     
    5858  
    5959 clean: 
    60         rm -f *.o *.so 
     60        rm -f *.o *.so pppoe-discovery 
    6161--- a/pppdump/Makefile.linux 
    6262+++ b/pppdump/Makefile.linux 
  • trunk/package/ppp/patches/205-no_exponential_timeout.patch

    r15958 r27818  
    11--- a/pppd/plugins/rp-pppoe/discovery.c 
    22+++ b/pppd/plugins/rp-pppoe/discovery.c 
    3 @@ -593,12 +593,14 @@ discovery(PPPoEConnection *conn) 
     3@@ -548,7 +548,9 @@ discovery(PPPoEConnection *conn) 
    44        conn->discoveryState = STATE_SENT_PADI; 
    55        waitForPADO(conn, timeout); 
    66  
    77+#if 0 
    8         /* If we're just probing for access concentrators, don't do 
    9            exponential backoff.  This reduces the time for an unsuccessful 
    10            probe to 15 seconds. */ 
    11         if (!conn->printACNames) { 
    12             timeout *= 2; 
    13         } 
     8        timeout *= 2; 
    149+#endif 
    15         if (conn->printACNames && conn->numPADOs) { 
    16             break; 
    17         } 
    18 @@ -621,7 +623,9 @@ discovery(PPPoEConnection *conn) 
     10     } while (conn->discoveryState == STATE_SENT_PADI); 
     11  
     12     timeout = conn->discoveryTimeout; 
     13@@ -563,7 +565,9 @@ discovery(PPPoEConnection *conn) 
    1914        sendPADR(conn); 
    2015        conn->discoveryState = STATE_SENT_PADR; 
  • trunk/package/ppp/patches/206-compensate_time_change.patch

    r15958 r27818  
    99 #include "pppd.h" 
    1010 #include "magic.h" 
    11 @@ -227,6 +228,7 @@ static struct subprocess *children; 
     11@@ -228,6 +229,7 @@ static struct subprocess *children; 
    1212  
    1313 /* Prototypes for procedures local to this file. */ 
     
    1717 static void create_pidfile __P((int pid)); 
    1818 static void create_linkpidfile __P((int pid)); 
    19 @@ -532,6 +534,7 @@ main(argc, argv) 
     19@@ -533,6 +535,7 @@ main(argc, argv) 
    2020            info("Starting link"); 
    2121        } 
     
    2525        script_unsetenv("CONNECT_TIME"); 
    2626        script_unsetenv("BYTES_SENT"); 
    27 @@ -1264,6 +1267,36 @@ struct   callout { 
     27@@ -1265,6 +1268,36 @@ struct   callout { 
    2828  
    2929 static struct callout *callout = NULL; /* Callout list */ 
     
    6262 /* 
    6363  * timeout - Schedule a timeout. 
    64 @@ -1334,6 +1367,8 @@ calltimeout() 
     64@@ -1335,6 +1368,8 @@ calltimeout() 
    6565 { 
    6666     struct callout *p; 
     
    7171        p = callout; 
    7272  
    73 @@ -1361,6 +1396,8 @@ timeleft(tvp) 
     73@@ -1362,6 +1397,8 @@ timeleft(tvp) 
    7474 { 
    7575     if (callout == NULL) 
  • trunk/package/ppp/patches/310-precompile_filter.patch

    r15958 r27818  
    6565     { "maxoctets", o_int, &maxoctets, 
    6666       "Set connection traffic limit", 
    67 @@ -1456,6 +1472,29 @@ callfile(argv) 
     67@@ -1463,6 +1479,29 @@ callfile(argv) 
    6868     return ok; 
    6969 } 
  • trunk/package/ppp/patches/320-custom_iface_names.patch

    r22495 r27818  
    11--- a/pppd/main.c 
    22+++ b/pppd/main.c 
    3 @@ -742,8 +742,11 @@ void 
     3@@ -743,8 +743,11 @@ void 
    44 set_ifunit(iskey) 
    55     int iskey; 
     
    4848  * Limits. 
    4949  */ 
    50 @@ -308,6 +312,7 @@ extern char *record_file;   /* File to rec 
     50@@ -309,6 +313,7 @@ extern char *record_file;   /* File to rec 
    5151 extern bool    sync_serial;    /* Device is synchronous serial device */ 
    5252 extern int     maxfail;        /* Max # of unsuccessful connection attempts */ 
     
    116116        interface = argv[0]; 
    117117  
    118 +/* 
     118+#if 0 
    119119     if (sscanf(interface, PPP_DRV_NAME "%d", &unit) != 1) { 
    120120        fprintf(stderr, "%s: invalid interface '%s' specified\n", 
    121121                progname, interface); 
    122122     } 
    123 +*/ 
     123+#endif 
    124124  
    125125 #ifndef STREAMS 
  • trunk/package/ppp/patches/330-retain_foreign_default_routes.patch

    r22497 r27818  
    11--- a/pppd/sys-linux.c 
    22+++ b/pppd/sys-linux.c 
    3 @@ -1717,6 +1717,7 @@ int cifdefaultroute (int unit, u_int32_t 
     3@@ -1743,6 +1743,7 @@ int cifdefaultroute (int unit, u_int32_t 
    44        SIN_ADDR(rt.rt_genmask) = 0L; 
    55     } 
  • trunk/package/ppp/patches/340-populate_default_gateway.patch

    r22806 r27818  
    11--- a/pppd/sys-linux.c 
    22+++ b/pppd/sys-linux.c 
    3 @@ -1673,6 +1673,9 @@ int sifdefaultroute (int unit, u_int32_t 
     3@@ -1697,6 +1697,9 @@ int sifdefaultroute (int unit, u_int32_t 
    44     memset (&rt, 0, sizeof (rt)); 
    55     SET_SA_FAMILY (rt.rt_dst, AF_INET); 
     
    1111  
    1212     if (kernel_version > KVERSION(2,1,0)) { 
    13 @@ -1680,7 +1683,7 @@ int sifdefaultroute (int unit, u_int32_t 
     13@@ -1704,7 +1707,7 @@ int sifdefaultroute (int unit, u_int32_t 
    1414        SIN_ADDR(rt.rt_genmask) = 0L; 
    1515     } 
  • trunk/package/ppp/patches/350-survive_bad_pads_packets.patch

    r25044 r27818  
    1 --- a/pppd/plugins/rp-pppoe/common.c 
    2 +++ b/pppd/plugins/rp-pppoe/common.c 
    3 @@ -75,7 +75,9 @@ parsePacket(PPPoEPacket *packet, ParseFu 
    4             error("Invalid PPPoE tag length (%u)", tagLen); 
    5             return -1; 
    6         } 
    7 -       func(tagType, tagLen, curTag+TAG_HDR_SIZE, extra); 
    8 +       if (func(tagType, tagLen, curTag+TAG_HDR_SIZE, extra)) { 
    9 +               return -1; 
    10 +       } 
    11         curTag = curTag + TAG_HDR_SIZE + tagLen; 
    12      } 
    13      return 0; 
    14 --- a/pppd/plugins/rp-pppoe/discovery.c 
    15 +++ b/pppd/plugins/rp-pppoe/discovery.c 
    16 @@ -48,7 +48,7 @@ static char const RCSID[] = 
    17  *%DESCRIPTION: 
    18  * If a HostUnique tag is found which matches our PID, sets *extra to 1. 
    19  ***********************************************************************/ 
    20 -void 
    21 +int 
    22  parseForHostUniq(UINT16_t type, UINT16_t len, unsigned char *data, 
    23                  void *extra) 
    24  { 
    25 @@ -60,6 +60,7 @@ parseForHostUniq(UINT16_t type, UINT16_t 
    26             *val = 1; 
    27         } 
    28      } 
    29 +    return 0; 
    30  } 
    31   
    32  /********************************************************************** 
    33 @@ -102,7 +103,7 @@ packetIsForMe(PPPoEConnection *conn, PPP 
    34  *%DESCRIPTION: 
    35  * Picks interesting tags out of a PADO packet 
    36  ***********************************************************************/ 
    37 -void 
    38 +int 
    39  parsePADOTags(UINT16_t type, UINT16_t len, unsigned char *data, 
    40               void *extra) 
    41  { 
    42 @@ -181,6 +182,7 @@ parsePADOTags(UINT16_t type, UINT16_t le 
    43         } 
    44         break; 
    45      } 
    46 +    return 0; 
    47  } 
    48   
    49  /********************************************************************** 
    50 @@ -195,7 +197,7 @@ parsePADOTags(UINT16_t type, UINT16_t le 
    51  *%DESCRIPTION: 
    52  * Picks interesting tags out of a PADS packet 
    53  ***********************************************************************/ 
    54 -void 
    55 +int 
    56  parsePADSTags(UINT16_t type, UINT16_t len, unsigned char *data, 
    57               void *extra) 
    58  { 
    59 @@ -205,17 +207,21 @@ parsePADSTags(UINT16_t type, UINT16_t le 
    60         dbglog("PADS: Service-Name: '%.*s'", (int) len, data); 
    61         break; 
    62      case TAG_SERVICE_NAME_ERROR: 
    63 -       fatal("PADS: Service-Name-Error: %.*s", (int) len, data); 
    64 +       error("PADS: Service-Name-Error: %.*s", (int) len, data); 
    65 +       return -1; 
    66      case TAG_AC_SYSTEM_ERROR: 
    67 -       fatal("PADS: System-Error: %.*s", (int) len, data); 
    68 +       error("PADS: System-Error: %.*s", (int) len, data); 
    69 +       return -1; 
    70      case TAG_GENERIC_ERROR: 
    71 -       fatal("PADS: Generic-Error: %.*s", (int) len, data); 
    72 +       error("PADS: Generic-Error: %.*s", (int) len, data); 
    73 +       return -1; 
    74      case TAG_RELAY_SESSION_ID: 
    75         conn->relayId.type = htons(type); 
    76         conn->relayId.length = htons(len); 
    77         memcpy(conn->relayId.payload, data, len); 
    78         break; 
    79      } 
    80 +    return 0; 
    81  } 
    82   
    83  /*********************************************************************** 
    84 @@ -532,9 +538,11 @@ waitForPADS(PPPoEConnection *conn, int t 
    85         /* Is it PADS?  */ 
    86         if (packet.code == CODE_PADS) { 
    87             /* Parse for goodies */ 
    88 -           parsePacket(&packet, parsePADSTags, conn); 
    89 -           conn->discoveryState = STATE_SESSION; 
    90 -           break; 
    91 +           if (!parsePacket(&packet, parsePADSTags, conn)) 
    92 +           { 
    93 +               conn->discoveryState = STATE_SESSION; 
    94 +               break; 
    95 +           } 
    96         } 
    97      } while (conn->discoveryState != STATE_SESSION); 
    98   
    99 --- a/pppd/plugins/rp-pppoe/pppoe.h 
    100 +++ b/pppd/plugins/rp-pppoe/pppoe.h 
    101 @@ -238,7 +238,7 @@ typedef struct PPPoETagStruct { 
    102  #define READ_CHUNK 4096 
    103   
    104  /* Function passed to parsePacket */ 
    105 -typedef void ParseFunc(UINT16_t type, 
    106 +typedef int ParseFunc(UINT16_t type, 
    107                        UINT16_t len, 
    108                        unsigned char *data, 
    109                        void *extra); 
  • trunk/package/ppp/patches/400-simplify_kernel_checks.patch

    r26398 r27818  
    2020 #define MAX_IFS                100 
    2121  
    22 @@ -1414,11 +1414,12 @@ int ccp_fatal_error (int unit) 
     22@@ -1438,11 +1438,12 @@ int ccp_fatal_error (int unit) 
    2323  * 
    2424  * path_to_procfs - find the path to the proc file system mount point 
     
    3535     FILE *fp; 
    3636  
    37 @@ -1440,6 +1441,7 @@ static char *path_to_procfs(const char * 
     37@@ -1464,6 +1465,7 @@ static char *path_to_procfs(const char * 
    3838            fclose (fp); 
    3939        } 
     
    4343     strlcpy(proc_path + proc_path_len, tail, 
    4444            sizeof(proc_path) - proc_path_len); 
    45 @@ -2098,11 +2100,13 @@ int ppp_available(void) 
    46         "ppp.o exists in /lib/modules/`uname -r`/net.\n" 
    47         "See README.linux file in the ppp distribution for more details.\n"; 
     45@@ -2116,15 +2118,19 @@ int ppp_available(void) 
     46     int    my_version, my_modification, my_patch; 
     47     int osmaj, osmin, ospatch; 
    4848  
    4949+#if 0 
     
    5656  
    5757     fd = open("/dev/ppp", O_RDWR); 
    58  #if 0 
    59 @@ -2121,7 +2125,9 @@ int ppp_available(void) 
    60      } 
    61  #endif /* 0 */ 
    6258     if (fd >= 0) { 
    6359+#if 0 
     
    6763        /* XXX should get from driver */ 
    6864        driver_version = 2; 
    69 @@ -2168,6 +2174,7 @@ int ppp_available(void) 
     65@@ -2185,6 +2191,7 @@ int ppp_available(void) 
    7066  
    7167     if (ok && ((ifr.ifr_hwaddr.sa_family & ~0xFF) != ARPHRD_PPP)) 
     
    7571 /* 
    7672  *  This is the PPP device. Validate the version of the driver at this 
    77 @@ -2659,6 +2666,7 @@ get_pty(master_fdp, slave_fdp, slave_nam 
     73@@ -2678,6 +2685,7 @@ get_pty(master_fdp, slave_fdp, slave_nam 
    7874     } 
    7975 #endif /* TIOCGPTN */ 
     
    8379        /* the old way - scan through the pty name space */ 
    8480        for (i = 0; i < 64; ++i) { 
    85 @@ -2677,6 +2685,7 @@ get_pty(master_fdp, slave_fdp, slave_nam 
     81@@ -2696,6 +2704,7 @@ get_pty(master_fdp, slave_fdp, slave_nam 
    8682            } 
    8783        } 
     
    9389--- a/pppd/plugins/pppoatm/pppoatm.c 
    9490+++ b/pppd/plugins/pppoatm/pppoatm.c 
    95 @@ -210,14 +210,6 @@ static void recv_config_pppoa(int mru, 
     91@@ -171,14 +171,6 @@ static void disconnect_pppoatm(void) 
    9692  
    9793 void plugin_init(void) 
     
    105101-       fatal("No PPPoATM support on this OS"); 
    106102-#endif 
     103        info("PPPoATM plugin_init"); 
    107104        add_options(pppoa_options); 
    108105 } 
    109   
    110106--- a/pppd/plugins/rp-pppoe/plugin.c 
    111107+++ b/pppd/plugins/rp-pppoe/plugin.c 
    112 @@ -55,9 +55,6 @@ static char const RCSID[] = 
     108@@ -60,9 +60,6 @@ static char const RCSID[] = 
    113109  
    114110 char pppd_version[] = VERSION; 
     
    120116 static char *acName = NULL; 
    121117 static char *existingSession = NULL; 
    122 @@ -312,10 +309,6 @@ PPPoEDevnameHook(char *cmd, char **argv, 
     118@@ -340,10 +337,6 @@ PPPoEDevnameHook(char *cmd, char **argv, 
    123119 void 
    124120 plugin_init(void) 
     
    129125- 
    130126     add_options(Options); 
    131  } 
    132127  
     128     info("RP-PPPoE plugin version %s compiled against pppd %s", 
  • trunk/package/ppp/patches/401-no_record_file.patch

    r25919 r27818  
    11--- a/pppd/pppd.h 
    22+++ b/pppd/pppd.h 
    3 @@ -308,7 +308,6 @@ extern int  holdoff;        /* Dead time before  
     3@@ -309,7 +309,6 @@ extern int  holdoff;        /* Dead time before  
    44 extern bool    holdoff_specified; /* true if user gave a holdoff value */ 
    55 extern bool    notty;          /* Stdin/out is not a tty */ 
     
    1111--- a/pppd/tty.c 
    1212+++ b/pppd/tty.c 
    13 @@ -144,7 +144,7 @@ char        *disconnect_script = NULL; /* Scrip 
     13@@ -145,7 +145,7 @@ char        *disconnect_script = NULL; /* Scrip 
    1414 char   *welcomer = NULL;       /* Script to run after phys link estab. */ 
    1515 char   *ptycommand = NULL;     /* Command to run on other side of pty */ 
     
    2020 bool   sync_serial = 0;        /* Device is synchronous serial device */ 
    2121 char   *pty_socket = NULL;     /* Socket to connect to pty */ 
    22 @@ -200,8 +200,10 @@ option_t tty_options[] = { 
     22@@ -201,8 +201,10 @@ option_t tty_options[] = { 
    2323       "Send and receive over socket, arg is host:port", 
    2424       OPT_PRIO | OPT_DEVNAM }, 
  • trunk/package/ppp/patches/403-no_wtmp.patch

    r25919 r27818  
    11--- a/pppd/sys-linux.c 
    22+++ b/pppd/sys-linux.c 
    3 @@ -2237,6 +2237,7 @@ int ppp_available(void) 
     3@@ -2254,6 +2254,7 @@ int ppp_available(void) 
    44  
    55 void logwtmp (const char *line, const char *name, const char *host) 
     
    99     pid_t  mypid = getpid(); 
    1010 #if __GLIBC__ < 2 
    11 @@ -2302,6 +2303,7 @@ void logwtmp (const char *line, const ch 
     11@@ -2319,6 +2320,7 @@ void logwtmp (const char *line, const ch 
    1212        close (wtmp); 
    1313     } 
  • trunk/package/ppp/patches/404-remove_obsolete_protocol_names.patch

    r25919 r27818  
    11--- a/pppd/main.c 
    22+++ b/pppd/main.c 
    3 @@ -879,14 +879,17 @@ struct protocol_list { 
     3@@ -880,14 +880,17 @@ struct protocol_list { 
    44     const char *name; 
    55 } protocol_list[] = { 
     
    1919     { 0x35,    "Banyan Vines" }, 
    2020     { 0x39,    "AppleTalk EDDP" }, 
    21 @@ -900,8 +903,11 @@ struct protocol_list { 
     21@@ -901,8 +904,11 @@ struct protocol_list { 
    2222     { 0x49,    "Serial Data Transport Protocol (PPP-SDTP)" }, 
    2323     { 0x4b,    "SNA over 802.2" }, 
     
    3131     { 0x55,    "Individual Link Encryption" }, 
    3232     { 0x57,    "IPv6" }, 
    33 @@ -912,12 +918,15 @@ struct protocol_list { 
     33@@ -913,12 +919,15 @@ struct protocol_list { 
    3434     { 0x65,    "RTP IPHC Compressed non-TCP" }, 
    3535     { 0x67,    "RTP IPHC Compressed UDP 8" }, 
     
    4747     { 0x0205,  "DEC LANBridge100 Spanning Tree" }, 
    4848     { 0x0207,  "Cisco Discovery Protocol" }, 
    49 @@ -929,15 +938,19 @@ struct protocol_list { 
     49@@ -930,15 +939,19 @@ struct protocol_list { 
    5050     { 0x0231,  "Luxcom" }, 
    5151     { 0x0233,  "Sigma Network Systems" }, 
     
    6767     { 0x4003,  "CDPD Mobile Network Registration Protocol" }, 
    6868     { 0x4005,  "Expand accelerator protocol" }, 
    69 @@ -948,8 +961,10 @@ struct protocol_list { 
     69@@ -949,8 +962,10 @@ struct protocol_list { 
    7070     { 0x4023,  "RefTek Protocol" }, 
    7171     { 0x4025,  "Fibre Channel" }, 
     
    7878     { 0x8025,  "Xerox NS IDP Control Protocol" }, 
    7979     { 0x8027,  "DECnet Phase IV Control Protocol" }, 
    80 @@ -958,7 +973,9 @@ struct protocol_list { 
     80@@ -959,7 +974,9 @@ struct protocol_list { 
    8181     { 0x8031,  "Bridging NCP" }, 
    8282     { 0x8033,  "Stream Protocol Control Protocol" }, 
     
    8888     { 0x8041,  "Cisco Systems Control Protocol" }, 
    8989     { 0x8043,  "Ascom Timeplex" }, 
    90 @@ -967,18 +984,24 @@ struct protocol_list { 
     90@@ -968,18 +985,24 @@ struct protocol_list { 
    9191     { 0x8049,  "Serial Data Control Protocol (PPP-SDCP)" }, 
    9292     { 0x804b,  "SNA over 802.2 Control Protocol" }, 
     
    9999     { 0x8053,  "Encryption Control Protocol" }, 
    100100     { 0x8055,  "Individual Link Encryption Control Protocol" }, 
    101      { 0x8057,  "IPv6 Control Protovol" }, 
     101     { 0x8057,  "IPv6 Control Protocol" }, 
    102102     { 0x8059,  "PPP Muxing Control Protocol" }, 
    103103     { 0x805b,  "Vendor-Specific Network Control Protocol (VSNCP)" }, 
     
    113113     { 0x8209,  "Netcs Twin Routing" }, 
    114114     { 0x820b,  "STP - Control Protocol" }, 
    115 @@ -987,24 +1010,29 @@ struct protocol_list { 
     115@@ -988,24 +1011,29 @@ struct protocol_list { 
    116116     { 0x8281,  "MPLSCP" }, 
    117117     { 0x8285,  "IEEE p1284.4 standard - Protocol Control" }, 
Note: See TracChangeset for help on using the changeset viewer.