diff options
Diffstat (limited to 'net-dialup/xl2tpd')
-rw-r--r-- | net-dialup/xl2tpd/Manifest | 15 | ||||
-rw-r--r-- | net-dialup/xl2tpd/files/xl2tpd-1.3.0-LDFLAGS.patch | 15 | ||||
-rw-r--r-- | net-dialup/xl2tpd/files/xl2tpd-1.3.1-CFLAGS.patch | 19 | ||||
-rw-r--r-- | net-dialup/xl2tpd/files/xl2tpd-1.3.1-kernelmode.patch | 361 | ||||
-rw-r--r-- | net-dialup/xl2tpd/files/xl2tpd-1.3.1-no-type-punning-b119c0da.patch | 23 | ||||
-rw-r--r-- | net-dialup/xl2tpd/files/xl2tpd-init | 31 | ||||
-rw-r--r-- | net-dialup/xl2tpd/metadata.xml | 1 | ||||
-rw-r--r-- | net-dialup/xl2tpd/xl2tpd-1.3.1-r2.ebuild | 52 | ||||
-rw-r--r-- | net-dialup/xl2tpd/xl2tpd-1.3.1-r3.ebuild | 52 | ||||
-rw-r--r-- | net-dialup/xl2tpd/xl2tpd-1.3.1-r4.ebuild | 52 | ||||
-rw-r--r-- | net-dialup/xl2tpd/xl2tpd-1.3.10.ebuild | 2 | ||||
-rw-r--r-- | net-dialup/xl2tpd/xl2tpd-1.3.9.ebuild | 55 |
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 -} |