1 |
commit: 20a70440a3d662b3f1fe250f5b9194aab0f3eae9 |
2 |
Author: Sergey Popov <pinkbyte <AT> gentoo <DOT> org> |
3 |
AuthorDate: Tue Jan 24 10:34:13 2017 +0000 |
4 |
Commit: Sergey Popov <pinkbyte <AT> gentoo <DOT> org> |
5 |
CommitDate: Tue Jan 24 10:35:52 2017 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=20a70440 |
7 |
|
8 |
net-misc/quagga: fix quoting in eapply call, security cleanup |
9 |
|
10 |
Gentoo-Bug: 581526 |
11 |
|
12 |
Package-Manager: portage-2.3.3 |
13 |
|
14 |
net-misc/quagga/Manifest | 1 - |
15 |
.../quagga-1.0.20160315-bgpd-logging-fix.patch | 30 ----- |
16 |
...a-1.0.20160315-ospfd-dangling-pointer-fix.patch | 134 -------------------- |
17 |
...quagga-1.0.20160315-ripd-null-pointer-fix.patch | 40 ------ |
18 |
...uagga-1.0.20160315-zebra-ipv6-ra-overflow.patch | 48 -------- |
19 |
net-misc/quagga/quagga-1.0.20160315-r4.ebuild | 137 --------------------- |
20 |
net-misc/quagga/quagga-1.1.0-r2.ebuild | 2 +- |
21 |
7 files changed, 1 insertion(+), 391 deletions(-) |
22 |
|
23 |
diff --git a/net-misc/quagga/Manifest b/net-misc/quagga/Manifest |
24 |
index ee21e46..ed50e66 100644 |
25 |
--- a/net-misc/quagga/Manifest |
26 |
+++ b/net-misc/quagga/Manifest |
27 |
@@ -1,3 +1,2 @@ |
28 |
DIST ht-20040304-classless-bgp.patch 1581 SHA256 39993890f9e31d662ed0564c732fb22392a901beb45b64261ffeadd9edf27887 SHA512 3df102d8ab88aaee1f109a2310602d6f734f2268252e5e42df752df7db7abeac526e969289481c4abfe905dcd41c35dee65196c48ac320fe9d083305451476e8 WHIRLPOOL cef99d64d52ab8c28bd672fb93dfbd8d716a31c76a5403496a6d104a5ff39531d6085134124d41fe4ff7adf895fa001cbe77b6e42846d849d6c108c81583d04e |
29 |
-DIST quagga-1.0.20160315.tar.xz 1819488 SHA256 d284af5dd875dbba90ab875d40db5d68fdc9ede17a76f2af525f85344be56767 SHA512 ad633d189017a2cef68cf1653b85e082a0dc4fe146720a985da8cdf2aa4c61f2df8a8339419c986e9d74aa88f7f7109bc6d0c13d9ff4904a23852cee3e112edc WHIRLPOOL 6f0ac5da5fef382cf7a462f8d2c139bb0d8068e7b772cd48b63aa0752098515d6b5eb9a10a4e1fc7021085e0635248f6075d937901c6207d51bd0f284388541c |
30 |
DIST quagga-1.1.0.tar.gz 2870278 SHA256 f7a43a9c59bfd3722002210530b2553c8d5cc05bfea5acd56d4f102b9f55dc63 SHA512 3b29a90c4f05593714bda3c702fd2c8886ce48fba2fbfb98f55cc04d1025edd5427944e9a9fb7cd630e5e8ccea388b72a8e611ab65c370e760f3f319d03f090f WHIRLPOOL ee4a78b1d20aa9e7e7aea1f0be2adee83efa0fd47a807a4ec1affb1e059fee156861b612f73716cbf80e96cc6676baed062b9440ea7664198078cd6760380573 |
31 |
|
32 |
diff --git a/net-misc/quagga/files/quagga-1.0.20160315-bgpd-logging-fix.patch b/net-misc/quagga/files/quagga-1.0.20160315-bgpd-logging-fix.patch |
33 |
deleted file mode 100644 |
34 |
index 7c7f54c..00000000 |
35 |
--- a/net-misc/quagga/files/quagga-1.0.20160315-bgpd-logging-fix.patch |
36 |
+++ /dev/null |
37 |
@@ -1,30 +0,0 @@ |
38 |
-diff --git a/bgpd/bgp_packet.c b/bgpd/bgp_packet.c |
39 |
-index 740b0f1..9cbb5b5 100644 |
40 |
---- a/bgpd/bgp_packet.c |
41 |
-+++ b/bgpd/bgp_packet.c |
42 |
-@@ -1631,7 +1631,7 @@ bgp_update_receive (struct peer *peer, bgp_size_t size) |
43 |
- NLRI_TYPE_MAX, |
44 |
- }; |
45 |
- struct bgp_nlri nlris[NLRI_TYPE_MAX]; |
46 |
-- |
47 |
-+ |
48 |
- /* Status must be Established. */ |
49 |
- if (peer->status != Established) |
50 |
- { |
51 |
-@@ -1645,6 +1645,7 @@ bgp_update_receive (struct peer *peer, bgp_size_t size) |
52 |
- memset (&attr, 0, sizeof (struct attr)); |
53 |
- memset (&extra, 0, sizeof (struct attr_extra)); |
54 |
- memset (&nlris, 0, sizeof nlris); |
55 |
-+ |
56 |
- attr.extra = &extra; |
57 |
- |
58 |
- s = peer->ibuf; |
59 |
-@@ -1781,6 +1782,8 @@ bgp_update_receive (struct peer *peer, bgp_size_t size) |
60 |
- /* Parse any given NLRIs */ |
61 |
- for (i = NLRI_UPDATE; i < NLRI_TYPE_MAX; i++) |
62 |
- { |
63 |
-+ if (!nlris[i].nlri) continue; |
64 |
-+ |
65 |
- /* We use afi and safi as indices into tables and what not. It would |
66 |
- * be impossible, at this time, to support unknown afi/safis. And |
67 |
- * anyway, the peer needs to be configured to enable the afi/safi |
68 |
|
69 |
diff --git a/net-misc/quagga/files/quagga-1.0.20160315-ospfd-dangling-pointer-fix.patch b/net-misc/quagga/files/quagga-1.0.20160315-ospfd-dangling-pointer-fix.patch |
70 |
deleted file mode 100644 |
71 |
index cc24fba..00000000 |
72 |
--- a/net-misc/quagga/files/quagga-1.0.20160315-ospfd-dangling-pointer-fix.patch |
73 |
+++ /dev/null |
74 |
@@ -1,134 +0,0 @@ |
75 |
-From bb01bdd740339b0c07d8ed0786811801b2a79192 Mon Sep 17 00:00:00 2001 |
76 |
-From: Jafar Al-Gharaibeh <jafar@××××××.com> |
77 |
-Date: Thu, 21 Apr 2016 21:22:33 +0000 |
78 |
-Subject: ospfd: fix - correct neighbor index on changing/p2p/virtual links |
79 |
- |
80 |
-ospfd keeps a list of neighbor routers for each configured interface. This |
81 |
- list is indexed using the neighbor router id in case of point-to-point and |
82 |
- virtual link types, otherwise the list is indexed using the neighbor's |
83 |
- source IP (RFC 2328, page 96). The router adds itself as a "pseudo" neighbor |
84 |
- on each link, and also keeps a pointer called (nbr_self) to the neighbor |
85 |
- structure. This takes place when the interface is first configured. Currently |
86 |
- ospfd adds this pseudo neighbor before the link parameters are fully configure, |
87 |
- including whether the link type is point-to-point or virtual link. This causes |
88 |
- the pseudo neighbor to be always indexed using the source IP address regardless |
89 |
- of th link type. For point-to-point and virtual links, this causes the lookup |
90 |
- for the pseudo neighbor to always fail because the lookup is done using the |
91 |
- router id whereas the neighbor was added using its source IP address. |
92 |
- This becomes really problematic if there is a state change that requires a |
93 |
- rebuild of nbr_self, changing the router id for example. When resetting |
94 |
- nbr_self, the router first tries to remove the pseudo neighbor form its |
95 |
- neighbor list on each link by looking it up and resetting any references to it |
96 |
- before freeing the neighbor structure. since the lookup fails to retrieve any |
97 |
- references in the case of point-to-point and virtual links the neighbor |
98 |
- structure is freed leaving dangling references to it. Any access to the |
99 |
- neighbor list after that is bound to stumble over this dangling pointer |
100 |
- causing ospfd to crash. |
101 |
- |
102 |
-Signed-off-by: Jafar Al-Gharaibeh <jafar@××××××.com> |
103 |
-Tested-by: NetDEF CI System <cisystem@××××××.org> |
104 |
---- |
105 |
-diff --git a/ospfd/ospf_interface.c b/ospfd/ospf_interface.c |
106 |
-index f4242b0..d54bc47 100644 |
107 |
---- a/ospfd/ospf_interface.c |
108 |
-+++ b/ospfd/ospf_interface.c |
109 |
-@@ -232,8 +232,8 @@ ospf_if_new (struct ospf *ospf, struct interface *ifp, struct prefix *p) |
110 |
- /* Set default values. */ |
111 |
- ospf_if_reset_variables (oi); |
112 |
- |
113 |
-- /* Add pseudo neighbor. */ |
114 |
-- oi->nbr_self = ospf_nbr_new (oi); |
115 |
-+ /* Set pseudo neighbor to Null */ |
116 |
-+ oi->nbr_self = NULL; |
117 |
- |
118 |
- oi->ls_upd_queue = route_table_init (); |
119 |
- oi->t_ls_upd_event = NULL; |
120 |
-@@ -902,7 +902,9 @@ ospf_vl_new (struct ospf *ospf, struct ospf_vl_data *vl_data) |
121 |
- if (IS_DEBUG_OSPF_EVENT) |
122 |
- zlog_debug ("ospf_vl_new(): set associated area to the backbone"); |
123 |
- |
124 |
-- ospf_nbr_add_self (voi); |
125 |
-+ /* Add pseudo neighbor. */ |
126 |
-+ ospf_nbr_self_reset (voi); |
127 |
-+ |
128 |
- ospf_area_add_if (voi->area, voi); |
129 |
- |
130 |
- ospf_if_stream_set (voi); |
131 |
-diff --git a/ospfd/ospf_neighbor.c b/ospfd/ospf_neighbor.c |
132 |
-index 862de5e..06e63dd 100644 |
133 |
---- a/ospfd/ospf_neighbor.c |
134 |
-+++ b/ospfd/ospf_neighbor.c |
135 |
-@@ -181,6 +181,35 @@ ospf_nbr_delete (struct ospf_neighbor *nbr) |
136 |
- |
137 |
- route_unlock_node (rn); |
138 |
- } |
139 |
-+ else |
140 |
-+ { |
141 |
-+ /* |
142 |
-+ * This neighbor was not found, but before we move on and |
143 |
-+ * free the neighbor structre, make sure that it was not |
144 |
-+ * indexed incorrectly and ended up in the "worng" place |
145 |
-+ */ |
146 |
-+ |
147 |
-+ /* Reverse the lookup rules */ |
148 |
-+ if (oi->type == OSPF_IFTYPE_VIRTUALLINK || |
149 |
-+ oi->type == OSPF_IFTYPE_POINTOPOINT) |
150 |
-+ p.u.prefix4 = nbr->src; |
151 |
-+ else |
152 |
-+ p.u.prefix4 = nbr->router_id; |
153 |
-+ |
154 |
-+ rn = route_node_lookup (oi->nbrs, &p); |
155 |
-+ if (rn){ |
156 |
-+ /* We found the neighbor! |
157 |
-+ * Now make sure it is not the exact same neighbor |
158 |
-+ * structure that we are about to free |
159 |
-+ */ |
160 |
-+ if (nbr == rn->info){ |
161 |
-+ /* Same neighbor, drop the reference to it */ |
162 |
-+ rn->info = NULL; |
163 |
-+ route_unlock_node (rn); |
164 |
-+ } |
165 |
-+ route_unlock_node (rn); |
166 |
-+ } |
167 |
-+ } |
168 |
- |
169 |
- /* Free ospf_neighbor structure. */ |
170 |
- ospf_nbr_free (nbr); |
171 |
-@@ -207,7 +236,9 @@ ospf_nbr_bidirectional (struct in_addr *router_id, |
172 |
- void |
173 |
- ospf_nbr_self_reset (struct ospf_interface *oi) |
174 |
- { |
175 |
-- ospf_nbr_delete (oi->nbr_self); |
176 |
-+ if (oi->nbr_self) |
177 |
-+ ospf_nbr_delete (oi->nbr_self); |
178 |
-+ |
179 |
- oi->nbr_self = ospf_nbr_new (oi); |
180 |
- ospf_nbr_add_self (oi); |
181 |
- } |
182 |
-diff --git a/ospfd/ospfd.c b/ospfd/ospfd.c |
183 |
-index c9fcdc3..cc76e9e 100644 |
184 |
---- a/ospfd/ospfd.c |
185 |
-+++ b/ospfd/ospfd.c |
186 |
-@@ -754,9 +754,6 @@ add_ospf_interface (struct connected *co, struct ospf_area *area) |
187 |
- oi->params = ospf_lookup_if_params (co->ifp, oi->address->u.prefix4); |
188 |
- oi->output_cost = ospf_if_get_output_cost (oi); |
189 |
- |
190 |
-- /* Add pseudo neighbor. */ |
191 |
-- ospf_nbr_add_self (oi); |
192 |
-- |
193 |
- /* Relate ospf interface to ospf instance. */ |
194 |
- oi->ospf = area->ospf; |
195 |
- |
196 |
-@@ -765,6 +762,9 @@ add_ospf_interface (struct connected *co, struct ospf_area *area) |
197 |
- skip network type setting. */ |
198 |
- oi->type = IF_DEF_PARAMS (co->ifp)->type; |
199 |
- |
200 |
-+ /* Add pseudo neighbor. */ |
201 |
-+ ospf_nbr_self_reset (oi); |
202 |
-+ |
203 |
- ospf_area_add_if (oi->area, oi); |
204 |
- |
205 |
- /* if router_id is not configured, dont bring up |
206 |
--- |
207 |
-cgit v0.9.0.2 |
208 |
- |
209 |
|
210 |
diff --git a/net-misc/quagga/files/quagga-1.0.20160315-ripd-null-pointer-fix.patch b/net-misc/quagga/files/quagga-1.0.20160315-ripd-null-pointer-fix.patch |
211 |
deleted file mode 100644 |
212 |
index e48c304..00000000 |
213 |
--- a/net-misc/quagga/files/quagga-1.0.20160315-ripd-null-pointer-fix.patch |
214 |
+++ /dev/null |
215 |
@@ -1,40 +0,0 @@ |
216 |
-The rip_output_process function dereferenced a NULL |
217 |
-pointer. Core file examination showed that tmp_rinfo |
218 |
-was NULL on line 2435. Looking at the last diff |
219 |
-associated with this commit, it was obvious that |
220 |
-a formating mistake had been made in the loop over |
221 |
-the route nodes list of possible paths. |
222 |
- |
223 |
-Signed-off-by: Donald Sharp <sharpd@×××××××××××××××.com> |
224 |
-Reported-by: Sebastian Kricner <sebastian.kricner@×××××××.net> |
225 |
---- |
226 |
- ripd/ripd.c | 14 ++++++++------ |
227 |
- 1 file changed, 8 insertions(+), 6 deletions(-) |
228 |
- |
229 |
-diff --git a/ripd/ripd.c b/ripd/ripd.c |
230 |
-index 82b1ada..0beb0e6 100644 |
231 |
---- a/ripd/ripd.c |
232 |
-+++ b/ripd/ripd.c |
233 |
-@@ -2429,12 +2429,14 @@ rip_output_process (struct connected *ifc, struct sockaddr_in *to, |
234 |
- struct rip_info *tmp_rinfo = NULL; |
235 |
- |
236 |
- for (ALL_LIST_ELEMENTS_RO (list, listnode, tmp_rinfo)) |
237 |
-- if (tmp_rinfo->type == ZEBRA_ROUTE_RIP && |
238 |
-- tmp_rinfo->ifindex == ifc->ifp->ifindex) |
239 |
-- rinfo->metric_out = RIP_METRIC_INFINITY; |
240 |
-- if (tmp_rinfo->type == ZEBRA_ROUTE_CONNECT && |
241 |
-- prefix_match((struct prefix *)p, ifc->address)) |
242 |
-- rinfo->metric_out = RIP_METRIC_INFINITY; |
243 |
-+ { |
244 |
-+ if (tmp_rinfo->type == ZEBRA_ROUTE_RIP && |
245 |
-+ tmp_rinfo->ifindex == ifc->ifp->ifindex) |
246 |
-+ rinfo->metric_out = RIP_METRIC_INFINITY; |
247 |
-+ if (tmp_rinfo->type == ZEBRA_ROUTE_CONNECT && |
248 |
-+ prefix_match((struct prefix *)p, ifc->address)) |
249 |
-+ rinfo->metric_out = RIP_METRIC_INFINITY; |
250 |
-+ } |
251 |
- } |
252 |
- |
253 |
- /* Prepare preamble, auth headers, if needs be */ |
254 |
--- |
255 |
-1.9.1 |
256 |
|
257 |
diff --git a/net-misc/quagga/files/quagga-1.0.20160315-zebra-ipv6-ra-overflow.patch b/net-misc/quagga/files/quagga-1.0.20160315-zebra-ipv6-ra-overflow.patch |
258 |
deleted file mode 100644 |
259 |
index 74b8add..00000000 |
260 |
--- a/net-misc/quagga/files/quagga-1.0.20160315-zebra-ipv6-ra-overflow.patch |
261 |
+++ /dev/null |
262 |
@@ -1,48 +0,0 @@ |
263 |
-commit cfb1fae25f8c092e0d17073eaf7bd428ce1cd546 |
264 |
-Author: David Lamparter <equinox@×××××××××××××××××.org> |
265 |
-Date: Wed Aug 31 13:31:16 2016 +0200 |
266 |
- |
267 |
- zebra: stack overrun in IPv6 RA receive code (CVE-2016-1245) |
268 |
- |
269 |
- The IPv6 RA code also receives ICMPv6 RS and RA messages. |
270 |
- Unfortunately, by bad coding practice, the buffer size specified on |
271 |
- receiving such messages mixed up 2 constants that in fact have |
272 |
- different values. |
273 |
- |
274 |
- The code itself has: |
275 |
- #define RTADV_MSG_SIZE 4096 |
276 |
- While BUFSIZ is system-dependent, in my case (x86_64 glibc): |
277 |
- /usr/include/_G_config.h:#define _G_BUFSIZ 8192 |
278 |
- /usr/include/libio.h:#define _IO_BUFSIZ _G_BUFSIZ |
279 |
- /usr/include/stdio.h:# define BUFSIZ _IO_BUFSIZ |
280 |
- |
281 |
- FreeBSD, OpenBSD, NetBSD and Illumos are not affected, since all of them |
282 |
- have BUFSIZ == 1024. |
283 |
- |
284 |
- As the latter is passed to the kernel on recvmsg(), it's possible to |
285 |
- overwrite 4kB of stack -- with ICMPv6 packets that can be globally sent |
286 |
- to any of the system's addresses (using fragmentation to get to 8k). |
287 |
- |
288 |
- (The socket has filters installed limiting this to RS and RA packets, |
289 |
- but does not have a filter for source address or TTL.) |
290 |
- |
291 |
- Issue discovered by trying to test other stuff, which randomly caused |
292 |
- the stack to be smaller than 8kB in that code location, which then |
293 |
- causes the kernel to report EFAULT (Bad address). |
294 |
- |
295 |
- Signed-off-by: David Lamparter <equinox@×××××××××××××××××.org> |
296 |
- Reviewed-by: Donald Sharp <sharpd@×××××××××××××××.com> |
297 |
- |
298 |
-diff --git a/zebra/rtadv.c b/zebra/rtadv.c |
299 |
-index d4ef1b8..2f62714 100644 |
300 |
---- a/zebra/rtadv.c |
301 |
-+++ b/zebra/rtadv.c |
302 |
-@@ -482,7 +482,7 @@ rtadv_read (struct thread *thread) |
303 |
- /* Register myself. */ |
304 |
- rtadv_event (zvrf, RTADV_READ, sock); |
305 |
- |
306 |
-- len = rtadv_recv_packet (sock, buf, BUFSIZ, &from, &ifindex, &hoplimit); |
307 |
-+ len = rtadv_recv_packet (sock, buf, sizeof (buf), &from, &ifindex, &hoplimit); |
308 |
- |
309 |
- if (len < 0) |
310 |
- { |
311 |
|
312 |
diff --git a/net-misc/quagga/quagga-1.0.20160315-r4.ebuild b/net-misc/quagga/quagga-1.0.20160315-r4.ebuild |
313 |
deleted file mode 100644 |
314 |
index 009b6d4..00000000 |
315 |
--- a/net-misc/quagga/quagga-1.0.20160315-r4.ebuild |
316 |
+++ /dev/null |
317 |
@@ -1,137 +0,0 @@ |
318 |
-# Copyright 1999-2016 Gentoo Foundation |
319 |
-# Distributed under the terms of the GNU General Public License v2 |
320 |
-# $Id$ |
321 |
- |
322 |
-EAPI=6 |
323 |
- |
324 |
-CLASSLESS_BGP_PATCH=ht-20040304-classless-bgp.patch |
325 |
- |
326 |
-inherit autotools eutils flag-o-matic multilib pam readme.gentoo-r1 systemd user |
327 |
- |
328 |
-DESCRIPTION="A free routing daemon replacing Zebra supporting RIP, OSPF and BGP" |
329 |
-HOMEPAGE="http://quagga.net/" |
330 |
-SRC_URI="mirror://nongnu/${PN}/${P}.tar.xz |
331 |
- bgpclassless? ( http://hasso.linux.ee/stuff/patches/quagga/${CLASSLESS_BGP_PATCH} )" |
332 |
- |
333 |
-LICENSE="GPL-2" |
334 |
-SLOT="0" |
335 |
-KEYWORDS="alpha amd64 arm hppa ppc ~s390 sparc x86" |
336 |
- |
337 |
-IUSE="bgpclassless caps doc elibc_glibc ipv6 multipath ospfapi pam +readline snmp tcp-zebra" |
338 |
- |
339 |
-COMMON_DEPEND=" |
340 |
- caps? ( sys-libs/libcap ) |
341 |
- snmp? ( net-analyzer/net-snmp ) |
342 |
- readline? ( |
343 |
- sys-libs/readline:0 |
344 |
- pam? ( sys-libs/pam ) |
345 |
- ) |
346 |
- !elibc_glibc? ( dev-libs/libpcre )" |
347 |
-DEPEND="${COMMON_DEPEND} |
348 |
- app-arch/xz-utils |
349 |
- sys-apps/gawk |
350 |
- sys-devel/libtool:2" |
351 |
-RDEPEND="${COMMON_DEPEND} |
352 |
- sys-apps/iproute2" |
353 |
- |
354 |
-PATCHES=( |
355 |
- "${FILESDIR}/${PN}-0.99.22.4-ipctl-forwarding.patch" |
356 |
- "${FILESDIR}/${P}-ripd-null-pointer-fix.patch" |
357 |
- "${FILESDIR}/${P}-ospfd-dangling-pointer-fix.patch" |
358 |
- "${FILESDIR}/${P}-bgpd-logging-fix.patch" |
359 |
- "${FILESDIR}/${P}-zebra-ipv6-ra-overflow.patch" |
360 |
-) |
361 |
- |
362 |
-DISABLE_AUTOFORMATTING=1 |
363 |
-DOC_CONTENTS="Sample configuration files can be found in /usr/share/doc/${PF}/samples |
364 |
-You have to create config files in /etc/quagga before |
365 |
-starting one of the daemons. |
366 |
- |
367 |
-You can pass additional options to the daemon by setting the EXTRA_OPTS |
368 |
-variable in their respective file in /etc/conf.d" |
369 |
- |
370 |
-pkg_setup() { |
371 |
- enewgroup quagga |
372 |
- enewuser quagga -1 -1 /var/empty quagga |
373 |
-} |
374 |
- |
375 |
-src_prepare() { |
376 |
- # Classless prefixes for BGP |
377 |
- # http://hasso.linux.ee/doku.php/english:network:quagga |
378 |
- use bgpclassless && eapply -p0 "${DISTDIR}/${CLASSLESS_BGP_PATCH}" |
379 |
- |
380 |
- epatch "${PATCHES[@]}" |
381 |
- eapply_user |
382 |
- eautoreconf |
383 |
-} |
384 |
- |
385 |
-src_configure() { |
386 |
- append-flags -fno-strict-aliasing |
387 |
- |
388 |
- # do not build PDF docs |
389 |
- export ac_cv_prog_PDFLATEX=no |
390 |
- export ac_cv_prog_LATEXMK=no |
391 |
- |
392 |
- econf \ |
393 |
- --enable-exampledir=/usr/share/doc/${PF}/samples \ |
394 |
- --enable-irdp \ |
395 |
- --enable-isisd \ |
396 |
- --enable-isis-topology \ |
397 |
- --enable-pimd \ |
398 |
- --enable-user=quagga \ |
399 |
- --enable-group=quagga \ |
400 |
- --enable-vty-group=quagga \ |
401 |
- --with-cflags="${CFLAGS}" \ |
402 |
- --with-pkg-extra-version="-gentoo" \ |
403 |
- --sysconfdir=/etc/quagga \ |
404 |
- --localstatedir=/run/quagga \ |
405 |
- --disable-static \ |
406 |
- $(use_enable caps capabilities) \ |
407 |
- $(usex snmp '--enable-snmp' '' '' '') \ |
408 |
- $(use_enable !elibc_glibc pcreposix) \ |
409 |
- $(use_enable tcp-zebra) \ |
410 |
- $(use_enable doc) \ |
411 |
- $(usex multipath $(use_enable multipath) '' '=0' '') \ |
412 |
- $(usex ospfapi '--enable-opaque-lsa --enable-ospf-te --enable-ospfclient' '' '' '') \ |
413 |
- $(use_enable readline vtysh) \ |
414 |
- $(use_with pam libpam) \ |
415 |
- $(use_enable ipv6 ripngd) \ |
416 |
- $(use_enable ipv6 ospf6d) \ |
417 |
- $(use_enable ipv6 rtadv) |
418 |
-} |
419 |
- |
420 |
-src_install() { |
421 |
- default |
422 |
- prune_libtool_files |
423 |
- readme.gentoo_create_doc |
424 |
- |
425 |
- keepdir /etc/quagga |
426 |
- fowners root:quagga /etc/quagga |
427 |
- fperms 0770 /etc/quagga |
428 |
- |
429 |
- # Path for PIDs before first reboot should be created here, bug #558194 |
430 |
- dodir /run/quagga |
431 |
- fowners quagga:quagga /run/quagga |
432 |
- fperms 0770 /run/quagga |
433 |
- |
434 |
- # Install systemd-related stuff, bug #553136 |
435 |
- systemd_dotmpfilesd "${FILESDIR}/systemd/quagga.conf" |
436 |
- systemd_dounit "${FILESDIR}/systemd/zebra.service" |
437 |
- |
438 |
- # install zebra as a file, symlink the rest |
439 |
- newinitd "${FILESDIR}"/quagga-services.init.3 zebra |
440 |
- |
441 |
- for service in bgpd isisd ospfd pimd ripd $(use ipv6 && echo ospf6d ripngd); do |
442 |
- dosym zebra /etc/init.d/${service} |
443 |
- systemd_dounit "${FILESDIR}/systemd/${service}.service" |
444 |
- done |
445 |
- |
446 |
- use readline && use pam && newpamd "${FILESDIR}/quagga.pam" quagga |
447 |
- |
448 |
- insinto /etc/logrotate.d |
449 |
- newins redhat/quagga.logrotate quagga |
450 |
-} |
451 |
- |
452 |
-pkg_postinst() { |
453 |
- readme.gentoo_print_elog |
454 |
-} |
455 |
|
456 |
diff --git a/net-misc/quagga/quagga-1.1.0-r2.ebuild b/net-misc/quagga/quagga-1.1.0-r2.ebuild |
457 |
index c306fb5..a152fb2 100644 |
458 |
--- a/net-misc/quagga/quagga-1.1.0-r2.ebuild |
459 |
+++ b/net-misc/quagga/quagga-1.1.0-r2.ebuild |
460 |
@@ -57,7 +57,7 @@ src_prepare() { |
461 |
# http://hasso.linux.ee/doku.php/english:network:quagga |
462 |
use bgpclassless && eapply -p0 "${DISTDIR}/${CLASSLESS_BGP_PATCH}" |
463 |
|
464 |
- eapply ${PATCHES[@]} |
465 |
+ eapply "${PATCHES[@]}" |
466 |
eapply_user |
467 |
eautoreconf |
468 |
} |