Commit graph

6058 commits

Author SHA1 Message Date
George Thessalonikefs
062f7b7ba2 - Changelog entry for PR #241. 2020-05-27 18:25:29 +02:00
gthess
90d556d650
Merge pull request #241 from edmonds/edmonds/libunbound.pc/do-not-use-requires
contrib/libunbound.pc.in: Do not use "Requires:"
2020-05-27 18:21:05 +02:00
W.C.A. Wijngaards
d1904bd509 tree key addr 2020-05-26 16:27:45 +02:00
W.C.A. Wijngaards
aad363ddd1 rename next,prev to lru_next,lru_prev for clarity. 2020-05-26 13:41:07 +02:00
W.C.A. Wijngaards
1a6cc6e5dc fixup lru list presence boolean. 2020-05-26 08:46:36 +02:00
Robert Edmonds
c93b4b3158 contrib/libunbound.pc.in: Do not use "Requires:"
This commit updates contrib/libunbound.pc.in to remove the "Requires:"
directive and move its contents to "Requires.private:".

The pkg-config manpage documents the Requires/Libs fields as follows:

   Requires:
          This is a comma-separated list of packages that are required  by
          your package. Flags from dependent packages will be merged in to
          the flags reported for your package. Optionally, you can specify
          the  version  of the required package (using the operators =, <,
          >, >=, <=); specifying a version allows  pkg-config  to  perform
          extra  sanity  checks. You may only mention the same package one
          time on the Requires: line. If the version of a package  is  un‐
          specified, any version will be used with no checking.

   Requires.private:
          A list of packages required by this package. The difference from
          Requires is that the packages listed under Requires.private  are
          not  taken into account when a flag list is computed for dynami‐
          cally linked executable (i.e., when --static was not specified).
          In  the  situation where each .pc file corresponds to a library,
          Requires.private shall be used exclusively to specify the depen‐
          dencies between the libraries.

   Libs:  This  line  should give the link flags specific to your package.
          Don't add any flags for required packages; pkg-config  will  add
          those automatically.

   Libs.private:
          This line should list any private libraries in use.  Private li‐
          braries are libraries which are not  exposed  through  your  li‐
          brary,  but  are needed in the case of static linking. This dif‐
          fers from Requires.private in that it references libraries  that
          do not have package files installed.

In other words:

1) "Requires:" should specify the name of .pc packages that are required
to be installed to compile and dynamically link against libunbound. This
corresponds to needing the -dev (or -devel) package containing the .pc
file to be installed on the system. Since libunbound's header files
actually do not have any includes on any other library's headers, the
"Requires:" directive should be empty.

2) "Requires.private:" specifies the name of .pc packages that
correspond to libraries that are required to be installed to statically
link against libunbound. E.g., if libunbound.a has undefined symbols
event_* that are in libevent.a, statically linking against libunbound.a
requires statically linking libevent.a, and because libevent has a .pc
file, this means "libevent" should appear in libunbound.pc's
"Requires.private:" directive.

3) "Libs:" specifies the link flags needed to link against libunbound,
only, not including any dependencies.

4) "Libs.private:" specifies the link flags needed to statically link
against libraries that libunbound depends on that do not have .pc files.
I think it's possible for unbound's build system to actually declare
link flags under "Libs.private:" for some libraries that do have .pc
files (e.g. libcrypto/-lcrypto, libssl/-lssl, for OpenSSL) but in
practice this appears to be harmless.

