ALT Linux Bugzilla
– Attachment 2323 Details for
Bug 9800
[FR] Add ppp-2.4.2-minunit.patch
New bug
|
Search
|
[?]
|
Help
Register
|
Log In
[x]
|
Forgot Password
Login:
[x]
|
EN
|
RU
[patch]
ppp-2.4.4-alt-minunit.patch
ppp-2.4.4-alt-minunit.patch (text/plain), 3.71 KB, created by
Michael Shigorin
on 2007-12-08 22:01:00 MSK
(
hide
)
Description:
ppp-2.4.4-alt-minunit.patch
Filename:
MIME Type:
Creator:
Michael Shigorin
Created:
2007-12-08 22:01:00 MSK
Size:
3.71 KB
patch
obsolete
>diff -Naur ppp-2.4.4-upto52/pppd/options.c ppp-2.4.4/pppd/options.c >--- ppp-2.4.4-upto52/pppd/options.c 2007-12-08 21:52:54 +0300 >+++ ppp-2.4.4/pppd/options.c 2007-12-08 21:56:20 +0300 >@@ -119,6 +119,7 @@ > bool tune_kernel; /* may alter kernel settings */ > int connect_delay = 1000; /* wait this many ms after connect script */ > int req_unit = -1; /* requested interface unit */ >+int req_minunit = -1; /* requested minimal interface unit */ > char req_ifname[MAXIFNAMELEN]; /* requested interface name */ > bool multilink = 0; /* Enable multilink operation */ > char *bundle_name = NULL; /* bundle name for multilink */ >@@ -287,6 +288,9 @@ > { "unit", o_int, &req_unit, > "PPP interface unit number to use if possible", > OPT_PRIO | OPT_LLIMIT, 0, 0 }, >+ { "minunit", o_int, &req_minunit, >+ "PPP interface minimal unit number", >+ OPT_PRIO | OPT_LLIMIT, 0, 0 }, > > { "ifname", o_string, req_ifname, > "Set PPP interface name", >diff -Naur ppp-2.4.4-upto52/pppd/pppd.8 ppp-2.4.4/pppd/pppd.8 >--- ppp-2.4.4-upto52/pppd/pppd.8 2007-12-08 21:52:54 +0300 >+++ ppp-2.4.4/pppd/pppd.8 2007-12-08 21:53:34 +0300 >@@ -1051,6 +1051,12 @@ > Set the ppp interface name for outbound connections. A failure to set the > name will terminate the pppd. > .TP >+.B minunit \fInum >+Such as unit, but always select bigger interface >+.TP >+.B minunit \fInum >+PPP interface minimal unit number. Such as unit, but always select bigger interface >+.TP > .B updetach > With this option, pppd will detach from its controlling terminal once > it has successfully established the ppp connection (to the point where >diff -Naur ppp-2.4.4-upto52/pppd/pppd.h ppp-2.4.4/pppd/pppd.h >--- ppp-2.4.4-upto52/pppd/pppd.h 2007-12-08 21:52:54 +0300 >+++ ppp-2.4.4/pppd/pppd.h 2007-12-08 21:55:46 +0300 >@@ -87,6 +87,7 @@ > #define MAXARGS 1 /* max # args to a command */ > #define MAXNAMELEN 256 /* max length of hostname or name for auth */ > #define MAXSECRETLEN 256 /* max length of password or secret */ >+#define MAXUNIT 255 /* max ppp interface */ > #define MAXIFNAMELEN 32 /* max length of interface name; or use IFNAMSIZ, can we > always include net/if.h? */ > >@@ -329,6 +330,7 @@ > extern int connect_delay; /* Time to delay after connect script */ > extern int max_data_rate; /* max bytes/sec through charshunt */ > extern int req_unit; /* interface unit number to use */ >+extern int req_minunit; /* interface minimal unit number to use */ > extern char req_ifname[MAXIFNAMELEN]; /* interface name to use */ > extern bool multilink; /* enable multilink operation */ > extern bool noendpoint; /* don't send or accept endpt. discrim. */ >diff -Naur ppp-2.4.4-upto52/pppd/sys-linux.c ppp-2.4.4/pppd/sys-linux.c >--- ppp-2.4.4-upto52/pppd/sys-linux.c 2007-12-08 21:52:54 +0300 >+++ ppp-2.4.4/pppd/sys-linux.c 2007-12-08 21:53:34 +0300 >@@ -630,13 +630,26 @@ > || fcntl(ppp_dev_fd, F_SETFL, flags | O_NONBLOCK) == -1) > warn("Couldn't set /dev/ppp to nonblock: %m"); > >- ifunit = req_unit; >- x = ioctl(ppp_dev_fd, PPPIOCNEWUNIT, &ifunit); >- if (x < 0 && req_unit >= 0 && errno == EEXIST) { >+ if (req_minunit > -1) { >+ for(ifunit = req_minunit;req_minunit < MAXUNIT; ifunit = ++req_minunit) { >+ x = ioctl(ppp_dev_fd, PPPIOCNEWUNIT, &ifunit); >+ if (x < 0 && errno == EEXIST) { >+ warn("Couldn't allocate PPP unit %d as it is already in use try to attempt next", req_minunit); >+ } >+ if (x >= 0) >+ break; >+ } >+ } >+ if ((x < 0) || (req_minunit == -1)) { >+ ifunit = req_unit; >+ x = ioctl(ppp_dev_fd, PPPIOCNEWUNIT, &ifunit); >+ if (x < 0 && req_unit >= 0 && errno == EEXIST) { > warn("Couldn't allocate PPP unit %d as it is already in use", req_unit); > ifunit = -1; > x = ioctl(ppp_dev_fd, PPPIOCNEWUNIT, &ifunit); >+ } > } >+ > if (x < 0) > error("Couldn't create new ppp unit: %m"); >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 9800
:
1545
| 2323