diff options
Diffstat (limited to 'contrib')
| -rw-r--r-- | contrib/brew/Brewfile | 1 | ||||
| -rw-r--r-- | contrib/depends/funcs.mk | 2 | ||||
| -rw-r--r-- | contrib/depends/packages/libusb.mk | 10 | ||||
| -rw-r--r-- | contrib/depends/packages/unbound.mk | 11 | ||||
| -rw-r--r-- | contrib/depends/patches/unbound/hardcode_config_date.patch | 22 | ||||
| -rw-r--r-- | contrib/epee/include/net/abstract_tcp_server2.inl | 28 | ||||
| -rw-r--r-- | contrib/epee/include/net/levin_protocol_handler_async.h | 32 | ||||
| -rw-r--r-- | contrib/epee/src/readline_buffer.cpp | 3 | ||||
| -rw-r--r-- | contrib/gitian/DOCKRUN.md | 2 | ||||
| -rw-r--r-- | contrib/gitian/README.md | 2 |
10 files changed, 76 insertions, 37 deletions
diff --git a/contrib/brew/Brewfile b/contrib/brew/Brewfile index c74e7b2a2..3697898f5 100644 --- a/contrib/brew/Brewfile +++ b/contrib/brew/Brewfile @@ -23,7 +23,6 @@ brew "zmq" brew "libpgm" brew "unbound" brew "libsodium" -brew "miniupnpc" brew "readline" brew "expat" brew "ccache" diff --git a/contrib/depends/funcs.mk b/contrib/depends/funcs.mk index e08669c98..adb9d2788 100644 --- a/contrib/depends/funcs.mk +++ b/contrib/depends/funcs.mk @@ -143,7 +143,7 @@ $(1)_config_env+=PKG_CONFIG_PATH=$($($(1)_type)_prefix)/share/pkgconfig $(1)_config_env+=PATH="$(build_prefix)/bin:$(PATH)" $(1)_build_env+=PATH="$(build_prefix)/bin:$(PATH)" $(1)_stage_env+=PATH="$(build_prefix)/bin:$(PATH)" -$(1)_autoconf=./configure --host=$($($(1)_type)_host) --prefix=$($($(1)_type)_prefix) $$($(1)_config_opts) CC="$$($(1)_cc)" CXX="$$($(1)_cxx)" +$(1)_autoconf=./configure --build=$(BUILD) --host=$($($(1)_type)_host) --prefix=$($($(1)_type)_prefix) $$($(1)_config_opts) CC="$$($(1)_cc)" CXX="$$($(1)_cxx)" ifeq ($(filter $(1),libusb unbound),) $(1)_autoconf += --disable-dependency-tracking diff --git a/contrib/depends/packages/libusb.mk b/contrib/depends/packages/libusb.mk index c1d9fe6a9..c6767bba0 100644 --- a/contrib/depends/packages/libusb.mk +++ b/contrib/depends/packages/libusb.mk @@ -1,8 +1,8 @@ package=libusb -$(package)_version=1.0.26 +$(package)_version=1.0.30 $(package)_download_path=https://github.com/libusb/libusb/releases/download/v$($(package)_version) $(package)_file_name=$(package)-$($(package)_version).tar.bz2 -$(package)_sha256_hash=12ce7a61fc9854d1d2a1ffe095f7b5fac19ddba095c259e6067a46500381b5a5 +$(package)_sha256_hash=fea36f34f9156400209595e300840767ab1a385ede1dc7ee893015aea9c6dbaf define $(package)_preprocess_cmds autoreconf -i @@ -15,6 +15,12 @@ define $(package)_set_vars $(package)_config_opts_darwin=--disable-udev endef +# Remove blobs +define $(package)_preprocess_cmds + rm -rf tests/fuzz/corpus && \ + rm doc/libusb.png +endef + ifneq ($(host_os),darwin) define $(package)_config_cmds cp -f $(BASEDIR)/config.guess config.guess &&\ diff --git a/contrib/depends/packages/unbound.mk b/contrib/depends/packages/unbound.mk index d9ef0076a..3a1692ef0 100644 --- a/contrib/depends/packages/unbound.mk +++ b/contrib/depends/packages/unbound.mk @@ -1,10 +1,10 @@ package=unbound -$(package)_version=1.19.1 +$(package)_version=1.25.1 $(package)_download_path=https://www.nlnetlabs.nl/downloads/$(package)/ $(package)_file_name=$(package)-$($(package)_version).tar.gz -$(package)_sha256_hash=bc1d576f3dd846a0739adc41ffaa702404c6767d2b6082deb9f2f97cbb24a3a9 +$(package)_sha256_hash=0fe8b6277b0959cfd17562debac0aa5f71e0b02dc4ffa9c60271c583edab586f $(package)_dependencies=openssl expat -$(package)_patches=disable-glibc-reallocarray.patch +$(package)_patches=disable-glibc-reallocarray.patch hardcode_config_date.patch define $(package)_set_vars @@ -20,7 +20,10 @@ endef define $(package)_preprocess_cmds patch -p1 < $($(package)_patch_dir)/disable-glibc-reallocarray.patch &&\ - autoconf + patch -p1 < $($(package)_patch_dir)/hardcode_config_date.patch &&\ + autoconf && \ + rm doc/*.odp doc/*.pdf contrib/*.tar.gz contrib/*.tar.bz2 &&\ + rm -rf testdata dnscrypt/testdata endef define $(package)_config_cmds diff --git a/contrib/depends/patches/unbound/hardcode_config_date.patch b/contrib/depends/patches/unbound/hardcode_config_date.patch new file mode 100644 index 000000000..fd075da29 --- /dev/null +++ b/contrib/depends/patches/unbound/hardcode_config_date.patch @@ -0,0 +1,22 @@ +diff --git a/configure.ac b/configure.ac +index f1c5b04..13f4ce6 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -994,7 +994,7 @@ if test "`uname`" = "Linux"; then + GCC_DOCKER_LINTFLAGS='-syntax' + AC_SUBST(GCC_DOCKER_LINTFLAGS) + fi +-AX_BUILD_DATE_EPOCH(CONFIG_DATE, [%Y%m%d]) ++CONFIG_DATE=20000101 + AC_ARG_VAR(SOURCE_DATE_EPOCH, [If it is set, it uses the value of that variable instead of the current time as the build timestamp. The format is a unix timestamp. This enables reproducible build output.]) + AC_SUBST(CONFIG_DATE) + +@@ -2559,7 +2559,7 @@ char *unbound_stat_strdup_log(const char *s, const char* file, int line, + dnl if we build from source tree, the man pages need @date@ and @version@ + dnl if this is a distro tarball, that was already done by makedist.sh + AC_SUBST(version, [VERSION_MAJOR.VERSION_MINOR.VERSION_MICRO]) +-AX_BUILD_DATE_EPOCH(date, [[%b %e, %Y]]) ++date='Jan 1, 2000' + AC_SUBST(date) + + AC_CONFIG_FILES([Makefile doc/example.conf doc/libunbound.3 doc/unbound.8 doc/unbound-anchor.8 doc/unbound-checkconf.8 doc/unbound.conf.5 doc/unbound-control.8 doc/unbound-host.1 smallapp/unbound-control-setup.sh dnstap/dnstap_config.h dnscrypt/dnscrypt_config.h contrib/libunbound.pc contrib/unbound.socket contrib/unbound.service contrib/unbound_portable.service]) diff --git a/contrib/epee/include/net/abstract_tcp_server2.inl b/contrib/epee/include/net/abstract_tcp_server2.inl index a419fe4e7..56d3d7de2 100644 --- a/contrib/epee/include/net/abstract_tcp_server2.inl +++ b/contrib/epee/include/net/abstract_tcp_server2.inl @@ -960,14 +960,16 @@ namespace net_utils ec_t ec; #if !defined(_WIN32) || !defined(__i686) - connection_basic::socket_.next_layer().set_option( - boost::asio::detail::socket_option::integer<IPPROTO_IP, IP_TOS>{ - connection_basic::get_tos_flag() - }, - ec - ); - if (ec.value()) - return false; + if (real_remote->get_type_id() == ipv4_network_address::get_type_id()) { + connection_basic::socket_.next_layer().set_option( + boost::asio::detail::socket_option::integer<IPPROTO_IP, IP_TOS>{ + connection_basic::get_tos_flag() + }, + ec + ); + if (ec.value()) + return false; + } #endif connection_basic::socket_.next_layer().set_option( boost::asio::ip::tcp::no_delay{false}, @@ -1153,17 +1155,21 @@ namespace net_utils // execute terminate inside m_strand. So we wait for the connection's shutdown sequence to complete before stopping // the io_context. MDEBUG("Waiting for connection " << m_conn_context.m_connection_id << " to shutdown, current state: " << m_state.status); - m_state.condition.wait( + const bool shutdown = m_state.condition.wait_for( m_state.lock, + std::chrono::seconds(5), [this]{ return ( m_state.status == status_t::TERMINATED || m_state.status == status_t::WASTED ); } ); - MDEBUG("Shut down connection " << m_conn_context.m_connection_id); + if (shutdown) + MDEBUG("Shut down connection " << m_conn_context.m_connection_id); + else + MERROR("Connection " << m_conn_context.m_connection_id << " did not shut down"); - return true; + return shutdown; } template<typename T> diff --git a/contrib/epee/include/net/levin_protocol_handler_async.h b/contrib/epee/include/net/levin_protocol_handler_async.h index 73d46fd8b..7b8f45c4d 100644 --- a/contrib/epee/include/net/levin_protocol_handler_async.h +++ b/contrib/epee/include/net/levin_protocol_handler_async.h @@ -576,32 +576,34 @@ public: { if(m_cache_in_buffer.size() < sizeof(bucket_head2)) { - if(m_cache_in_buffer.size() >= sizeof(uint64_t) && *((uint64_t*)m_cache_in_buffer.span(8).data()) != SWAP64LE(LEVIN_SIGNATURE)) + if(m_cache_in_buffer.size() >= sizeof(uint64_t)) { - MWARNING(m_connection_context << "Signature mismatch, connection will be closed"); - return false; + std::uint64_t levin_sig; + memcpy(&levin_sig, m_cache_in_buffer.span(sizeof(std::uint64_t)).data(), sizeof(std::uint64_t)); + if (SWAP64LE(LEVIN_SIGNATURE) != levin_sig) + { + MWARNING(m_connection_context << "Signature mismatch, connection will be closed"); + return false; + } } is_continue = false; break; } -#if BYTE_ORDER == LITTLE_ENDIAN - bucket_head2& phead = *(bucket_head2*)m_cache_in_buffer.span(sizeof(bucket_head2)).data(); -#else - bucket_head2 phead = *(bucket_head2*)m_cache_in_buffer.span(sizeof(bucket_head2)).data(); - phead.m_signature = SWAP64LE(phead.m_signature); - phead.m_cb = SWAP64LE(phead.m_cb); - phead.m_command = SWAP32LE(phead.m_command); - phead.m_return_code = SWAP32LE(phead.m_return_code); - phead.m_flags = SWAP32LE(phead.m_flags); - phead.m_protocol_version = SWAP32LE(phead.m_protocol_version); + memcpy(&m_current_head, m_cache_in_buffer.span(sizeof(bucket_head2)).data(), sizeof(bucket_head2)); +#if BYTE_ORDER != LITTLE_ENDIAN + m_current_head.m_signature = SWAP64LE(m_current_head.m_signature); + m_current_head.m_cb = SWAP64LE(m_current_head.m_cb); + m_current_head.m_command = SWAP32LE(m_current_head.m_command); + m_current_head.m_return_code = SWAP32LE(m_current_head.m_return_code); + m_current_head.m_flags = SWAP32LE(m_current_head.m_flags); + m_current_head.m_protocol_version = SWAP32LE(m_current_head.m_protocol_version); #endif - if(LEVIN_SIGNATURE != phead.m_signature) + if(LEVIN_SIGNATURE != m_current_head.m_signature) { LOG_ERROR_CC(m_connection_context, "Signature mismatch, connection will be closed"); return false; } - m_current_head = phead; m_cache_in_buffer.erase(sizeof(bucket_head2)); m_state = stream_state_body; diff --git a/contrib/epee/src/readline_buffer.cpp b/contrib/epee/src/readline_buffer.cpp index ac68d1fdb..76ac9c8b5 100644 --- a/contrib/epee/src/readline_buffer.cpp +++ b/contrib/epee/src/readline_buffer.cpp @@ -2,6 +2,7 @@ #include <readline/readline.h> #include <readline/history.h> #include <iostream> +#include <memory> #include <boost/thread/mutex.hpp> #include <boost/thread/lock_guard.hpp> #include <boost/algorithm/string.hpp> @@ -201,7 +202,7 @@ static void handle_line(char* line) static bool same_as_last_line(const std::string& test_line) { // Note that state->offset == state->length, when a new line was entered. - HISTORY_STATE* state = history_get_history_state(); + auto state = std::unique_ptr<HISTORY_STATE, decltype(free)*>{history_get_history_state(), free}; return state->length > 0 && test_line.compare(state->entries[state->length-1]->line) == 0; } diff --git a/contrib/gitian/DOCKRUN.md b/contrib/gitian/DOCKRUN.md index b37b12c86..8f8f8715c 100644 --- a/contrib/gitian/DOCKRUN.md +++ b/contrib/gitian/DOCKRUN.md @@ -57,7 +57,7 @@ The dockrun.sh script will do everything to build the binaries. Just specify the version to build as its only argument, e.g. ```bash -VERSION=v0.18.4.6 +VERSION=v0.18.5.0 ./dockrun.sh $VERSION ``` diff --git a/contrib/gitian/README.md b/contrib/gitian/README.md index d601cbffd..c010ba622 100644 --- a/contrib/gitian/README.md +++ b/contrib/gitian/README.md @@ -133,7 +133,7 @@ Common setup part: su - gitianuser GH_USER=YOUR_GITHUB_USER_NAME -VERSION=v0.18.4.6 +VERSION=v0.18.5.0 ``` Where `GH_USER` is your GitHub user name and `VERSION` is the version tag you want to build. |
