1 |
commit: 95b6bb2723c881536a35404b9f8f227b742a74c6 |
2 |
Author: Michał Górny <mgorny <AT> gentoo <DOT> org> |
3 |
AuthorDate: Thu Sep 6 20:54:19 2018 +0000 |
4 |
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org> |
5 |
CommitDate: Thu Sep 6 21:22:23 2018 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=95b6bb27 |
7 |
|
8 |
sys-auth/nss-mdns: Clean old up |
9 |
|
10 |
sys-auth/nss-mdns/Manifest | 2 - |
11 |
.../files/nss-mdns-0.10-avahi-socket.patch | 14 - |
12 |
sys-auth/nss-mdns/files/nss-mdns-0.10-ipv6.patch | 528 --------------------- |
13 |
sys-auth/nss-mdns/metadata.xml | 4 - |
14 |
sys-auth/nss-mdns/nss-mdns-0.10-r3.ebuild | 57 --- |
15 |
sys-auth/nss-mdns/nss-mdns-0.11.ebuild | 54 --- |
16 |
6 files changed, 659 deletions(-) |
17 |
|
18 |
diff --git a/sys-auth/nss-mdns/Manifest b/sys-auth/nss-mdns/Manifest |
19 |
index 821d3ef0c5f..b7a8af7b630 100644 |
20 |
--- a/sys-auth/nss-mdns/Manifest |
21 |
+++ b/sys-auth/nss-mdns/Manifest |
22 |
@@ -1,3 +1 @@ |
23 |
-DIST nss-mdns-0.10.tar.gz 353130 BLAKE2B 88cc7cbc908f397bbf52f590946b3bc8bc4c71585c9a0a52648ae3dd23b3f5ca9fbd24f0fc7c34dff08d7a4c8d72fec94a51a65650bed41b07aec6c81220d517 SHA512 7c9f4150648dfab34bc6f8551e5b58b0b7065e4c1472efb8ce1b00b2bd75627e5928b2c199d9dae742abe839968a8774e39c7646f8ce855d342b4d90252efc0e |
24 |
-DIST nss-mdns-0.11.tar.gz 382059 BLAKE2B 5523c76d6f7364efde54b9bf303dfdf34c11b96c9348bfd4a62d095215e7d6f32e0d44e22d21677d51700d458a10f9c36f7ccecb7b4add04fcba629ee19abc21 SHA512 9dceb0f244c4cd27b04ca2014637873a0d137464c26780dfdb228502b06b310991494b115e42e1057c45478361d0e441ec73099fbf56a13a5933618b72390af4 |
25 |
DIST nss-mdns-0.13.tar.gz 380261 BLAKE2B 555b7b9df8ff15da423712fac04ccbc303395d38a07121906cf31871a8684c71e43809b80674a489d87397902a33f4d19b0ae49a4c384290bad227a24880476f SHA512 f1b379111fb758323179ea3e447d754e934308940b11a8402dfb6033264940d831266d15ae1ee0badfecd5cdc7f589b42e4363dfc058f5e62026017d97eb0a3b |
26 |
|
27 |
diff --git a/sys-auth/nss-mdns/files/nss-mdns-0.10-avahi-socket.patch b/sys-auth/nss-mdns/files/nss-mdns-0.10-avahi-socket.patch |
28 |
deleted file mode 100644 |
29 |
index 9ada93d2b8f..00000000000 |
30 |
--- a/sys-auth/nss-mdns/files/nss-mdns-0.10-avahi-socket.patch |
31 |
+++ /dev/null |
32 |
@@ -1,14 +0,0 @@ |
33 |
-https://bugs.gentoo.org/159341 |
34 |
- |
35 |
-fix the full path to the socket run dir |
36 |
- |
37 |
---- src/Makefile.am |
38 |
-+++ src/Makefile.am |
39 |
-@@ -20,7 +20,7 @@ |
40 |
- AM_CFLAGS = \ |
41 |
- -DMDNS_ALLOW_FILE=\"$(sysconfdir)/mdns.allow\" \ |
42 |
- -DRESOLV_CONF_FILE=\"$(sysconfdir)/resolv.conf\" \ |
43 |
-- -DAVAHI_SOCKET=\"$(localstatedir)/run/avahi-daemon/socket\" |
44 |
-+ -DAVAHI_SOCKET=\"/var/run/avahi-daemon/socket\" |
45 |
- |
46 |
- #AM_CFLAGS += -DNDEBUG=1 -Os |
47 |
|
48 |
diff --git a/sys-auth/nss-mdns/files/nss-mdns-0.10-ipv6.patch b/sys-auth/nss-mdns/files/nss-mdns-0.10-ipv6.patch |
49 |
deleted file mode 100644 |
50 |
index 6d6dbc9eab5..00000000000 |
51 |
--- a/sys-auth/nss-mdns/files/nss-mdns-0.10-ipv6.patch |
52 |
+++ /dev/null |
53 |
@@ -1,528 +0,0 @@ |
54 |
-diff -u src/avahi.c src/avahi.c |
55 |
---- src/avahi.c 2006-04-29 05:14:09.000000000 +0800 |
56 |
-+++ src/avahi.c 2013-01-04 10:00:05.025558790 +0800 |
57 |
-@@ -26,6 +26,7 @@ |
58 |
- #include <sys/socket.h> |
59 |
- #include <string.h> |
60 |
- #include <stdio.h> |
61 |
-+#include <stdlib.h> |
62 |
- #include <sys/types.h> |
63 |
- #include <arpa/inet.h> |
64 |
- #include <sys/un.h> |
65 |
-@@ -34,6 +35,7 @@ |
66 |
- |
67 |
- #include "avahi.h" |
68 |
- #include "util.h" |
69 |
-+#include "query.h" |
70 |
- |
71 |
- #define WHITESPACE " \t" |
72 |
- |
73 |
-@@ -93,7 +95,8 @@ |
74 |
- p = ln+1; |
75 |
- p += strspn(p, WHITESPACE); |
76 |
- |
77 |
-- /* Skip interface */ |
78 |
-+ /* Parse interface */ |
79 |
-+ if (af == AF_INET6) ((ipv6_address_t*)data)->if_idx = strtoul(p, 0, 10); |
80 |
- p += strcspn(p, WHITESPACE); |
81 |
- p += strspn(p, WHITESPACE); |
82 |
- |
83 |
-diff -u src/avahi-test.c src/avahi-test.c |
84 |
---- src/avahi-test.c 2007-02-09 00:42:23.000000000 +0800 |
85 |
-+++ src/avahi-test.c 2013-01-04 09:59:06.174017729 +0800 |
86 |
-@@ -24,6 +24,7 @@ |
87 |
- #include <stdio.h> |
88 |
- |
89 |
- #include "avahi.h" |
90 |
-+#include "query.h" |
91 |
- |
92 |
- int main(int argc, char *argv[]) { |
93 |
- uint8_t data[64]; |
94 |
-@@ -35,15 +36,20 @@ |
95 |
- else |
96 |
- printf("AF_INET: failed (%i).\n", r); |
97 |
- |
98 |
--/* if ((r = avahi_resolve_name(AF_INET6, argc >= 2 ? argv[1] : "cocaine.local", data)) == 0) */ |
99 |
--/* printf("AF_INET6: %s\n", inet_ntop(AF_INET6, data, t, sizeof(t))); */ |
100 |
--/* else */ |
101 |
--/* printf("AF_INET6: failed (%i).\n", r); */ |
102 |
-- |
103 |
- if ((r = avahi_resolve_address(AF_INET, data, t, sizeof(t))) == 0) |
104 |
- printf("REVERSE: %s\n", t); |
105 |
- else |
106 |
- printf("REVERSE: failed (%i).\n", r); |
107 |
-+ |
108 |
-+ if ((r = avahi_resolve_name(AF_INET6, argc >= 2 ? argv[1] : "cocaine.local", data)) == 0) |
109 |
-+ printf("AF_INET6: %s, %u\n", inet_ntop(AF_INET6, data, t, sizeof(t)), ((ipv6_address_t*)data)->if_idx); |
110 |
-+ else |
111 |
-+ printf("AF_INET6: failed (%i).\n", r); |
112 |
-+ |
113 |
-+ if ((r = avahi_resolve_address(AF_INET6, data, t, sizeof(t))) == 0) |
114 |
-+ printf("REVERSE: %s\n", t); |
115 |
-+ else |
116 |
-+ printf("REVERSE: failed (%i).\n", r); |
117 |
- |
118 |
- return 0; |
119 |
- } |
120 |
-diff -u src/bsdnss.c src/bsdnss.c |
121 |
---- src/bsdnss.c 2007-02-09 00:42:23.000000000 +0800 |
122 |
-+++ src/bsdnss.c 2013-01-04 09:49:45.566389491 +0800 |
123 |
-@@ -258,6 +258,8 @@ |
124 |
- ai->ai_addrlen = sizeof(struct sockaddr_in6); |
125 |
- memcpy(&((struct sockaddr_in6 *)psa)->sin6_addr, hap, |
126 |
- ai->ai_addrlen); |
127 |
-+ if (((struct sockaddr_in6 *)psa)->sin6_addr[0] == 0xfe && ((struct sockaddr_in6 *)psa)->sin6_addr[0] == 0x80) |
128 |
-+ ((struct sockaddr_in6 *)psa)->sin6_scope_id = ((struct ipv6_address_t*) hap)->if_idx; |
129 |
- break; |
130 |
- default: |
131 |
- ai->ai_addrlen = sizeof(struct sockaddr_storage); |
132 |
-diff -u src/map-file src/map-file |
133 |
---- src/map-file 2007-01-02 02:36:21.000000000 +0800 |
134 |
-+++ src/map-file 2013-01-07 08:56:56.406478774 +0800 |
135 |
-@@ -18,6 +18,12 @@ |
136 |
- _nss_mdns_minimal_gethostbyname2_r; |
137 |
- _nss_mdns4_minimal_gethostbyname2_r; |
138 |
- _nss_mdns6_minimal_gethostbyname2_r; |
139 |
-+_nss_mdns_gethostbyname4_r; |
140 |
-+_nss_mdns4_gethostbyname4_r; |
141 |
-+_nss_mdns6_gethostbyname4_r; |
142 |
-+_nss_mdns_minimal_gethostbyname4_r; |
143 |
-+_nss_mdns4_minimal_gethostbyname4_r; |
144 |
-+_nss_mdns6_minimal_gethostbyname4_r; |
145 |
- local: |
146 |
- *; |
147 |
- }; |
148 |
-diff -u src/nss.c src/nss.c |
149 |
---- src/nss.c 2013-01-07 15:14:23.000000000 +0800 |
150 |
-+++ src/nss.c 2013-01-07 16:52:38.399842517 +0800 |
151 |
-@@ -41,22 +41,27 @@ |
152 |
- |
153 |
- #if defined(NSS_IPV4_ONLY) && ! defined(MDNS_MINIMAL) |
154 |
- #define _nss_mdns_gethostbyname2_r _nss_mdns4_gethostbyname2_r |
155 |
-+#define _nss_mdns_gethostbyname4_r _nss_mdns4_gethostbyname4_r |
156 |
- #define _nss_mdns_gethostbyname_r _nss_mdns4_gethostbyname_r |
157 |
- #define _nss_mdns_gethostbyaddr_r _nss_mdns4_gethostbyaddr_r |
158 |
- #elif defined(NSS_IPV4_ONLY) && defined(MDNS_MINIMAL) |
159 |
- #define _nss_mdns_gethostbyname2_r _nss_mdns4_minimal_gethostbyname2_r |
160 |
-+#define _nss_mdns_gethostbyname4_r _nss_mdns4_minimal_gethostbyname4_r |
161 |
- #define _nss_mdns_gethostbyname_r _nss_mdns4_minimal_gethostbyname_r |
162 |
- #define _nss_mdns_gethostbyaddr_r _nss_mdns4_minimal_gethostbyaddr_r |
163 |
- #elif defined(NSS_IPV6_ONLY) && ! defined(MDNS_MINIMAL) |
164 |
- #define _nss_mdns_gethostbyname2_r _nss_mdns6_gethostbyname2_r |
165 |
-+#define _nss_mdns_gethostbyname4_r _nss_mdns6_gethostbyname4_r |
166 |
- #define _nss_mdns_gethostbyname_r _nss_mdns6_gethostbyname_r |
167 |
- #define _nss_mdns_gethostbyaddr_r _nss_mdns6_gethostbyaddr_r |
168 |
- #elif defined(NSS_IPV6_ONLY) && defined(MDNS_MINIMAL) |
169 |
- #define _nss_mdns_gethostbyname2_r _nss_mdns6_minimal_gethostbyname2_r |
170 |
-+#define _nss_mdns_gethostbyname4_r _nss_mdns6_minimal_gethostbyname4_r |
171 |
- #define _nss_mdns_gethostbyname_r _nss_mdns6_minimal_gethostbyname_r |
172 |
- #define _nss_mdns_gethostbyaddr_r _nss_mdns6_minimal_gethostbyaddr_r |
173 |
- #elif defined(MDNS_MINIMAL) |
174 |
- #define _nss_mdns_gethostbyname2_r _nss_mdns_minimal_gethostbyname2_r |
175 |
-+#define _nss_mdns_gethostbyname4_r _nss_mdns_minimal_gethostbyname4_r |
176 |
- #define _nss_mdns_gethostbyname_r _nss_mdns_minimal_gethostbyname_r |
177 |
- #define _nss_mdns_gethostbyaddr_r _nss_mdns_minimal_gethostbyaddr_r |
178 |
- #endif |
179 |
-@@ -81,6 +86,12 @@ |
180 |
- char *name[MAX_ENTRIES]; |
181 |
- } data; |
182 |
- }; |
183 |
-+struct user_gai_buf { |
184 |
-+ struct gaih_addrtuple *list_base; |
185 |
-+ int list_size; |
186 |
-+ int list_idx; |
187 |
-+ int wrote_name; |
188 |
-+}; |
189 |
- |
190 |
- #ifndef NSS_IPV6_ONLY |
191 |
- static void ipv4_callback(const ipv4_address_t *ipv4, void *userdata) { |
192 |
-@@ -93,6 +104,21 @@ |
193 |
- u->data.ipv4[u->count++] = *ipv4; |
194 |
- u->data_len += sizeof(ipv4_address_t); |
195 |
- } |
196 |
-+static void ipv4_gai_callback(const ipv4_address_t *ipv4, void *userdata) { |
197 |
-+ struct user_gai_buf *u = userdata; |
198 |
-+ assert(ipv4 && userdata); |
199 |
-+ |
200 |
-+ if (u->list_idx+1 >= u->list_size) |
201 |
-+ return; |
202 |
-+ |
203 |
-+ u->list_base[u->list_idx].name = 0; |
204 |
-+ u->list_base[u->list_idx].family = AF_INET; |
205 |
-+ u->list_base[u->list_idx].addr[0] = ipv4->address; |
206 |
-+ u->list_base[u->list_idx].scopeid = 0; |
207 |
-+ if (u->list_idx > 0) u->list_base[u->list_idx-1].next = &u->list_base[u->list_idx]; |
208 |
-+ u->list_base[u->list_idx].next = 0; |
209 |
-+ u->list_idx += 1; |
210 |
-+} |
211 |
- #endif |
212 |
- |
213 |
- #ifndef NSS_IPV4_ONLY |
214 |
-@@ -106,6 +132,21 @@ |
215 |
- u->data.ipv6[u->count++] = *ipv6; |
216 |
- u->data_len += sizeof(ipv6_address_t); |
217 |
- } |
218 |
-+static void ipv6_gai_callback(const ipv6_address_t *ipv6, void *userdata) { |
219 |
-+ struct user_gai_buf *u = userdata; |
220 |
-+ assert(ipv6 && userdata); |
221 |
-+ |
222 |
-+ if (u->list_idx+1 >= u->list_size) |
223 |
-+ return; |
224 |
-+ |
225 |
-+ u->list_base[u->list_idx].name = 0; |
226 |
-+ u->list_base[u->list_idx].family = AF_INET6; |
227 |
-+ memcpy(u->list_base[u->list_idx].addr, ipv6->address, sizeof(u->list_base[u->list_idx].addr)); |
228 |
-+ u->list_base[u->list_idx].scopeid = ipv6->if_idx; |
229 |
-+ if (u->list_idx > 0) u->list_base[u->list_idx-1].next = &u->list_base[u->list_idx]; |
230 |
-+ u->list_base[u->list_idx].next = 0; |
231 |
-+ u->list_idx += 1; |
232 |
-+} |
233 |
- #endif |
234 |
- |
235 |
- static void name_callback(const char*name, void *userdata) { |
236 |
-@@ -538,6 +579,265 @@ |
237 |
- |
238 |
- status = NSS_STATUS_SUCCESS; |
239 |
- |
240 |
-+finish: |
241 |
-+#ifdef ENABLE_LEGACY |
242 |
-+ if (fd >= 0) |
243 |
-+ close(fd); |
244 |
-+#endif |
245 |
-+ |
246 |
-+ return status; |
247 |
-+} |
248 |
-+ |
249 |
-+enum nss_status _nss_mdns_gethostbyname4_r( |
250 |
-+ const char *name, |
251 |
-+ struct gaih_addrtuple **pat, |
252 |
-+ char *buffer, |
253 |
-+ size_t buflen, |
254 |
-+ int *errnop, |
255 |
-+ int *h_errnop, |
256 |
-+ int32_t *ttlp) { |
257 |
-+ |
258 |
-+ struct user_gai_buf u; |
259 |
-+ enum nss_status status = NSS_STATUS_UNAVAIL; |
260 |
-+ int i; |
261 |
-+ size_t l, idx; |
262 |
-+ void (*ipv4_func)(const ipv4_address_t *ipv4, void *userdata); |
263 |
-+ void (*ipv6_func)(const ipv6_address_t *ipv6, void *userdata); |
264 |
-+ int name_allowed; |
265 |
-+ int af = AF_UNSPEC; |
266 |
-+ |
267 |
-+#ifdef ENABLE_AVAHI |
268 |
-+ int avahi_works = 1; |
269 |
-+ void * data[32]; |
270 |
-+#endif |
271 |
-+ |
272 |
-+#ifdef ENABLE_LEGACY |
273 |
-+ int fd = -1; |
274 |
-+#endif |
275 |
-+ |
276 |
-+ if (pat) { |
277 |
-+ af = (*pat)->family; |
278 |
-+ } |
279 |
-+ |
280 |
-+/* DEBUG_TRAP; */ |
281 |
-+ |
282 |
-+#ifdef NSS_IPV6_ONLY |
283 |
-+ if (af == AF_UNSPEC) |
284 |
-+ af = AF_INET6; |
285 |
-+#endif |
286 |
-+ |
287 |
-+#ifdef NSS_IPV4_ONLY |
288 |
-+ if (af == AF_UNSPEC) |
289 |
-+ af = AF_INET; |
290 |
-+#endif |
291 |
-+ |
292 |
-+#ifdef NSS_IPV4_ONLY |
293 |
-+ if (af != AF_INET) |
294 |
-+#elif NSS_IPV6_ONLY |
295 |
-+ if (af != AF_INET6) |
296 |
-+#else |
297 |
-+ if (af != AF_INET && af != AF_INET6 && af != AF_UNSPEC) |
298 |
-+#endif |
299 |
-+ { |
300 |
-+ *errnop = EINVAL; |
301 |
-+ *h_errnop = NO_RECOVERY; |
302 |
-+ |
303 |
-+ goto finish; |
304 |
-+ } |
305 |
-+ |
306 |
-+ if (buflen < |
307 |
-+ sizeof(struct gaih_addrtuple)) { |
308 |
-+ |
309 |
-+ *errnop = ERANGE; |
310 |
-+ *h_errnop = NO_RECOVERY; |
311 |
-+ status = NSS_STATUS_TRYAGAIN; |
312 |
-+ |
313 |
-+ goto finish; |
314 |
-+ } |
315 |
-+ |
316 |
-+ u.list_base = (struct user_gai_buf*) buffer; |
317 |
-+ u.list_size = buflen / sizeof( struct user_gai_buf ); |
318 |
-+ u.list_idx = 0; |
319 |
-+ u.wrote_name = 0; |
320 |
-+ |
321 |
-+#ifdef NSS_IPV6_ONLY |
322 |
-+ ipv4_func = NULL; |
323 |
-+#else |
324 |
-+ ipv4_func = (af == AF_INET || af == AF_UNSPEC) ? ipv4_gai_callback : NULL; |
325 |
-+#endif |
326 |
-+ |
327 |
-+#ifdef NSS_IPV4_ONLY |
328 |
-+ ipv6_func = NULL; |
329 |
-+#else |
330 |
-+ ipv6_func = (af == AF_INET6 || af == AF_UNSPEC) ? ipv6_gai_callback : NULL; |
331 |
-+#endif |
332 |
-+ |
333 |
-+ name_allowed = verify_name_allowed(name); |
334 |
-+ |
335 |
-+#ifdef ENABLE_AVAHI |
336 |
-+ |
337 |
-+ if (avahi_works && name_allowed) { |
338 |
-+ int r; |
339 |
-+ |
340 |
-+ if (af == AF_INET || af == AF_UNSPEC) { |
341 |
-+ if ((r = avahi_resolve_name(AF_INET, name, data)) < 0) |
342 |
-+ avahi_works = 0; |
343 |
-+ else if (r == 0) { |
344 |
-+ if (ipv4_func) { |
345 |
-+ ipv4_func((ipv4_address_t*) data, &u); |
346 |
-+ } |
347 |
-+ } |
348 |
-+ else |
349 |
-+ status = NSS_STATUS_NOTFOUND; |
350 |
-+ } |
351 |
-+ if (af == AF_INET6 || af == AF_UNSPEC) { |
352 |
-+ if ((r = avahi_resolve_name(AF_INET6, name, data)) < 0) |
353 |
-+ avahi_works = 0; |
354 |
-+ else if (r == 0) { |
355 |
-+ if (ipv6_func) |
356 |
-+ ipv6_func((ipv6_address_t*)data, &u); |
357 |
-+ } |
358 |
-+ else |
359 |
-+ status = NSS_STATUS_NOTFOUND; |
360 |
-+ } |
361 |
-+ } |
362 |
-+ |
363 |
-+#ifdef HONOUR_SEARCH_DOMAINS |
364 |
-+ if (u.list_idx == 0 && avahi_works && !ends_with(name, ".")) { |
365 |
-+ char **domains; |
366 |
-+ |
367 |
-+ if ((domains = get_search_domains())) { |
368 |
-+ char **p; |
369 |
-+ |
370 |
-+ /* Try to concatenate host names */ |
371 |
-+ for (p = domains; *p; p++) { |
372 |
-+ int fullnamesize; |
373 |
-+ char *fullname; |
374 |
-+ |
375 |
-+ fullnamesize = strlen(name) + strlen(*p) + 2; |
376 |
-+ |
377 |
-+ if (!(fullname = malloc(fullnamesize))) |
378 |
-+ break; |
379 |
-+ |
380 |
-+ snprintf(fullname, fullnamesize, "%s.%s", name, *p); |
381 |
-+ |
382 |
-+ if (verify_name_allowed(fullname)) { |
383 |
-+ int r; |
384 |
-+ |
385 |
-+ if (af == AF_INET || af == AF_UNSPEC) { |
386 |
-+ r = avahi_resolve_name(AF_INET, fullname, data); |
387 |
-+ |
388 |
-+ if (r < 0) { |
389 |
-+ /* Lookup failed */ |
390 |
-+ avahi_works = 0; |
391 |
-+ free(fullname); |
392 |
-+ break; |
393 |
-+ } else if (r == 0) { |
394 |
-+ /* Lookup succeeded */ |
395 |
-+ if (ipv4_func) |
396 |
-+ ipv4_func((ipv4_address_t*) data, &u); |
397 |
-+ } |
398 |
-+ } |
399 |
-+ if (af == AF_INET6 || af == AF_UNSPEC) { |
400 |
-+ r = avahi_resolve_name(AF_INET6, fullname, data); |
401 |
-+ |
402 |
-+ if (r < 0) { |
403 |
-+ /* Lookup failed */ |
404 |
-+ avahi_works = 0; |
405 |
-+ free(fullname); |
406 |
-+ break; |
407 |
-+ } else if (r == 0) { |
408 |
-+ /* Lookup succeeded */ |
409 |
-+ if (ipv6_func) |
410 |
-+ ipv6_func((ipv6_address_t*)data, &u); |
411 |
-+ } |
412 |
-+ } |
413 |
-+ free(fullname); |
414 |
-+ if (u.list_idx > 0) break; |
415 |
-+ |
416 |
-+ } else |
417 |
-+ free(fullname); |
418 |
-+ } |
419 |
-+ |
420 |
-+ free_domains(domains); |
421 |
-+ } |
422 |
-+ } |
423 |
-+#endif /* HONOUR_SEARCH_DOMAINS */ |
424 |
-+#endif /* ENABLE_AVAHI */ |
425 |
-+ |
426 |
-+#if defined(ENABLE_LEGACY) && defined(ENABLE_AVAHI) |
427 |
-+ if (u.list_idx == 0 && !avahi_works) |
428 |
-+#endif |
429 |
-+ |
430 |
-+#if defined(ENABLE_LEGACY) |
431 |
-+ { |
432 |
-+ if ((fd = mdns_open_socket()) < 0) { |
433 |
-+ *errnop = errno; |
434 |
-+ *h_errnop = NO_RECOVERY; |
435 |
-+ goto finish; |
436 |
-+ } |
437 |
-+ |
438 |
-+ if (name_allowed) { |
439 |
-+ /* Ignore return value */ |
440 |
-+ mdns_query_name(fd, name, ipv4_func, ipv6_func, &u); |
441 |
-+ |
442 |
-+ if (!u.list_idx) |
443 |
-+ status = NSS_STATUS_NOTFOUND; |
444 |
-+ } |
445 |
-+ |
446 |
-+#ifdef HONOUR_SEARCH_DOMAINS |
447 |
-+ if (u.list_idx == 0 && !ends_with(name, ".")) { |
448 |
-+ char **domains; |
449 |
-+ |
450 |
-+ /* Try the search domains if the user did not use a traling '.' */ |
451 |
-+ |
452 |
-+ if ((domains = get_search_domains())) { |
453 |
-+ char **p; |
454 |
-+ |
455 |
-+ for (p = domains; *p; p++) { |
456 |
-+ int fullnamesize = 0; |
457 |
-+ char *fullname = NULL; |
458 |
-+ |
459 |
-+ fullnamesize = strlen(name) + strlen(*p) + 2; |
460 |
-+ if (!(fullname = malloc(fullnamesize))) |
461 |
-+ break; |
462 |
-+ |
463 |
-+ snprintf(fullname, fullnamesize, "%s.%s", name, *p); |
464 |
-+ |
465 |
-+ if (verify_name_allowed(fullname)) { |
466 |
-+ |
467 |
-+ /* Ignore return value */ |
468 |
-+ mdns_query_name(fd, fullname, ipv4_func, ipv6_func, &u); |
469 |
-+ |
470 |
-+ if (u.list_idx > 0) { |
471 |
-+ /* We found something, so let's quit */ |
472 |
-+ free(fullname); |
473 |
-+ break; |
474 |
-+ } else |
475 |
-+ status = NSS_STATUS_NOTFOUND; |
476 |
-+ |
477 |
-+ } |
478 |
-+ |
479 |
-+ free(fullname); |
480 |
-+ } |
481 |
-+ |
482 |
-+ free_domains(domains); |
483 |
-+ } |
484 |
-+ } |
485 |
-+#endif /* HONOUR_SEARCH_DOMAINS */ |
486 |
-+ } |
487 |
-+#endif /* ENABLE_LEGACY */ |
488 |
-+ |
489 |
-+ if (u.list_idx == 0) { |
490 |
-+ *errnop = ETIMEDOUT; |
491 |
-+ *h_errnop = HOST_NOT_FOUND; |
492 |
-+ goto finish; |
493 |
-+ } |
494 |
-+ |
495 |
-+ *pat = (struct gaih_addrtuple*) buffer; |
496 |
-+ |
497 |
-+ status = NSS_STATUS_SUCCESS; |
498 |
-+ |
499 |
- finish: |
500 |
- #ifdef ENABLE_LEGACY |
501 |
- if (fd >= 0) |
502 |
-diff -u src/query.c src/query.c |
503 |
---- src/query.c 2007-02-09 00:42:23.000000000 +0800 |
504 |
-+++ src/query.c 2013-01-04 09:57:03.778972196 +0800 |
505 |
-@@ -263,7 +263,7 @@ |
506 |
- return n_sent; |
507 |
- } |
508 |
- |
509 |
--static int recv_dns_packet(int fd, struct dns_packet **ret_packet, uint8_t *ret_ttl, struct timeval *end) { |
510 |
-+static int recv_dns_packet(int fd, struct dns_packet **ret_packet, uint8_t *ret_ttl, uint32_t *if_idx, struct timeval *end) { |
511 |
- struct dns_packet *p= NULL; |
512 |
- struct msghdr msg; |
513 |
- struct iovec io; |
514 |
-@@ -286,6 +286,10 @@ |
515 |
- msg.msg_controllen = sizeof(aux); |
516 |
- msg.msg_flags = 0; |
517 |
- |
518 |
-+#ifndef IP_PKTINFO |
519 |
-+ *if_idx = 0; |
520 |
-+#endif |
521 |
-+ |
522 |
- for (;;) { |
523 |
- ssize_t l; |
524 |
- int r; |
525 |
-@@ -304,6 +308,14 @@ |
526 |
- *ret_ttl = (uint8_t) (*(uint32_t*) CMSG_DATA(cmsg)); |
527 |
- break; |
528 |
- } |
529 |
-+#ifdef IP_PKTINFO |
530 |
-+ if (cmsg->cmsg_level == IPPROTO_IP && cmsg->cmsg_type == IP_PKTINFO) |
531 |
-+ { |
532 |
-+ *if_idx = ((struct in_pktinfo*) CMSG_DATA(cmsg))->ipi_ifindex; |
533 |
-+ break; |
534 |
-+ } |
535 |
-+#endif |
536 |
-+ |
537 |
- } |
538 |
- |
539 |
- if (!cmsg) |
540 |
-@@ -427,9 +439,10 @@ |
541 |
- |
542 |
- while (!done) { |
543 |
- uint8_t ttl; |
544 |
-+ uint32_t if_idx; |
545 |
- int r; |
546 |
- |
547 |
-- if ((r = recv_dns_packet(fd, &p, &ttl, &end)) < 0) |
548 |
-+ if ((r = recv_dns_packet(fd, &p, &ttl, &if_idx, &end)) < 0) |
549 |
- return -1; |
550 |
- else if (r > 0) /* timeout */ |
551 |
- return 1; |
552 |
-@@ -488,6 +501,7 @@ |
553 |
- rdlength == sizeof(ipv6_address_t)) { |
554 |
- |
555 |
- ipv6_address_t ipv6; |
556 |
-+ ipv6.if_idx = if_idx; |
557 |
- |
558 |
- if (dns_packet_consume_bytes(p, &ipv6, sizeof(ipv6_address_t)) < 0) |
559 |
- break; |
560 |
-@@ -584,9 +598,10 @@ |
561 |
- |
562 |
- while (!done) { |
563 |
- uint8_t ttl; |
564 |
-+ uint32_t if_idx; |
565 |
- int r; |
566 |
- |
567 |
-- if ((r = recv_dns_packet(fd, &p, &ttl, &end)) < 0) |
568 |
-+ if ((r = recv_dns_packet(fd, &p, &ttl, &if_idx, &end)) < 0) |
569 |
- return -1; |
570 |
- else if (r > 0) /* timeout */ |
571 |
- return 1; |
572 |
-diff -u src/query.h src/query.h |
573 |
---- src/query.h 2005-06-21 22:43:23.000000000 +0800 |
574 |
-+++ src/query.h 2013-01-03 14:09:22.138018327 +0800 |
575 |
-@@ -30,6 +30,7 @@ |
576 |
- |
577 |
- typedef struct { |
578 |
- uint8_t address[16]; |
579 |
-+ uint32_t if_idx; |
580 |
- } ipv6_address_t; |
581 |
- |
582 |
|
583 |
diff --git a/sys-auth/nss-mdns/metadata.xml b/sys-auth/nss-mdns/metadata.xml |
584 |
index a409ede683e..0c9ca91ffcf 100644 |
585 |
--- a/sys-auth/nss-mdns/metadata.xml |
586 |
+++ b/sys-auth/nss-mdns/metadata.xml |
587 |
@@ -8,10 +8,6 @@ |
588 |
<email>mgorny@g.o</email> |
589 |
<name>Michał Górny</name> |
590 |
</maintainer> |
591 |
- <use> |
592 |
- <flag name="search-domains">Honour search domains from |
593 |
- /etc/resolv.conf (see bug #201948 for possible side effects)</flag> |
594 |
- </use> |
595 |
<longdescription lang="en"> |
596 |
Name service switch module for multicast dns. |
597 |
</longdescription> |
598 |
|
599 |
diff --git a/sys-auth/nss-mdns/nss-mdns-0.10-r3.ebuild b/sys-auth/nss-mdns/nss-mdns-0.10-r3.ebuild |
600 |
deleted file mode 100644 |
601 |
index 4f91439d370..00000000000 |
602 |
--- a/sys-auth/nss-mdns/nss-mdns-0.10-r3.ebuild |
603 |
+++ /dev/null |
604 |
@@ -1,57 +0,0 @@ |
605 |
-# Copyright 1999-2016 Gentoo Foundation |
606 |
-# Distributed under the terms of the GNU General Public License v2 |
607 |
- |
608 |
-EAPI="5" |
609 |
-inherit autotools eutils multilib-minimal |
610 |
- |
611 |
-DESCRIPTION="Name Service Switch module for Multicast DNS" |
612 |
-HOMEPAGE="http://0pointer.de/lennart/projects/nss-mdns/" |
613 |
-SRC_URI="http://0pointer.de/lennart/projects/nss-mdns/${P}.tar.gz" |
614 |
- |
615 |
-LICENSE="GPL-2" |
616 |
-SLOT="0" |
617 |
-KEYWORDS="amd64 ~arm ~hppa ~mips ppc x86" |
618 |
-IUSE="search-domains" |
619 |
- |
620 |
-RDEPEND=">=net-dns/avahi-0.6.31-r2[${MULTILIB_USEDEP}]" |
621 |
-DEPEND="${RDEPEND}" |
622 |
- |
623 |
-src_prepare() { |
624 |
- epatch "${FILESDIR}"/${PN}-0.10-avahi-socket.patch \ |
625 |
- "${FILESDIR}"/${PN}-0.10-ipv6.patch |
626 |
- epatch_user |
627 |
- eautoreconf |
628 |
-} |
629 |
- |
630 |
-multilib_src_configure() { |
631 |
- ECONF_SOURCE=${S} \ |
632 |
- econf \ |
633 |
- $(use_enable search-domains) \ |
634 |
- --enable-avahi |
635 |
-} |
636 |
- |
637 |
-multilib_src_install_all() { |
638 |
- dodoc README |
639 |
- |
640 |
- insinto /etc |
641 |
- doins "${FILESDIR}"/mdns.allow |
642 |
-} |
643 |
- |
644 |
-pkg_postinst() { |
645 |
- ewarn |
646 |
- ewarn "You must modify your name service switch look up file to enable" |
647 |
- ewarn "multicast DNS lookups. If you wish to resolve only IPv6 addresses" |
648 |
- ewarn "use mdns6. For IPv4 addresses only, use mdns4. To resolve both" |
649 |
- ewarn "use mdns. Keep in mind that mdns will be slower if there are no" |
650 |
- ewarn "IPv6 addresses published via mDNS on the network. There are also" |
651 |
- ewarn "minimal (mdns?_minimal) libraries which only lookup .local hosts" |
652 |
- ewarn "and 169.254.x.x addresses." |
653 |
- ewarn |
654 |
- ewarn "Add the appropriate mdns into the hosts line in /etc/nsswitch.conf" |
655 |
- ewarn "An example line looks like:" |
656 |
- ewarn "hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4" |
657 |
- ewarn |
658 |
- ewarn "If you want to perform mDNS lookups for domains other than the ones" |
659 |
- ewarn "ending in .local, add them to /etc/mdns.allow" |
660 |
- ewarn |
661 |
-} |
662 |
|
663 |
diff --git a/sys-auth/nss-mdns/nss-mdns-0.11.ebuild b/sys-auth/nss-mdns/nss-mdns-0.11.ebuild |
664 |
deleted file mode 100644 |
665 |
index d93a77b414f..00000000000 |
666 |
--- a/sys-auth/nss-mdns/nss-mdns-0.11.ebuild |
667 |
+++ /dev/null |
668 |
@@ -1,54 +0,0 @@ |
669 |
-# Copyright 1999-2018 Gentoo Foundation |
670 |
-# Distributed under the terms of the GNU General Public License v2 |
671 |
- |
672 |
-EAPI=6 |
673 |
-inherit multilib-minimal |
674 |
- |
675 |
-DESCRIPTION="Name Service Switch module for Multicast DNS" |
676 |
-HOMEPAGE="https://github.com/lathiat/nss-mdns" |
677 |
-SRC_URI="https://github.com/lathiat/nss-mdns/releases/download/v${PV}/${P}.tar.gz" |
678 |
- |
679 |
-LICENSE="GPL-2" |
680 |
-SLOT="0" |
681 |
-KEYWORDS="~amd64 ~arm ~hppa ~mips ~ppc ~x86" |
682 |
-IUSE="" |
683 |
- |
684 |
-RDEPEND=">=net-dns/avahi-0.6.31-r2[${MULTILIB_USEDEP}]" |
685 |
-DEPEND="${RDEPEND}" |
686 |
- |
687 |
-multilib_src_configure() { |
688 |
- local myconf=( |
689 |
- # $(localstatedir)/run/... is used to locate avahi-daemon socket |
690 |
- --localstatedir=/var |
691 |
- ) |
692 |
- |
693 |
- ECONF_SOURCE=${S} \ |
694 |
- econf "${myconf[@]}" |
695 |
-} |
696 |
- |
697 |
-# the check target only compiles manual-use test programs |
698 |
-src_test() { :; } |
699 |
- |
700 |
-multilib_src_install_all() { |
701 |
- dodoc *.md |
702 |
- |
703 |
- insinto /etc |
704 |
- doins "${FILESDIR}"/mdns.allow |
705 |
-} |
706 |
- |
707 |
-pkg_postinst() { |
708 |
- ewarn "You have to modify your name service switch look up file to enable" |
709 |
- ewarn "multicast DNS lookups. If you wish to resolve only IPv6 addresses" |
710 |
- ewarn "use mdns6. For IPv4 addresses only, use mdns4. To resolve both" |
711 |
- ewarn "use mdns. Keep in mind that mdns will be slower if there are no" |
712 |
- ewarn "IPv6 addresses published via mDNS on the network. There are also" |
713 |
- ewarn "minimal (mdns?_minimal) libraries which only lookup .local hosts" |
714 |
- ewarn "and 169.254.x.x addresses." |
715 |
- ewarn |
716 |
- ewarn "Add the appropriate mdns into the hosts line in /etc/nsswitch.conf." |
717 |
- ewarn "An example line looks like:" |
718 |
- ewarn "hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4" |
719 |
- ewarn |
720 |
- ewarn "If you want to perform mDNS lookups for domains other than the ones" |
721 |
- ewarn "ending in .local, add them to /etc/mdns.allow." |
722 |
-} |