summaryrefslogtreecommitdiffstats
path: root/source/n/rp-pppoe/rp-pppoe-3.14-ip-allocation.patch
diff options
context:
space:
mode:
Diffstat (limited to 'source/n/rp-pppoe/rp-pppoe-3.14-ip-allocation.patch')
-rw-r--r--source/n/rp-pppoe/rp-pppoe-3.14-ip-allocation.patch109
1 files changed, 0 insertions, 109 deletions
diff --git a/source/n/rp-pppoe/rp-pppoe-3.14-ip-allocation.patch b/source/n/rp-pppoe/rp-pppoe-3.14-ip-allocation.patch
deleted file mode 100644
index 0fc03e753..000000000
--- a/source/n/rp-pppoe/rp-pppoe-3.14-ip-allocation.patch
+++ /dev/null
@@ -1,109 +0,0 @@
---- ./man/pppoe-server.8.orig 2020-05-26 19:29:37.000000000 -0500
-+++ ./man/pppoe-server.8 2020-05-27 17:54:43.214892590 -0500
-@@ -96,6 +96,11 @@
- of 10.67.15.1 is used.
-
- .TP
-+.B \-D
-+Delegate the allocation of IP addresses to \fBpppd\fR. If specified, no
-+local and remote addresses passed to pppd.
-+
-+.TP
- .B \-N \fInum\fR
- Allows at most \fInum\fR concurrent PPPoE sessions. If not specified,
- the default is 64.
---- ./src/pppoe-server.c.orig 2020-05-26 19:29:37.000000000 -0500
-+++ ./src/pppoe-server.c 2020-05-27 17:56:43.228890338 -0500
-@@ -182,6 +182,9 @@
- unsigned char LocalIP[IPV4ALEN] = {10, 0, 0, 1}; /* Counter optionally STARTS here */
- unsigned char RemoteIP[IPV4ALEN] = {10, 67, 15, 1}; /* Counter STARTS here */
-
-+/* Delegates the allocation of IP addresses to pppd (as the pptpd doing) */
-+int DelegateIPAllocation = 0;
-+
- /* Do we increment local IP for each connection? */
- int IncrLocalIP = 0;
-
-@@ -247,8 +250,8 @@
-
- memset(&conn, 0, sizeof(conn));
- conn.hostUniq = NULL;
--
-- syslog(LOG_INFO,
-+ if (!DelegateIPAllocation) {
-+ syslog(LOG_INFO,
- "Session %u closed for client "
- "%02x:%02x:%02x:%02x:%02x:%02x (%d.%d.%d.%d) on %s",
- (unsigned int) ntohs(session->sess),
-@@ -257,6 +260,15 @@
- (int) session->realpeerip[0], (int) session->realpeerip[1],
- (int) session->realpeerip[2], (int) session->realpeerip[3],
- session->ethif->name);
-+ } else {
-+ syslog(LOG_INFO,
-+ "Session %u closed for client "
-+ "%02x:%02x:%02x:%02x:%02x:%02x on %s",
-+ (unsigned int) ntohs(session->sess),
-+ session->eth[0], session->eth[1], session->eth[2],
-+ session->eth[3], session->eth[4], session->eth[5],
-+ session->ethif->name);
-+ }
- memcpy(conn.myEth, session->ethif->mac, ETH_ALEN);
- conn.discoverySocket = session->ethif->sock;
- conn.session = session->sess;
-@@ -1155,6 +1167,7 @@
- fprintf(stderr, " -L ip -- Set local IP address.\n");
- fprintf(stderr, " -l -- Increment local IP address for each session.\n");
- fprintf(stderr, " -R ip -- Set start address of remote IP pool.\n");
-+ fprintf(stderr, " -D -- Delegates the allocation of IP addresses to pppd.\n");
- fprintf(stderr, " -S name -- Advertise specified service-name.\n");
- fprintf(stderr, " -O fname -- Use PPPD options from specified file\n");
- fprintf(stderr, " (default %s).\n", PPPOE_SERVER_OPTIONS);
-@@ -1224,9 +1237,9 @@
- #endif
-
- #ifndef HAVE_LINUX_KERNEL_PPPOE
-- char *options = "X:ix:hI:C:L:R:T:m:FN:f:O:o:sp:lrudPc:S:1q:Q:H:M:";
-+ char *options = "X:ix:hI:C:L:R:DT:m:FN:f:O:o:sp:lrudPc:S:1q:Q:H:M:";
- #else
-- char *options = "X:ix:hI:C:L:R:T:m:FN:f:O:o:skp:lrudPc:S:1q:Q:H:M:";
-+ char *options = "X:ix:hI:C:L:R:DT:m:FN:f:O:o:skp:lrudPc:S:1q:Q:H:M:";
- #endif
-
- if (getuid() != geteuid() ||
-@@ -1448,6 +1461,10 @@
- }
- break;
-
-+ case 'D':
-+ DelegateIPAllocation = 1;
-+ break;
-+
- case 'T':
- case 'm':
- /* These just get passed to pppoe */
-@@ -2056,6 +2073,7 @@
- argv[c++] = "file";
- argv[c++] = pppoptfile;
-
-+ if (!DelegateIPAllocation) {
- snprintf(buffer, SMALLBUF, "%d.%d.%d.%d:%d.%d.%d.%d",
- (int) session->myip[0], (int) session->myip[1],
- (int) session->myip[2], (int) session->myip[3],
-@@ -2071,6 +2089,16 @@
- session->ethif->name,
- session->serviceName);
- argv[c++] = strdup(buffer);
-+ } else {
-+ syslog(LOG_INFO,
-+ "Session %u created for client %02x:%02x:%02x:%02x:%02x:%02x on %s using Service-Name '%s'",
-+ (unsigned int) ntohs(session->sess),
-+ session->eth[0], session->eth[1], session->eth[2],
-+ session->eth[3], session->eth[4], session->eth[5],
-+ session->ethif->name,
-+ session->serviceName);
-+ }
-+
- if (!argv[c-1]) {
- /* TODO: Send a PADT */
- exit(EXIT_FAILURE);