diff --git a/.github/workflows/deb-build.yaml b/.github/workflows/deb-build.yaml index a0161c9..42b78c3 100644 --- a/.github/workflows/deb-build.yaml +++ b/.github/workflows/deb-build.yaml @@ -17,6 +17,7 @@ jobs: - amd64 target: - "debian:buster" + - "debian:bookworm" - "debian:bullseye" - "ubuntu:jammy" - "ubuntu:bionic" diff --git a/.github/workflows/rpm-build.yaml b/.github/workflows/rpm-build.yaml index bc63a29..9190c34 100644 --- a/.github/workflows/rpm-build.yaml +++ b/.github/workflows/rpm-build.yaml @@ -17,10 +17,10 @@ jobs: - amd64 target: - "centos:7" - - "fedora:35" - - "fedora:36" - - "rockylinux:8.6" - - "rockylinux:9.0" + - "fedora:37" + - "fedora:38" + - "rockylinux:8" + - "rockylinux:9" steps: diff --git a/ChangeLog b/ChangeLog index 8651c87..ce5e64f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Version 4.2.5 +============= + * HTTP: disconnect readers that are idle (or very slow) for + 60 seconds to avoid hanging waiting for data that is unlikely to + ever arrive. + Version 4.2.4 ============= * Debian packaging has been modernised (thanks to Perry Lorier) diff --git a/README b/README index ce7250c..321bdd6 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ -WANDIO 4.2.4 +WANDIO 4.2.5 --------------------------------------------------------------------------- Copyright (c) 2007-2022 The University of Waikato, Hamilton, New Zealand. diff --git a/configure.ac b/configure.ac index 7ba3440..159c73d 100644 --- a/configure.ac +++ b/configure.ac @@ -3,11 +3,11 @@ # Now you only need to update the version number in two places - below, # and in the README -AC_INIT([wandio],[4.2.4],[shane@alcock.co.nz],[wandio]) +AC_INIT([wandio],[4.2.5],[shane@alcock.co.nz],[wandio]) WANDIO_MAJOR=4 WANDIO_MID=2 -WANDIO_MINOR=4 +WANDIO_MINOR=5 # OpenSolaris hides libraries like libncurses in /usr/gnu/lib, which is not # searched by default - add it to LDFLAGS so we at least have a chance of diff --git a/debian/changelog b/debian/changelog index 3d831e7..0ff5630 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +libwandio1 (4.2.5-1) unstable; urgency=medium + + * HTTP: disconnect the reader from server and return an error + if (next to) no data is received for a minute. + + -- Shane Alcock Tue, 13 Jun 2023 16:19:40 +1300 + libwandio1 (4.2.4-1) unstable; urgency=medium * writing: fix bugs with compression method detection based on file diff --git a/lib/Makefile.am b/lib/Makefile.am index 4fabec0..00988bd 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -73,5 +73,5 @@ libwandio_la_SOURCES=wandio.c ior-peek.c ior-stdio.c ior-thread.c \ AM_CPPFLAGS = @ADD_INCLS@ libwandio_la_LIBADD = @LIBWANDIO_LIBS@ -libwandio_la_LDFLAGS=-version-info 6:4:0 @ADD_LDFLAGS@ +libwandio_la_LDFLAGS=-version-info 6:5:0 @ADD_LDFLAGS@ diff --git a/lib/ior-http.c b/lib/ior-http.c index dca71c1..15cfa54 100644 --- a/lib/ior-http.c +++ b/lib/ior-http.c @@ -330,6 +330,8 @@ io_t *init_io(io_t *io) { curl_easy_setopt(DATA(io)->curl, CURLOPT_FOLLOWLOCATION, 1L); curl_easy_setopt(DATA(io)->curl, CURLOPT_FAILONERROR, 1L); curl_easy_setopt(DATA(io)->curl, CURLOPT_TCP_KEEPALIVE, 1L); + curl_easy_setopt(DATA(io)->curl, CURLOPT_LOW_SPEED_TIME, 60L); + curl_easy_setopt(DATA(io)->curl, CURLOPT_LOW_SPEED_LIMIT, 100L); curl_easy_setopt(DATA(io)->curl, CURLOPT_USERAGENT, "wandio/"PACKAGE_VERSION); /* for remote files, the buffer set to 2*CURL_MAX_WRITE_SIZE */ diff --git a/rpm/libwandio1.spec b/rpm/libwandio1.spec index df13b84..177eac2 100644 --- a/rpm/libwandio1.spec +++ b/rpm/libwandio1.spec @@ -1,5 +1,5 @@ Name: libwandio1 -Version: 4.2.4 +Version: 4.2.5 Release: 1%{?dist} Summary: C Multi-Threaded File Compression and Decompression Library @@ -73,6 +73,9 @@ find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';' %{_bindir}/wandiocat %changelog +* Tue Jun 13 2023 Shane Alcock - 4.2.5-1 +- New upstream release (4.2.5) + * Fri Oct 21 2022 Shane Alcock - 4.2.4-1 - New upstream release (4.2.4)