Given #1 above that libunbound does not have any header dependencies
against any other packages it does not appear that "Requires:" is needed
at all. See https://bugs.debian.org/958331 for an example of a bug
report that this causes. We should not need to install the nettle-dev
package only for building binaries that compile against the libunbound
headers and link against the libunbound library.
2020-05-25 17:58:37 -04:00
George Thessalonikefs
21cd836e82 - Update contrib/aaaa-filter-iterator.patch for the recent
generate_sub_request() change and to apply cleanly.
2020-05-25 11:49:48 +02:00
George Thessalonikefs
8af3d73b9b - Fix for integer overflow when printing RDF_TYPE_TIME. 2020-05-21 22:48:57 +02:00
W.C.A. Wijngaards
a83f5d7260 Merge branch 'master' into stream-reuse 2020-05-20 15:39:50 +02:00
W.C.A. Wijngaards
f37242566b - For PR #93: unit test for dynlib module. 2020-05-19 15:49:08 +02:00
W.C.A. Wijngaards
711c0548f0 - For PR #93: windows compile warnings removal
- windows compile warnings removal for ip dscp option code.
2020-05-19 14:36:57 +02:00
W.C.A. Wijngaards
a1d4e151ee - Release 1.10.1 is 1.10.0 with fixes, code repository continues,
including those fixes, towards the next release.  Configure has
  version 1.10.2 version number in it.
2020-05-19 10:29:37 +02:00
W.C.A. Wijngaards
ba0f382eee - CVE-2020-12662 Unbound can be tricked into amplifying an incoming
query into a large number of queries directed to a target.
- CVE-2020-12663 Malformed answers from upstream name servers can be
  used to make Unbound unresponsive.
2020-05-19 10:27:27 +02:00
W.C.A. Wijngaards
4ccac696ca - For PR #93: fix link of other executables for dynlibmod dependency. 2020-05-18 17:26:01 +02:00
W.C.A. Wijngaards
a238f35d7d - For PR #93: man page spelling reference fix. 2020-05-18 10:22:00 +02:00
W.C.A. Wijngaards
a77ebed550 - For PR #93: checkconf allows python dynlib in module-config, for
a couple cases.
2020-05-18 10:18:28 +02:00
W.C.A. Wijngaards
84e95d6c68 - For PR #93: checkconf allow multiple dynlib in module-config, for
a couple cases.
2020-05-18 10:16:40 +02:00
W.C.A. Wijngaards
01db6c365c - For PR #93: dynlibmod can handle reloads and deinit and inits again,
with dlclose and dlopen of the library again.  Also for multiple
  modules.  Fix memory leak by not closing dlopened content.  Fix
  to allow one dynlibmod instance by unbound-checkconf.
2020-05-18 10:11:16 +02:00
W.C.A. Wijngaards
510e79a053 - For PR #93: Fix warnings for dynlibmodule. 2020-05-15 16:42:45 +02:00
W.C.A. Wijngaards
2c8ebe6206 - Fixed conflicts for PR #93 and make configure, yacc, lex. 2020-05-15 14:55:36 +02:00
W.C.A. Wijngaards
80308880d2 Merge branch 'PMunch-master' 2020-05-15 14:53:39 +02:00
W.C.A. Wijngaards
edcef18274 Merge branch 'master' of git://github.com/PMunch/unbound into PMunch-master
Fixed conflicts in Makefile.in and configparser.y
2020-05-15 14:52:53 +02:00
Ralph Dolmans
99fd6cf711 - Cache ECS answers with longest scope of CNAME chain. 2020-05-15 13:13:49 +02:00
Ralph Dolmans
605e6c9bda add dohclient to makefile 2020-05-15 09:52:15 +02:00
Ralph Dolmans
4fc7b434d7 - Document new DoH configuration options. 2020-05-13 13:05:40 +02:00
Ralph Dolmans
8fc2320b5c - Add mem.http.query_buffer and mem.http.response_buffer stats
- Add configurable limits for http-query-buffer-size and
  http-response-buffer-size
- Make http endpoint, max_streams, and TCP_NODELAY for HTTP sockets
  configurable.
2020-05-12 18:12:19 +02:00
Jeremie Courreges-Anglas
8175161059 Ensure proper alignment of cmsg buffers
The cmsg macros expect a control message buffer to be aligned like
a struct cmsghdr.  The current layout around those stack-allocated
buffers probably provides the required alignment (usually 4 bytes).
Use a union to enforce proper alignment, in case future changes modify
the stack layout.

