summaryrefslogtreecommitdiff
path: root/net-dialup/xl2tpd
diff options
context:
space:
mode:
Diffstat (limited to 'net-dialup/xl2tpd')
-rw-r--r--net-dialup/xl2tpd/Manifest15
-rw-r--r--net-dialup/xl2tpd/files/xl2tpd-1.3.0-LDFLAGS.patch15
-rw-r--r--net-dialup/xl2tpd/files/xl2tpd-1.3.1-CFLAGS.patch19
-rw-r--r--net-dialup/xl2tpd/files/xl2tpd-1.3.1-kernelmode.patch361
-rw-r--r--net-dialup/xl2tpd/files/xl2tpd-1.3.1-no-type-punning-b119c0da.patch23
-rw-r--r--net-dialup/xl2tpd/files/xl2tpd-init31
-rw-r--r--net-dialup/xl2tpd/metadata.xml1
-rw-r--r--net-dialup/xl2tpd/xl2tpd-1.3.1-r2.ebuild52
-rw-r--r--net-dialup/xl2tpd/xl2tpd-1.3.1-r3.ebuild52
-rw-r--r--net-dialup/xl2tpd/xl2tpd-1.3.1-r4.ebuild52
-rw-r--r--net-dialup/xl2tpd/xl2tpd-1.3.10.ebuild2
-rw-r--r--net-dialup/xl2tpd/xl2tpd-1.3.9.ebuild55
12 files changed, 3 insertions, 675 deletions
diff --git a/net-dialup/xl2tpd/Manifest b/net-dialup/xl2tpd/Manifest
index 9330307f1cd8..4f72982bf5b0 100644
--- a/net-dialup/xl2tpd/Manifest
+++ b/net-dialup/xl2tpd/Manifest
@@ -1,24 +1,13 @@
-AUX xl2tpd-1.3.0-LDFLAGS.patch 387 BLAKE2B 30effc2e73dce7527ac91950276cb3cad9b87a416f490b855447e46fa19116d234cef63111b9e7837a929bd2163dc6afe5d1b7aff0c5fac91a3ba40217eff0ac SHA512 e388638b623cae4464bd6946b81682ef8a41c50dd3b93d64a9888e94ff34a7e97db1b34b2c950b3e73a783024e5542ce4d18e63c2465787cc25c0a4e8f28f39e
-AUX xl2tpd-1.3.1-CFLAGS.patch 522 BLAKE2B 49e0bfc7f1b99a677b26902a0e3d48752880bb3e816bf3f8ebf935b469e8d2b1bcb1dde0f15ad20791c120357b605ee5a572c96b5bb651a2d39d6e1c383cdde9 SHA512 f8b9b684f92104d1d3f1db1784d2961b537ef204ba426ff7d277a23b564137a5ab42a3db2f9b9259f45cfadbe528bfb0588fb69cbde2e0193be508d6e1786451
-AUX xl2tpd-1.3.1-kernelmode.patch 12375 BLAKE2B 78d930943daae0f71a213745a9f3e07cb068701c9f8b18e624c0015c6a846ce4037dc8a6e53d4ab00ae5c00fda758275382af2c3d5161c2d2321c8c058addc1a SHA512 05ba1380a96dfc3e9ed90fff2ef3746e5b3f835f77220723a702a7581e2b6638e58d0dde3833c2f4f91043322a14a05f8fb5b412ba13d7f879af9452f3e94696
-AUX xl2tpd-1.3.1-no-type-punning-b119c0da.patch 849 BLAKE2B bf4c78f905af0c579cfc7ec56f920bccf0c862e2d25c29c3777c431240d86c3b422cac34bd46dbd1784bcc5d9d1f3583dea124b64346dd99d201c2110736e75a SHA512 3d1229f47bb0b5ea0817f1cacc6870221179d43f1602ca71af6bdbf74d3b36d4267482d0767344c0bde51f0d967ed3b2045adde6e4dc02d4baf11f7977d41b8f
AUX xl2tpd-dnsretry.patch 1509 BLAKE2B 54e0a77a765670b47742eb525a99a239de06d1ae2d4c638dbc57224c4fe5a729312ba14fc0f6f4eeb070303ca4771758b94b178c0c2790f79bea668d074fcfc0 SHA512 7999c8e990f7bcd620042295e5fc6e12cf4b1e4faf7cd560bdd4ade4103b171e76a06cb11caea0046b8141a4fa9592bd8851f933072c5e7f71d8b1f4b6fb2bbd
-AUX xl2tpd-init 617 BLAKE2B 8d18c02867d54795555cb29c357a21f7e327f961daa57e1a4041c1dcbac4d6e9447fd484430ecff8d4addac8ea97b8f7cc04b1b13f532c746fe9ebd12fcad4e3 SHA512 c1a66ae80ee87e31bb1a1f81ee353d32a454092af4a11948de52a871f79e43b60169b250c3fa79ee8e93d8d3b93a7dd680fc4b9989470e707e9b4fd9534250de
AUX xl2tpd-init-r1 272 BLAKE2B 0a0f350d5ce3ce297b120750bed742eece7ee6f6b5c5ea24c09b2015a3b5dd2621eff76aa05cee56e5ed795df3204b2d81f8394de492ea655011a8efed3b8982 SHA512 80235d4084963f9285fc11f30ca648ebe4a23e3f74e41fddb81d6fdc08808b1772163192f61f56c677c3003f10809f7d014ddeaa427eabfad490106ac7e14f67
AUX xl2tpd.conf 18 BLAKE2B 1486c7555965c14429cbbc7ab5dcebac02aa0639204d3eb203b58f6f46a042de4daa9a278d4e6f32ba6dca563c2de9757cf0e5af59563c5e0250b048a4f1f30f SHA512 0b3c6d4784b997d12734fe1e5165dc066269db24608638566c0fc317c1927331ed806fdb7a4f816bd16d1f22046b52badd99c2f0977c157b2b3f3ed42071ae42
AUX xl2tpd.service 232 BLAKE2B 16578777774cd7d378efb37f917e368d39f84267c45184d9b72a9d501f75e59cf2f14e1326c347cc4d62c541696a2cf4e5af51f13c0c909c26f908a374944e39 SHA512 184b4f63492c5a09fa61ebf0913a4a47e1cd3b321b80b122f2177ff8f5c9eccdc4a73831dfffc3c2e39325f5cb0b30c4e3f99c1f0fed1f21935be5da38a83579
-DIST xl2tpd-1.3.1.tar.gz 551923 BLAKE2B 2e0429167c73f0afab1bb79e0b81e0500ff8c4b1c32318fc7ec64f16bbffbf4099b8fba4efc172ccccad3e9cfbba1ad5eb4fb6a3a8243da592465bb07409c93d SHA512 2265a19eda1521fd4314ad1b28cc1bb781d2f0edb06ad619afbb364f5896e23db7e444ac10709c1ae9b9ac648e4354aea7af57bb5bc20b706b00e2a131fc29d6
DIST xl2tpd-1.3.10.tar.gz 510777 BLAKE2B 15ec09a6186d20facd4eceeca87a33a4676644a6976c2b69a61b288a2534c354bcc9b64eca4305aa7774d3b5fc29c97078478bebec7e81f8071865b29a97809e SHA512 304b8cd098608a866d32c65c55ba98a01e10abb473d8bff488c723fd1f6d4a66cf98c6d3044f7986a334739693767608c48999f873e95a51f0fa6c23cb61ecd4
DIST xl2tpd-1.3.11.tar.gz 510652 BLAKE2B c120ba0a2bb96a87334743319808e4a1dfb1b95140fc37df51c33e176bdefdac547ad27d38731bab9d94a939b9a3ca93404ef17c8076e16567a3ecc5b568fb47 SHA512 9fd478aa6b7e22867aa977aa0c22ba9d856e3b659aa0ffdcdb17aa0d8358cceab37da565eeb799590d65fc2914720715423e006f6bbe7ca742f09d7cced52cb7
DIST xl2tpd-1.3.12.tar.gz 513173 BLAKE2B a1f2e4d0e1af4402679eeec6589ca17b0422c664d37beae628511f988f6508ca22160d4657f8ff84bc5e5aac4d3e837c501b4d307964530044a792f2ecc599ab SHA512 e18f15ba038cd358fbad9dd7284c5f3c34273d9291bf8c66494c46d78150acfc1666cbf935fb5a66bd1f0220014f0b49fa0f7f55cb42de125e4123112c6eb00b
DIST xl2tpd-1.3.6.tar.gz 553981 BLAKE2B 3e79534fe3eaa906cf09da93b7f6be2931e4c7fc8ff43dd9683ae846e1e2351c3bee81ac8853dee6c7e45ad8b60f8727edbd95d6dd30cc508288227b09da351c SHA512 868c65660e6a45fb8dc22b95542e9d6ca0dc8e5033cc9df04171a651ef273bc5d711a85f61d4a971d714089f7a10ee67460d8ab9f3c007fcffe0e11e81ae0bfd
-DIST xl2tpd-1.3.9.tar.gz 510538 BLAKE2B cf0ee309f13ab4024b97b1ca6fec2ec412b8084524b3bc6c108ba464c0b11b2483c4a166cf3f9afe8d6d64cd6db49b6cd6275ba204c4d8f2401d6fa58a7301de SHA512 858e342e3f5b9c460c8fd041cb2873c79dbb9fbef1e5caf8c367a6c74ca175c2a020a4b152757892c24950eebf701324c0ba682eafd23cd370d36da7118cb3d9
-EBUILD xl2tpd-1.3.1-r2.ebuild 1585 BLAKE2B 10aebac6dba2cffe9ae6d4a0a60026afe5e22001d0fad7d7aa6ec58f4377d1d1bcfb359412add2daffc64c95b81ac813f395dbc9dcebedc13962011f46f9469b SHA512 4c98a2b83d51a08045d8921c0f2390b3f79dbcc48b67601e51a13c3a1e047a6fd07db880df53428b7a17dcb4375ca1748f1467b9119ded5954c9f7ddff22df64
-EBUILD xl2tpd-1.3.1-r3.ebuild 1641 BLAKE2B 424556a1034f71430e18c1f8bbc5e42dcab9f6a847e84fe26dd77ab6180275a5b436692aa1eb27b1c3d42719223b14ab46e5b28bd0f18749619cca5b98120c48 SHA512 cd6af025e51af02060f5408ee7550bd9af5be0db2d4bcc8c5e37342572a2416e7754f91c6df9c1beea7ba3b077d9aadf2ec4ebb5e64a922d575d46c7bf4db78d
-EBUILD xl2tpd-1.3.1-r4.ebuild 1646 BLAKE2B d5259a97bf9969e74abbdc5496a0f38f9f5c931d295139736f81cf881e9e74cf17580d08c6ecf3cc199b1b82a55c9c4bbacc620a25d110e11c32766416f51229 SHA512 10a1cf9ca036b556ae0468846105eb18c197e18b8524cb525e1023d830b398398e9d7c0b88155379c0f4d042a8469f11f336b71f8c48885e3db109baba817273
-EBUILD xl2tpd-1.3.10.ebuild 1426 BLAKE2B 719f381bac134c3d0639339710b98a91db76a7648b97c3800e29307133fd8421fef8256841234ff40578adef76f42d700428229904e5db9d1e233d71629ce657 SHA512 1d806c941669e5dad46123aef439a06f4aac46e071e6781d94fbe1fb9df72cda2a1329da4b92a2f8e02e23f427c88e90298d1538a002c35a1f8b46e66dd3aaa6
+EBUILD xl2tpd-1.3.10.ebuild 1425 BLAKE2B bc0818635d0bb8afcdd156627b8aa9d17a4f994218f3b99d79b42145267ce41034000bea0d939ec434a69883b18644109d14d8a269278c9990cf237d063c8459 SHA512 1eefffdad13cbd8c20f44d07795ce5fa91992c4b742a4888aff3c91e1ec4bb5c956da7a064b9d7f741b64a4d50b1faa797f235d9f039dc998c59212d29be15f1
EBUILD xl2tpd-1.3.11.ebuild 1428 BLAKE2B 58651df441e16d91d8581a802392328a15350101f2d866b2c31205054779648fd1372520200140392e9078b2e32d0b1b2f061d5c71b1046369e772220ed6734f SHA512 9cee0c5c5b4d36ef43f65347ddcf1b8f6dc7d317f1f300fea2b6634f23ae656ba535674ba3b186bb725adf73f64bdf251e53a03b7c02b8235e99d87392fdb8ae
EBUILD xl2tpd-1.3.12.ebuild 1004 BLAKE2B a796ad76184d12a65580ae78f74d7d9b1441218575e9ba0251f12c3a455d3a08a842788d3ab5a1ea8b3bbd0f31f844ef3d5bd9b1d3caf58752102b5dbfb9dc3d SHA512 f71ebce1cbb0c62164433a1a17685d1c38c5b359b49bec046e10c9fbb9d4eff0b2878f2aae0fa1630b9126ddb7bf5888beb5ddf78bfc764b7116f75743239ea4
EBUILD xl2tpd-1.3.6.ebuild 1344 BLAKE2B 3e7a3a796dab934943f1a3459c3cb92597b4f33063b3f4cb44a6324171e037e5a1ee1fd6aaae8818857dd8c9a2607d8c585107c92b864569217b4c3492613894 SHA512 7f12712ad899f57b32b8533340c0e57cfcb8907f5031715e548c9286b1ae4b77c0486c547355f0beadba267aa945169f9149b078373cbd8f5a82d0547ca1f58b
-EBUILD xl2tpd-1.3.9.ebuild 1429 BLAKE2B df4c49511a10dd47f7a38c436ae4ed4fbfc40dc0b6f277deb232840852c9cdcfb74d14dc2b9ac2113155bc7955a1231fccf61c0ba1e64bbc82b79850e14b2eb3 SHA512 2e54802e5bd813dbb4e27bb7a474667fef31f6239659780d7eadca93cc331305ddce0df7814f6f7504ee93a1b2cb9d2d0046dd676c72937299c23d121ab0ab90
-MISC metadata.xml 956 BLAKE2B 6091603a330f7056f8710c185d5bb6f83e60d7d7063d2844125568d81353da7c79a6c56d3652d2fcfd373a3f5c310a7aa64b6231ac9ed39a41485ccf788cb0ec SHA512 22a1d2541c0bd7e46a54a75d4199233d216b2678bc7c60b0c0c29d2cfc1c9f6320afb22611e1f4fd1b1801fb2084d565a79cb3eeaa5092d9e836a8fdf3dcc9cb
+MISC metadata.xml 890 BLAKE2B f67510f849125ef7ee64c3caca3c4fa82ed73a7b6e7ea66b10699794811a25ce6a6b3bf6a67f58fccf26db18016b0afcc55f739623925871782bf19d666efe40 SHA512 50133ce8a2cb581602a36995ceac1e80a28216b83998889af3f7f51acee96b0b2183d96637ef7107b76a719a894c29c86654b471cc09c0fe330dd7428f484e05
diff --git a/net-dialup/xl2tpd/files/xl2tpd-1.3.0-LDFLAGS.patch b/net-dialup/xl2tpd/files/xl2tpd-1.3.0-LDFLAGS.patch
deleted file mode 100644
index 8203e51ebc1f..000000000000
--- a/net-dialup/xl2tpd/files/xl2tpd-1.3.0-LDFLAGS.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-"Submitted" upstream: https://github.com/xelerance/xl2tpd/pull/4
-
-=== modified file 'Makefile'
---- Makefile 2011-09-20 04:44:23 +0000
-+++ Makefile 2011-09-20 04:44:35 +0000
-@@ -114,7 +114,7 @@
- $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LDLIBS)
-
- $(CONTROL_EXEC): $(CONTROL_SRCS)
-- $(CC) $(CONTROL_SRCS) -o $@
-+ $(CC) $(LDFLAGS) $(CONTROL_SRCS) -o $@
-
- pfc:
- $(CC) $(CFLAGS) -c contrib/pfc.c
-
diff --git a/net-dialup/xl2tpd/files/xl2tpd-1.3.1-CFLAGS.patch b/net-dialup/xl2tpd/files/xl2tpd-1.3.1-CFLAGS.patch
deleted file mode 100644
index b069a9a4822d..000000000000
--- a/net-dialup/xl2tpd/files/xl2tpd-1.3.1-CFLAGS.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-commit 898e8541804d0f5a6475b27f8ca5e57cf282208f
-Author: Mike Gilbert <floppym@gentoo.org>
-Date: Tue Dec 25 16:05:33 2012 -0500
-
- Respect CFLAGS for xl2tpd-control.
-
-diff --git a/Makefile b/Makefile
-index 2a0f341..d694246 100644
---- a/Makefile
-+++ b/Makefile
-@@ -115,7 +115,7 @@ $(EXEC): $(OBJS) $(HDRS)
- $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LDLIBS)
-
- $(CONTROL_EXEC): $(CONTROL_SRCS)
-- $(CC) $(LDFLAGS) $(CONTROL_SRCS) -o $@
-+ $(CC) $(CFLAGS) $(LDFLAGS) $(CONTROL_SRCS) -o $@
-
- pfc:
- $(CC) $(CFLAGS) -c contrib/pfc.c
diff --git a/net-dialup/xl2tpd/files/xl2tpd-1.3.1-kernelmode.patch b/net-dialup/xl2tpd/files/xl2tpd-1.3.1-kernelmode.patch
deleted file mode 100644
index 5ce9b1244c76..000000000000
--- a/net-dialup/xl2tpd/files/xl2tpd-1.3.1-kernelmode.patch
+++ /dev/null
@@ -1,361 +0,0 @@
-https://bugs.gentoo.org/show_bug.cgi?id=441828
-
-Based on Fedora patch
-http://pkgs.fedoraproject.org/cgit/xl2tpd.git/plain/xl2tpd-1.3.1-kernelmode.patch
-
-Which is based on a patch by Sergey Fionov (sigwall)
-https://github.com/sigwall/overlay/blob/master/net-dialup/xl2tpd/files/xl2tpd-1.3.0-kernel.patch
-
-diff --git a/call.c b/call.c
-index d1b1858..b672f91 100644
---- a/call.c
-+++ b/call.c
-@@ -680,6 +680,8 @@ struct call *get_call (int tunnel, int call, struct in_addr addr, int port,
- st->peer.sin_port = port;
- st->refme = refme;
- st->refhim = refhim;
-+ st->udp_fd = -1;
-+ st->pppox_fd = -1;
- bcopy (&addr, &st->peer.sin_addr, sizeof (addr));
- st->next = tunnels.head;
- tunnels.head = st;
-diff --git a/control.c b/control.c
-index 6a41143..8937f2e 100644
---- a/control.c
-+++ b/control.c
-@@ -596,6 +596,9 @@ int control_finish (struct tunnel *t, struct call *c)
- if (gconfig.debug_state)
- l2tp_log (LOG_DEBUG, "%s: sending SCCCN\n", __FUNCTION__);
- control_xmit (buf);
-+
-+ connect_pppol2tp(t);
-+
- /* Schedule a HELLO */
- tv.tv_sec = HELLO_DELAY;
- tv.tv_usec = 0;
-@@ -608,6 +611,7 @@ int control_finish (struct tunnel *t, struct call *c)
- "Connection established to %s, %d. Local: %d, Remote: %d (ref=%u/%u).\n",
- IPADDY (t->peer.sin_addr),
- ntohs (t->peer.sin_port), t->ourtid, t->tid, t->refme, t->refhim);
-+
- if (t->lac)
- {
- /* This is part of a LAC, so we want to go ahead
-@@ -635,6 +639,9 @@ int control_finish (struct tunnel *t, struct call *c)
- IPADDY (t->peer.sin_addr),
- ntohs (t->peer.sin_port), t->ourtid, t->tid, t->refme, t->refhim,
- t->lns->entname);
-+
-+ connect_pppol2tp(t);
-+
- /* Schedule a HELLO */
- tv.tv_sec = HELLO_DELAY;
- tv.tv_usec = 0;
-diff --git a/l2tp.h b/l2tp.h
-index ac22f3f..0062095 100644
---- a/l2tp.h
-+++ b/l2tp.h
-@@ -167,6 +167,8 @@ struct tunnel
- int ourrws; /* Receive Window Size */
- int rxspeed; /* Receive bps */
- int txspeed; /* Transmit bps */
-+ int udp_fd; /* UDP fd */
-+ int pppox_fd; /* PPPOX tunnel fd */
- struct call *self;
- struct lns *lns; /* LNS that owns us */
- struct lac *lac; /* LAC that owns us */
-@@ -220,6 +222,7 @@ extern void control_xmit (void *);
- extern int ppd;
- extern int switch_io; /* jz */
- extern int control_fd;
-+extern int connect_pppol2tp(struct tunnel *t);
- extern int start_pppd (struct call *c, struct ppp_opts *);
- extern void magic_lac_dial (void *);
- extern int get_entropy (unsigned char *, int);
-diff --git a/network.c b/network.c
-index 82aedd7..8a3fec2 100644
---- a/network.c
-+++ b/network.c
-@@ -22,6 +22,7 @@
- #include <unistd.h>
- #include <stdlib.h>
- #include <sys/ioctl.h>
-+#include <sys/wait.h>
- #ifndef LINUX
- # include <sys/uio.h>
- #endif
-@@ -36,7 +37,6 @@ int server_socket; /* Server socket */
- int kernel_support; /* Kernel Support there or not? */
- #endif
-
--
- int init_network (void)
- {
- long arg;
-@@ -45,6 +45,7 @@ int init_network (void)
- server.sin_family = AF_INET;
- server.sin_addr.s_addr = gconfig.listenaddr;
- server.sin_port = htons (gconfig.port);
-+ int flags;
- if ((server_socket = socket (PF_INET, SOCK_DGRAM, 0)) < 0)
- {
- l2tp_log (LOG_CRIT, "%s: Unable to allocate socket. Terminating.\n",
-@@ -52,6 +53,10 @@ int init_network (void)
- return -EINVAL;
- };
-
-+ flags = 1;
-+ setsockopt(server_socket, SOL_SOCKET, SO_REUSEADDR, &flags, sizeof(flags));
-+ setsockopt(server_socket, SOL_SOCKET, SO_NO_CHECK, &flags, sizeof(flags));
-+
- if (bind (server_socket, (struct sockaddr *) &server, sizeof (server)))
- {
- close (server_socket);
-@@ -94,7 +99,7 @@ int init_network (void)
- int kernel_fd = socket(AF_PPPOX, SOCK_DGRAM, PX_PROTO_OL2TP);
- if (kernel_fd < 0)
- {
-- l2tp_log (LOG_INFO, "L2TP kernel support not detected.\n");
-+ l2tp_log (LOG_INFO, "L2TP kernel support not detected (try modprobing l2tp_ppp and pppol2tp)\n");
- kernel_support = 0;
- }
- else
-@@ -321,6 +326,11 @@ int build_fdset (fd_set *readfds)
-
- while (tun)
- {
-+ if (tun->udp_fd > -1) {
-+ if (tun->udp_fd > max)
-+ max = tun->udp_fd;
-+ FD_SET (tun->udp_fd, readfds);
-+ }
- call = tun->call_head;
- while (call)
- {
-@@ -390,6 +400,8 @@ void network_thread ()
- struct iovec iov;
- char cbuf[256];
- unsigned int refme, refhim;
-+ int * currentfd;
-+ int server_socket_processed;
-
- /* This one buffer can be recycled for everything except control packets */
- buf = new_buf (MAX_RECV_SIZE);
-@@ -428,7 +440,21 @@ void network_thread ()
- {
- do_control ();
- }
-- if (FD_ISSET (server_socket, &readfds))
-+ server_socket_processed = 0;
-+ currentfd = NULL;
-+ st = tunnels.head;
-+ while (st || !server_socket_processed) {
-+ if (st && (st->udp_fd == -1)) {
-+ st=st->next;
-+ continue;
-+ }
-+ if (st) {
-+ currentfd = &st->udp_fd;
-+ } else {
-+ currentfd = &server_socket;
-+ server_socket_processed = 1;
-+ }
-+ if (FD_ISSET (*currentfd, &readfds))
- {
- /*
- * Okay, now we're ready for reading and processing new data.
-@@ -456,12 +482,19 @@ void network_thread ()
- msgh.msg_flags = 0;
-
- /* Receive one packet. */
-- recvsize = recvmsg(server_socket, &msgh, 0);
-+ recvsize = recvmsg(*currentfd, &msgh, 0);
-
- if (recvsize < MIN_PAYLOAD_HDR_LEN)
- {
- if (recvsize < 0)
- {
-+ if (errno == ECONNREFUSED) {
-+ close(*currentfd);
-+ }
-+ if ((errno == ECONNREFUSED) ||
-+ (errno == EBADF)) {
-+ *currentfd = -1;
-+ }
- if (errno != EAGAIN)
- l2tp_log (LOG_WARNING,
- "%s: recvfrom returned error %d (%s)\n",
-@@ -566,6 +599,8 @@ void network_thread ()
- }
- };
- }
-+ if (st) st=st->next;
-+ }
-
- /*
- * finished obvious sources, look for data from PPP connections.
-@@ -638,3 +673,82 @@ void network_thread ()
- }
-
- }
-+
-+int connect_pppol2tp(struct tunnel *t) {
-+#ifdef USE_KERNEL
-+ if (kernel_support) {
-+ int ufd = -1, fd2 = -1;
-+ int flags;
-+ struct sockaddr_pppol2tp sax;
-+
-+ struct sockaddr_in server;
-+ server.sin_family = AF_INET;
-+ server.sin_addr.s_addr = gconfig.listenaddr;
-+ server.sin_port = htons (gconfig.port);
-+ if ((ufd = socket (PF_INET, SOCK_DGRAM, 0)) < 0)
-+ {
-+ l2tp_log (LOG_CRIT, "%s: Unable to allocate UDP socket. Terminating.\n",
-+ __FUNCTION__);
-+ return -EINVAL;
-+ };
-+
-+ flags=1;
-+ setsockopt(ufd, SOL_SOCKET, SO_REUSEADDR, &flags, sizeof(flags));
-+ setsockopt(ufd, SOL_SOCKET, SO_NO_CHECK, &flags, sizeof(flags));
-+
-+ if (bind (ufd, (struct sockaddr *) &server, sizeof (server)))
-+ {
-+ close (ufd);
-+ l2tp_log (LOG_CRIT, "%s: Unable to bind UDP socket: %s. Terminating.\n",
-+ __FUNCTION__, strerror(errno), errno);
-+ return -EINVAL;
-+ };
-+ server = t->peer;
-+ flags = fcntl(ufd, F_GETFL);
-+ if (flags == -1 || fcntl(ufd, F_SETFL, flags | O_NONBLOCK) == -1) {
-+ l2tp_log (LOG_WARNING, "%s: Unable to set UDP socket nonblock.\n",
-+ __FUNCTION__);
-+ return -EINVAL;
-+ }
-+ if (connect (ufd, (struct sockaddr *) &server, sizeof(server)) < 0) {
-+ l2tp_log (LOG_CRIT, "%s: Unable to connect UDP peer. Terminating.\n",
-+ __FUNCTION__);
-+ return -EINVAL;
-+ }
-+
-+ t->udp_fd=ufd;
-+
-+ fd2 = socket(AF_PPPOX, SOCK_DGRAM, PX_PROTO_OL2TP);
-+ if (fd2 < 0) {
-+ l2tp_log (LOG_WARNING, "%s: Unable to allocate PPPoL2TP socket.\n",
-+ __FUNCTION__);
-+ return -EINVAL;
-+ }
-+ flags = fcntl(fd2, F_GETFL);
-+ if (flags == -1 || fcntl(fd2, F_SETFL, flags | O_NONBLOCK) == -1) {
-+ l2tp_log (LOG_WARNING, "%s: Unable to set PPPoL2TP socket nonblock.\n",
-+ __FUNCTION__);
-+ return -EINVAL;
-+ }
-+ sax.sa_family = AF_PPPOX;
-+ sax.sa_protocol = PX_PROTO_OL2TP;
-+ sax.pppol2tp.pid = 0;
-+ sax.pppol2tp.fd = t->udp_fd;
-+ sax.pppol2tp.addr.sin_addr.s_addr = t->peer.sin_addr.s_addr;
-+ sax.pppol2tp.addr.sin_port = t->peer.sin_port;
-+ sax.pppol2tp.addr.sin_family = AF_INET;
-+ sax.pppol2tp.s_tunnel = t->ourtid;
-+ sax.pppol2tp.s_session = 0;
-+ sax.pppol2tp.d_tunnel = t->tid;
-+ sax.pppol2tp.d_session = 0;
-+ if ((connect(fd2, (struct sockaddr *)&sax, sizeof(sax))) < 0) {
-+ l2tp_log (LOG_WARNING, "%s: Unable to connect PPPoL2TP socket. %d %s\n",
-+ __FUNCTION__, errno, strerror(errno));
-+ close(fd2);
-+ return -EINVAL;
-+ }
-+ t->pppox_fd = fd2;
-+ }
-+#endif
-+ return 0;
-+}
-diff --git a/xl2tpd.c b/xl2tpd.c
-index e98c948..8d7d117 100644
---- a/xl2tpd.c
-+++ b/xl2tpd.c
-@@ -278,7 +278,11 @@ void death_handler (int signal)
- struct tunnel *st, *st2;
- int sec;
- l2tp_log (LOG_CRIT, "%s: Fatal signal %d received\n", __FUNCTION__, signal);
-+#ifdef USE_KERNEL
-+ if (kernel_support || signal != SIGTERM) {
-+#else
- if (signal != SIGTERM) {
-+#endif
- st = tunnels.head;
- while (st)
- {
-@@ -349,7 +353,7 @@ int start_pppd (struct call *c, struct ppp_opts *opts)
- int flags;
- #endif
- int pos = 1;
-- int fd2;
-+ int fd2 = -1;
- #ifdef DEBUG_PPPD
- int x;
- #endif
-@@ -397,7 +401,7 @@ int start_pppd (struct call *c, struct ppp_opts *opts)
- sax.sa_family = AF_PPPOX;
- sax.sa_protocol = PX_PROTO_OL2TP;
- sax.pppol2tp.pid = 0;
-- sax.pppol2tp.fd = server_socket;
-+ sax.pppol2tp.fd = c->container->udp_fd;
- sax.pppol2tp.addr.sin_addr.s_addr = c->container->peer.sin_addr.s_addr;
- sax.pppol2tp.addr.sin_port = c->container->peer.sin_port;
- sax.pppol2tp.addr.sin_family = AF_INET;
-@@ -408,6 +412,7 @@ int start_pppd (struct call *c, struct ppp_opts *opts)
- if (connect(fd2, (struct sockaddr *)&sax, sizeof(sax)) < 0) {
- l2tp_log (LOG_WARNING, "%s: Unable to connect PPPoL2TP socket.\n",
- __FUNCTION__);
-+ close(fd2);
- return -EINVAL;
- }
- stropt[pos++] = strdup ("plugin");
-@@ -484,7 +489,7 @@ int start_pppd (struct call *c, struct ppp_opts *opts)
- dup2 (fd2, 0);
- dup2 (fd2, 1);
- close(fd2);
--
-+ }
- /* close all the calls pty fds */
- st = tunnels.head;
- while (st)
-@@ -492,12 +497,17 @@ int start_pppd (struct call *c, struct ppp_opts *opts)
- sc = st->call_head;
- while (sc)
- {
-- close (sc->fd);
-+#ifdef USE_KERNEL
-+ if (kernel_support) {
-+ close(st->udp_fd); /* tunnel UDP fd */
-+ close(st->pppox_fd); /* tunnel PPPoX fd */
-+ } else
-+#endif
-+ close (sc->fd); /* call pty fd */
- sc = sc->next;
- }
- st = st->next;
- }
-- }
-
- /* close the UDP socket fd */
- close (server_socket);
-@@ -615,6 +625,10 @@ void destroy_tunnel (struct tunnel *t)
- the memory pointed to by t->chal_us.vector at some other place */
- if (t->chal_them.vector)
- free (t->chal_them.vector);
-+ if (t->pppox_fd > -1 )
-+ close (t->pppox_fd);
-+ if (t->udp_fd > -1 )
-+ close (t->udp_fd);
- free (t);
- free (me);
- }
diff --git a/net-dialup/xl2tpd/files/xl2tpd-1.3.1-no-type-punning-b119c0da.patch b/net-dialup/xl2tpd/files/xl2tpd-1.3.1-no-type-punning-b119c0da.patch
deleted file mode 100644
index 681d9a6f94c4..000000000000
--- a/net-dialup/xl2tpd/files/xl2tpd-1.3.1-no-type-punning-b119c0da.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-commit b119c0daf006dcf9d960e5a98902d619cdfdf485
-Author: Ted Phelps <phelps@gnusto.com>
-Date: Thu Dec 20 17:53:54 2012 +1100
-
- Avoid type punning: it makes gcc grumpy.
-
- Compilers don't like it when we write to memory as one type and read from it
- as another. Use memcpy instead of typecast games to avoid doing that.
-
-diff --git a/md5.c b/md5.c
-index 175edcc..cb056da 100644
---- a/md5.c
-+++ b/md5.c
-@@ -161,8 +161,7 @@ void MD5Final (unsigned char digest[16], struct MD5Context *ctx)
- byteReverse (ctx->in, 14);
-
- /* Append length in bits and transform */
-- ((uint32 *) ctx->in)[14] = ctx->bits[0];
-- ((uint32 *) ctx->in)[15] = ctx->bits[1];
-+ memcpy(ctx->in + 14 * sizeof(uint32), ctx->bits, sizeof(ctx->bits));
-
- MD5Transform (ctx->buf, (uint32 *) ctx->in);
- byteReverse ((unsigned char *) ctx->buf, 4);
diff --git a/net-dialup/xl2tpd/files/xl2tpd-init b/net-dialup/xl2tpd/files/xl2tpd-init
deleted file mode 100644
index 7323af64087f..000000000000
--- a/net-dialup/xl2tpd/files/xl2tpd-init
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-depend() {
- need net
-}
-
-checkconfig() {
- if [ ! -f /etc/xl2tpd/xl2tpd.conf ] ; then
- eerror "Missing /etc/xl2tpd/xl2tpd.conf configuration file!"
- eerror "Example configuration file could be found in doc directory."
- return 1
- fi
-
- return 0
-}
-
-start() {
- checkconfig || return 1
-
- ebegin "Starting xl2tpd"
- start-stop-daemon --start --quiet --exec /usr/sbin/xl2tpd
- eend $?
-}
-
-stop() {
- ebegin "Stopping xl2tpd"
- start-stop-daemon --stop --quiet --pidfile /var/run/xl2tpd.pid
- eend $?
-}
diff --git a/net-dialup/xl2tpd/metadata.xml b/net-dialup/xl2tpd/metadata.xml
index 8066f7a44b9e..3da1a1ee3824 100644
--- a/net-dialup/xl2tpd/metadata.xml
+++ b/net-dialup/xl2tpd/metadata.xml
@@ -12,7 +12,6 @@
<longdescription>xl2tpd is a fork of l2tpd Layer 2 Tunneling Protocol (L2TP) daemon that can be used to transfer frames of OSI layer 2 protocols through an IP tunnel. While it provides authentication via CHAP or PAP it does not provide encryption itself and should therefore be externally secured (via IPSEC).</longdescription>
<use>
<flag name="dnsretry">Patch for host lookup retries, activated by redial feature</flag>
- <flag name="kernel">Enable kernel interface for PPPoL2TP</flag>
</use>
<upstream>
<remote-id type="github">xelerance/xl2tpd</remote-id>
diff --git a/net-dialup/xl2tpd/xl2tpd-1.3.1-r2.ebuild b/net-dialup/xl2tpd/xl2tpd-1.3.1-r2.ebuild
deleted file mode 100644
index d192d17f4459..000000000000
--- a/net-dialup/xl2tpd/xl2tpd-1.3.1-r2.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="4"
-
-inherit eutils toolchain-funcs vcs-snapshot
-
-DESCRIPTION="A modern version of the Layer 2 Tunneling Protocol (L2TP) daemon"
-HOMEPAGE="http://www.xelerance.com/services/software/xl2tpd/"
-SRC_URI="https://github.com/xelerance/${PN}/tarball/v${PV} -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~ppc x86"
-IUSE="dnsretry +kernel"
-
-DEPEND="net-libs/libpcap"
-RDEPEND="${DEPEND}
- net-dialup/ppp"
-DEPEND+=" kernel? ( >=sys-kernel/linux-headers-2.6.23 )"
-
-src_prepare() {
- epatch "${FILESDIR}/${PN}-1.3.0-LDFLAGS.patch"
- epatch "${FILESDIR}/${PN}-1.3.1-CFLAGS.patch"
- epatch "${FILESDIR}/${PN}-1.3.1-no-type-punning-b119c0da.patch"
- epatch "${FILESDIR}/${PN}-1.3.1-kernelmode.patch"
- sed -i Makefile -e 's| -O2||g' || die "sed Makefile"
- # The below patch is questionable. Why wasn't it submitted upstream? If it
- # ever breaks, it will just be removed. -darkside 20120914
- use dnsretry && epatch "${FILESDIR}/${PN}-dnsretry.patch"
- # Remove bundled headers
- rm -r linux || die
-}
-
-src_compile() {
- tc-export CC
- export OSFLAGS="-DLINUX"
- use kernel && OSFLAGS+=" -DUSE_KERNEL"
- emake
-}
-
-src_install() {
- emake PREFIX=/usr DESTDIR="${D}" install
-
- dodoc CREDITS README.xl2tpd BUGS CHANGES TODO doc/README.patents doc/rfc2661.txt
-
- dodir /etc/xl2tpd
- cp doc/l2tp-secrets.sample "${ED}/etc/xl2tpd/l2tp-secrets" || die
- cp doc/l2tpd.conf.sample "${ED}/etc/xl2tpd/xl2tpd.conf" || die
- fperms 0600 /etc/xl2tpd/l2tp-secrets
- newinitd "${FILESDIR}"/xl2tpd-init-r1 xl2tpd
-}
diff --git a/net-dialup/xl2tpd/xl2tpd-1.3.1-r3.ebuild b/net-dialup/xl2tpd/xl2tpd-1.3.1-r3.ebuild
deleted file mode 100644
index 2988e43fc915..000000000000
--- a/net-dialup/xl2tpd/xl2tpd-1.3.1-r3.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-inherit eutils systemd toolchain-funcs vcs-snapshot
-
-DESCRIPTION="A modern version of the Layer 2 Tunneling Protocol (L2TP) daemon"
-HOMEPAGE="http://www.xelerance.com/services/software/xl2tpd/"
-SRC_URI="https://github.com/xelerance/${PN}/tarball/v${PV} -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~ppc x86"
-IUSE="dnsretry +kernel"
-
-DEPEND="net-libs/libpcap"
-RDEPEND="${DEPEND}
- net-dialup/ppp"
-DEPEND+=" kernel? ( >=sys-kernel/linux-headers-2.6.23 )"
-
-src_prepare() {
- epatch "${FILESDIR}/${PN}-1.3.0-LDFLAGS.patch"
- epatch "${FILESDIR}/${PN}-1.3.1-CFLAGS.patch"
- epatch "${FILESDIR}/${PN}-1.3.1-no-type-punning-b119c0da.patch"
- epatch "${FILESDIR}/${PN}-1.3.1-kernelmode.patch"
- sed -i Makefile -e 's| -O2||g' || die "sed Makefile"
- # The below patch is questionable. Why wasn't it submitted upstream? If it
- # ever breaks, it will just be removed. -darkside 20120914
- use dnsretry && epatch "${FILESDIR}/${PN}-dnsretry.patch"
- # Remove bundled headers
- rm -r linux || die
-}
-
-src_compile() {
- tc-export CC
- export OSFLAGS="-DLINUX"
- use kernel && OSFLAGS+=" -DUSE_KERNEL"
- emake
-}
-
-src_install() {
- emake PREFIX=/usr DESTDIR="${D}" install
- dodoc CREDITS README.xl2tpd BUGS CHANGES TODO doc/README.patents doc/rfc2661.txt
- insinto /etc/xl2tpd
- newins doc/l2tpd.conf.sample xl2tpd.conf
- newins doc/l2tp-secrets.sample l2tp-secrets
- fperms 0600 /etc/xl2tpd/l2tp-secrets
- newinitd "${FILESDIR}"/xl2tpd-init-r1 xl2tpd
- systemd_dounit "${FILESDIR}"/xl2tpd.service
- systemd_dotmpfilesd "${FILESDIR}"/xl2tpd.conf
-}
diff --git a/net-dialup/xl2tpd/xl2tpd-1.3.1-r4.ebuild b/net-dialup/xl2tpd/xl2tpd-1.3.1-r4.ebuild
deleted file mode 100644
index 48cb8655eb27..000000000000
--- a/net-dialup/xl2tpd/xl2tpd-1.3.1-r4.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-inherit eutils systemd toolchain-funcs vcs-snapshot
-
-DESCRIPTION="A modern version of the Layer 2 Tunneling Protocol (L2TP) daemon"
-HOMEPAGE="http://www.xelerance.com/services/software/xl2tpd/"
-SRC_URI="https://github.com/xelerance/${PN}/tarball/v${PV} -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~ppc x86"
-IUSE="dnsretry +kernel"
-
-DEPEND="net-libs/libpcap"
-RDEPEND="${DEPEND}
- net-dialup/ppp"
-DEPEND+=" kernel? ( >=sys-kernel/linux-headers-2.6.23 )"
-
-src_prepare() {
- epatch "${FILESDIR}/${PN}-1.3.0-LDFLAGS.patch"
- epatch "${FILESDIR}/${PN}-1.3.1-CFLAGS.patch"
- epatch "${FILESDIR}/${PN}-1.3.1-no-type-punning-b119c0da.patch"
- epatch "${FILESDIR}/${PN}-1.3.1-kernelmode.patch"
- sed -i Makefile -e 's| -O2||g' || die "sed Makefile"
- # The below patch is questionable. Why wasn't it submitted upstream? If it
- # ever breaks, it will just be removed. -darkside 20120914
- use dnsretry && epatch "${FILESDIR}/${PN}-dnsretry.patch"
- # Remove bundled headers
- rm -r linux || die
-}
-
-src_compile() {
- tc-export CC
- export OSFLAGS="-DLINUX"
- use kernel && OSFLAGS+=" -DUSE_KERNEL"
- emake
-}
-
-src_install() {
- emake PREFIX=/usr DESTDIR="${D}" install
- dodoc CREDITS README.xl2tpd BUGS CHANGES TODO doc/README.patents doc/rfc2661.txt
- insinto /etc/xl2tpd
- newins doc/l2tpd.conf.sample xl2tpd.conf
- newins doc/l2tp-secrets.sample l2tp-secrets
- fperms 0600 /etc/xl2tpd/l2tp-secrets
- newinitd "${FILESDIR}"/xl2tpd-init-r1 xl2tpd
- systemd_dounit "${FILESDIR}"/xl2tpd.service
- systemd_dotmpfilesd "${FILESDIR}"/xl2tpd.conf
-}
diff --git a/net-dialup/xl2tpd/xl2tpd-1.3.10.ebuild b/net-dialup/xl2tpd/xl2tpd-1.3.10.ebuild
index be7b009c0777..700d95b0f6b9 100644
--- a/net-dialup/xl2tpd/xl2tpd-1.3.10.ebuild
+++ b/net-dialup/xl2tpd/xl2tpd-1.3.10.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/xelerance/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 x86"
+KEYWORDS="amd64 ~arm ~arm64 ~mips ~ppc ppc64 x86"
IUSE="dnsretry"
DEPEND="
diff --git a/net-dialup/xl2tpd/xl2tpd-1.3.9.ebuild b/net-dialup/xl2tpd/xl2tpd-1.3.9.ebuild
deleted file mode 100644
index e5b9615f9ca9..000000000000
--- a/net-dialup/xl2tpd/xl2tpd-1.3.9.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit systemd toolchain-funcs
-
-DESCRIPTION="A modern version of the Layer 2 Tunneling Protocol (L2TP) daemon"
-HOMEPAGE="http://www.xelerance.com/services/software/xl2tpd/"
-SRC_URI="https://github.com/xelerance/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~x86"
-IUSE="dnsretry"
-
-DEPEND="
- net-libs/libpcap
- >sys-kernel/linux-headers-2.6"
-
-RDEPEND="
- ${DEPEND}
- net-dialup/ppp"
-
-DOCS=( CREDITS README.xl2tpd BUGS CHANGES TODO doc/README.patents)
-
-src_prepare() {
- default
- # The below patch is questionable. Why wasn't it submitted upstream? If it
- # ever breaks, it will just be removed. -darkside 20120914
- # Patch has been discussed with upstream and is marked as feature by now:
- # https://github.com/xelerance/xl2tpd/issues/134 // -- tenX 2017-08-06
- use dnsretry && eapply -p0 "${FILESDIR}/${PN}-dnsretry.patch"
-}
-
-src_compile() {
- tc-export CC
- emake OSFLAGS="-DLINUX"
-}
-
-src_install() {
- emake PREFIX=/usr DESTDIR="${D}" install
-
- insinto /etc/xl2tpd
- newins doc/l2tpd.conf.sample xl2tpd.conf
- newins doc/l2tp-secrets.sample l2tp-secrets
- fperms 0600 /etc/xl2tpd/l2tp-secrets
-
- newinitd "${FILESDIR}"/xl2tpd-init-r1 xl2tpd
-
- systemd_dounit "${FILESDIR}"/xl2tpd.service
- systemd_dotmpfilesd "${FILESDIR}"/xl2tpd.conf
-
- einstalldocs
-}