| 1 |
diff -ruNp ppp-2.4.3.orig/pppd/plugins/pppoatm/pppoatm.c ppp-2.4.3/pppd/plugins/pppoatm/pppoatm.c |
| 2 |
--- ppp-2.4.3.orig/pppd/plugins/pppoatm/pppoatm.c 2005-03-22 14:44:18.000000000 +0100 |
| 3 |
+++ ppp-2.4.3/pppd/plugins/pppoatm/pppoatm.c 2005-03-22 14:44:02.000000000 +0100 |
| 4 |
@@ -70,18 +70,20 @@ static int setdevname_pppoatm(const char |
| 5 |
{ |
| 6 |
struct sockaddr_atmpvc addr; |
| 7 |
extern struct stat devstat; |
| 8 |
+ |
| 9 |
if (device_got_set) |
| 10 |
return 0; |
| 11 |
- //info("PPPoATM setdevname_pppoatm: '%s'", cp); |
| 12 |
+ |
| 13 |
memset(&addr, 0, sizeof addr); |
| 14 |
if (text2atm(cp, (struct sockaddr *) &addr, sizeof(addr), |
| 15 |
T2A_PVC | T2A_NAME) < 0) { |
| 16 |
- if(doit) |
| 17 |
- info("atm does not recognize: %s", cp); |
| 18 |
+ if (doit) |
| 19 |
+ info("cannot parse the ATM address: %s", cp); |
| 20 |
return 0; |
| 21 |
- } |
| 22 |
- if (!doit) return 1; |
| 23 |
- //if (!dev_set_ok()) return -1; |
| 24 |
+ } |
| 25 |
+ if (!doit) |
| 26 |
+ return 1; |
| 27 |
+ |
| 28 |
memcpy(&pvcaddr, &addr, sizeof pvcaddr); |
| 29 |
strlcpy(devnam, cp, sizeof devnam); |
| 30 |
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 |
@@ -179,16 +182,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 |
@@ -202,7 +208,7 @@ static void recv_config_pppoa(int mru, |
| 77 |
|
| 78 |
void plugin_init(void) |
| 79 |
{ |
| 80 |
-#if defined(__linux__) |
| 81 |
+#ifdef linux |
| 82 |
extern int new_style_driver; /* From sys-linux.c */ |
| 83 |
if (!ppp_available() && !new_style_driver) |
| 84 |
fatal("Kernel doesn't support ppp_generic - " |
| 85 |
@@ -210,9 +216,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, |