Spotted when chasing an unrelated bug with Otto Moerbeek (@omoerbeek).
2020-05-10 17:23:33 +02:00
Ralph Dolmans
6cc761f6b2 - Add base64 decode unit test 2020-05-08 14:19:44 +02:00
Ralph Dolmans
723980fe77 - Add query.num.https counter 2020-05-08 12:14:17 +02:00
Ralph Dolmans
e7601870cc Merge branch 'master' into doh 2020-05-07 17:12:26 +02:00
Ralph Dolmans
8dae5d9f81 - Add DNS-over-HTTPS support 2020-05-07 16:36:26 +02:00
George Thessalonikefs
1bd4dbf302 - New include directive 'include-toplevel:'. It closes the previous
clause (if any) and requires that all included files explicitly
  start a clause.
2020-04-29 11:23:12 +02:00
George Thessalonikefs
a269db3828 - Explicitly use 'rrset-roundrobin: no' for test cases. 2020-04-22 19:27:20 +02:00
W.C.A. Wijngaards
055f5e68a3 Add infra-keep-probing: yes option. Hosts that are down are probed more
frequently.
2020-04-22 16:29:06 +02:00
George Thessalonikefs
584c2cf804 - Fix tests for new rrset-roundrobin default. 2020-04-21 22:02:56 +02:00
W.C.A. Wijngaards
6320776b25 Changelog note for PR #225
- Merge #225 from akhait: KSK-2010 has been revoked. It removes the
  KSK-2010 from the default list in unbound-anchor, now that the
  revocation period is over.  KSK-2017 is the only trust anchor in
  the shipped default now.
2020-04-21 15:11:02 +02:00
Wouter Wijngaards
d8bd6e2281
Merge pull request #225 from akhait/master
KSK-2010 has been revoked
2020-04-21 15:09:29 +02:00
Anna Khaitovich
201c158377 KSK-2010 has been revoked 2020-04-21 13:40:24 +02:00
George Thessalonikefs
226d66ca92 - Change default value for 'rrset-roundrobin' to yes. 2020-04-21 12:58:48 +02:00
W.C.A. Wijngaards
cee3098e87 - Remove unneeded was_mesh_reply check. 2020-04-20 15:35:45 +02:00
W.C.A. Wijngaards
00323b71d7 - Fix for count of reply states in the mesh. 2020-04-20 14:24:05 +02:00
W.C.A. Wijngaards
5151190dbc Fix that it is --enable-rpath, for #222. 2020-04-20 10:08:08 +02:00
W.C.A. Wijngaards
52ebdd85da - Fix #222: --with-rpath, fails to rpath python lib. 2020-04-20 10:04:34 +02:00
George Thessalonikefs
0c10453546 - Document SNI support in unbound-anchor.8.in. 2020-04-17 11:47:36 +02:00
George Thessalonikefs
a4dcd5eb91 - Update Changelog for PR #221. 2020-04-17 11:41:47 +02:00
gthess
334498d9b9
Merge pull request #221 from NLnetLabs/more-SNI
More SNI support on TLS
2020-04-17 11:37:47 +02:00
George Thessalonikefs
d2055b83d8 - Enable SNI by default in unbound-anchor. 2020-04-17 11:33:12 +02:00
George Thessalonikefs
1db2ab678d Revert "- Remove SNI support from unbound-anchor; TLS is used only for"
This reverts commit 9d197eb110.

Server-side software may use SNI to pick the correct virtual host.
2020-04-17 11:27:39 +02:00
George Thessalonikefs
9d197eb110 - Remove SNI support from unbound-anchor; TLS is used only for
encryption and not validation.
2020-04-17 10:42:58 +02:00
George Thessalonikefs
e430e95d30 - Add SNI support on more TLS connections (fixes #193).
- Add SNI support to unbound-anchor.
2020-04-16 14:39:05 +02:00