forked from pool/cpp-httplib
Compare commits
19 Commits
Author | SHA256 | Date | |
---|---|---|---|
d6a441f337 | |||
12f2a4e7cd | |||
074920ce45 | |||
4e4cc18e88 | |||
dc2a97a05f | |||
da571aaa0e | |||
a0de67286f | |||
469f244f62 | |||
38eadfddc6 | |||
ac75ac1979 | |||
d20b1c1a21 | |||
32f9caf302 | |||
625899f15d | |||
94dbd2a452 | |||
4876e7e3bf | |||
1df78ffd75 | |||
8aa9e82f54 | |||
cb90b6e91c | |||
8536137bbd |
3
_service
3
_service
@@ -1,3 +0,0 @@
|
|||||||
<services>
|
|
||||||
<service name="download_files" mode="manual"/>
|
|
||||||
</services>
|
|
@@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:8d6a4a40ee8fd3f553b7e895882e60e674bd910883fc1857587dbbabee3cdb91
|
|
||||||
size 1151103
|
|
3
cpp-httplib-0.24.0.tar.gz
Normal file
3
cpp-httplib-0.24.0.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:bb788d1ccf6654af77b63f4f3f01f9d9a5b549a8773d02eb88b33ef252a9f78e
|
||||||
|
size 1301392
|
@@ -1,3 +1,188 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Aug 4 21:10:04 UTC 2025 - Andreas Stieger <andreas.stieger@gmx.de>
|
||||||
|
|
||||||
|
- 0.24.0:
|
||||||
|
* URL Encoding/Decoding Improvements
|
||||||
|
* Accept Header Quality Value Parsing Exception Handling
|
||||||
|
* Missing Client::set_max_timeout Method Implementation
|
||||||
|
- fix incorrect version in openSUSE package specific .pc file
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Jul 22 23:58:47 UTC 2025 - Marius Grossu <marius.grossu@suse.com>
|
||||||
|
|
||||||
|
- version update to 0.23.1
|
||||||
|
* Fix issue with HTTP handling #2021
|
||||||
|
* Fix specific bug addressed in this release #2111
|
||||||
|
* Resolve issue #366
|
||||||
|
* Resolve issue #1264
|
||||||
|
* Fix getaddrinfo stalling issue when network is down
|
||||||
|
* Fix proxy-related issues
|
||||||
|
* Fix #1656: Improve logging before compression #1656
|
||||||
|
* Add URL encoding helpers for user input in GET requests #2170
|
||||||
|
* Add SSL error access functionality #2169
|
||||||
|
* Cleaner API: API improvements #2166
|
||||||
|
* Add POST with content receiver feature #cfb56c0
|
||||||
|
* Add Params support for PUT/DELETE methods #b2bf172
|
||||||
|
* Complete removal of Windows 8 or lower support #2177
|
||||||
|
* Removal of 32-bit environment support (64-bit only) #2173
|
||||||
|
* Improve form field access methods #2171
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Jun 24 14:39:29 UTC 2025 - Marius Grossu <marius.grossu@suse.com>
|
||||||
|
|
||||||
|
- version update to 0.22.0
|
||||||
|
* Fix ranges that are not in the form 0-n do not work #2157
|
||||||
|
* Fix windows req/res very slow compared to Linux #1777
|
||||||
|
* Add CPPHTTPLIB_HEADER_MAX_COUNT
|
||||||
|
* Windows ::isdigit compilation error #2135
|
||||||
|
* Specify version in meson.build #2139
|
||||||
|
* Detect if afunix.h exists #2145
|
||||||
|
* Feature request: let the Request& know which route matched #2101
|
||||||
|
* Feature/multipart headers #2152
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon May 19 20:04:41 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
|
||||||
|
|
||||||
|
- Add dependency from cpp-httplib-devel to libzstd-devel
|
||||||
|
to workaround cmake wanting it in all cases unconditionally.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon May 12 11:00:44 UTC 2025 - pgajdos@suse.com
|
||||||
|
|
||||||
|
- version update to 0.20.1
|
||||||
|
0.20.1 (CVE-2025-46728 [bsc#1242777])
|
||||||
|
* Add AF_UNIX support on windows #2115
|
||||||
|
* Support zstd also via pkg-config #2121
|
||||||
|
* Fix #2113
|
||||||
|
* Fix "Unbounded Memory Allocation in Chunked/No-Length Requests"
|
||||||
|
0.20.0
|
||||||
|
* server_certificate_verifier extended to reuse built-in verifier #2064
|
||||||
|
* Assertion failed when destroying httplib::Client
|
||||||
|
* #2068
|
||||||
|
* Spaces incorrectly allowed in header field names #2096
|
||||||
|
* build(meson): copy MountTest.MultibytesPathName files #2098
|
||||||
|
* Remove SSLInit #2102
|
||||||
|
* Add zstd support #2088
|
||||||
|
* Question the behavior of method read_content_without_length #2109
|
||||||
|
* Crash when calling std::exit while server running or client requests in flight #2097
|
||||||
|
0.19.0
|
||||||
|
* Global timeout feature (same as "--max-time" curl option) #2034
|
||||||
|
* Fix check for URI length to prevent incorrect HTTP 414 errors
|
||||||
|
0.18.7
|
||||||
|
* Potential memory corruption in stream_line_reader #2028
|
||||||
|
- deleted patches
|
||||||
|
- cpp-httplib-test-issue2004-online.patch (upstreamed)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Feb 6 08:51:25 UTC 2025 - pgajdos@suse.com
|
||||||
|
|
||||||
|
- version update to 0.18.6
|
||||||
|
* Resolve #2033
|
||||||
|
* Port/Address re-use #2011
|
||||||
|
* Invalid Content-Length values should be rejected #2014
|
||||||
|
* Feature request: ability to check if the connection is still alive #2017
|
||||||
|
* Changed to use non-blocking socket in is_ssl_peer_could_be_closed (258992a)
|
||||||
|
* Treat out-of-range last_pos as the end of the content #2009
|
||||||
|
* fix:set_file_content with range request return 416. #2010
|
||||||
|
* Fix HTTP Response Splitting Vulnerability (9c36aae)
|
||||||
|
- added patches
|
||||||
|
fix https://github.com/yhirose/cpp-httplib/issues/2042
|
||||||
|
+ cpp-httplib-test-issue2004-online.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Jan 20 09:51:09 UTC 2025 - Pedro Monreal <pmonreal@suse.com>
|
||||||
|
|
||||||
|
- Update to 0.18.3:
|
||||||
|
* Bug fixes:
|
||||||
|
- Regression: Client keep-alive subsequent requests very slow #1997
|
||||||
|
- 304 Not Modified response stalls until timeout #1998
|
||||||
|
|
||||||
|
- Update to 0.18.2:
|
||||||
|
* Bug fixes:
|
||||||
|
- Fix the problem that CreateFile2 in mmap::open fails to... #1973
|
||||||
|
- Default Accept-Encoding header for the client #1975
|
||||||
|
- SSLClientReconnection fails on Windows #1980
|
||||||
|
- delay in keep_alive due to sleep #1969
|
||||||
|
- missing query pararm in httplib::Client::send #1985
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Oct 30 11:21:07 UTC 2024 - Pedro Monreal <pmonreal@suse.com>
|
||||||
|
|
||||||
|
- Update to 0.18.1:
|
||||||
|
* SSLClientServerTest.* tests fail with OpenSSL 3.2.1 (#1798)
|
||||||
|
* Feat: add CPack support (#1950)
|
||||||
|
* Keep alive is slowing down shutdown (#1959)
|
||||||
|
* Allow empty header values (#1965)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Sep 27 13:05:37 UTC 2024 - Alexey Svistunov <svalx@svalx.net>
|
||||||
|
|
||||||
|
- Small specfile refactoring
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun Sep 22 16:50:33 UTC 2024 - Richard Rahl <rrahl0@opensuse.org>
|
||||||
|
|
||||||
|
- update to 0.18.0:
|
||||||
|
* httplib.h: support LibreSSL
|
||||||
|
* Nice way to call "handle_file_request" from user code
|
||||||
|
* How to diagnose the infamous read error 4
|
||||||
|
* Made default server and client read/write timeout settings separately
|
||||||
|
* Slow performance caused by get_remote_ip_and_port and get_local_ip_and_port
|
||||||
|
* Provides a way to ignore host verify
|
||||||
|
* add API support for verify certificate manually
|
||||||
|
- update to 0.17.3:
|
||||||
|
* Accessing Directory
|
||||||
|
* ‘constexpr’ error
|
||||||
|
* Only match path params that span full path segment
|
||||||
|
* Fix KeepAliveTest.SSLClientReconnectionPost problem
|
||||||
|
- update to 0.17.2:
|
||||||
|
* Fix incorrect handling of Expect: 100-continue
|
||||||
|
* Peformance improvement by removing tolower function call
|
||||||
|
- update to 0.17.1:
|
||||||
|
* Header parser incorrectly accepts NUL and CR within header values
|
||||||
|
* Fix problem with Abstract Namespace Unix Domain
|
||||||
|
* Fix SIGINT problem in Docker image
|
||||||
|
- update to 0.17.0:
|
||||||
|
* Changed CPPHTTPLIB_KEEPALIVE_MAX_COUNT to 100
|
||||||
|
* Add Dockerfile for static file server
|
||||||
|
* Breaking Change!: get_header_ methods on Request and Response now take…
|
||||||
|
* Add sleep in handle_EINTR
|
||||||
|
* Added set_ipv6_v6only method
|
||||||
|
* impossible to shut down the server safely
|
||||||
|
* Performance: reserve body to avoid frequent reallocations and copies
|
||||||
|
- update to 0.16.3:
|
||||||
|
* Fixed set_connection_timeout() unexpected results
|
||||||
|
* Fix KeepAliveTest.SSLClientReconnectionPost
|
||||||
|
- update to 0.16.2:
|
||||||
|
* threadsafe CLOEXEC on platforms that support it
|
||||||
|
* BoringSSL compatibility fixes
|
||||||
|
- update to 0.16.1:
|
||||||
|
* detail::is_socket_alive() is not work for https connection
|
||||||
|
* avoid memory leaks if linked with static openssl libs
|
||||||
|
* Allow hex for ipv6 literal addr in redirect
|
||||||
|
* Fix build on Windows with no WINAPI_PARTITION_APP support
|
||||||
|
* test: fix GetRangeWithMaxLongLength on 32 bit machines
|
||||||
|
* Require a minimum of TLS 1.2
|
||||||
|
- update to 0.16.0:
|
||||||
|
* Use final keyword for devirtualization
|
||||||
|
* FindBrotli cleanup & fixes
|
||||||
|
* client can't open the encrypted private key
|
||||||
|
* build(meson): generate new test PEMs
|
||||||
|
* Fix range parser when parsing too many ranges
|
||||||
|
* fix: increase default receive buffer to 16kb
|
||||||
|
* Removed excess usage of std::move
|
||||||
|
* Merge branch 'HerrCai0907-fix'
|
||||||
|
* Highlight notes using markdown features
|
||||||
|
* Added progress to POST, PUT, PATCH and DELETE requests
|
||||||
|
* Tweak CI & fix macOS prefix
|
||||||
|
* New function SSLServer::update_certs. Allows to update certificates while server is running
|
||||||
|
* Change library name to cpp-httplib
|
||||||
|
- update to 0.15.3:
|
||||||
|
* Breaking change in handling requests with Range in v0.15.1 and v0.15.2
|
||||||
|
- update to 0.15.2:
|
||||||
|
* Severe directory traversal vulnerability (dotdotslash)
|
||||||
|
- switch to cmake build system
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Feb 2 17:01:44 UTC 2024 - Alexey Svistunov <svalx@svalx.net>
|
Fri Feb 2 17:01:44 UTC 2024 - Alexey Svistunov <svalx@svalx.net>
|
||||||
|
|
||||||
|
12
cpp-httplib.pc
Normal file
12
cpp-httplib.pc
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
prefix=/usr
|
||||||
|
includedir=${prefix}/include
|
||||||
|
libdir=${prefix}/lib64
|
||||||
|
|
||||||
|
Name: cpp-httplib
|
||||||
|
Description: A C++ HTTP/HTTPS server and client library
|
||||||
|
URL: https://github.com/yhirose/cpp-httplib
|
||||||
|
Version: 0.0.0
|
||||||
|
Requires.private: openssl >= 3.0.0, zlib, libbrotlicommon, libbrotlidec, libbrotlienc
|
||||||
|
Libs: -L${libdir} -lcpp-httplib
|
||||||
|
Libs.private: -pthread
|
||||||
|
Cflags: -I${includedir} -DCPPHTTPLIB_OPENSSL_SUPPORT -DCPPHTTPLIB_ZLIB_SUPPORT -DCPPHTTPLIB_BROTLI_SUPPORT
|
@@ -1,7 +1,8 @@
|
|||||||
#
|
#
|
||||||
# spec file for package cpp-httplib
|
# spec file for package cpp-httplib
|
||||||
#
|
#
|
||||||
# Copyright (c) 2024 SUSE LLC
|
# Copyright (c) 2025 SUSE LLC
|
||||||
|
# Copyright (c) 2025 Andreas Stieger <Andreas.Stieger@gmx.de>
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@@ -16,20 +17,22 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
%define sover 0.15
|
%define sover 0.24
|
||||||
%define libver 0_15
|
%define libver 0_24
|
||||||
Name: cpp-httplib
|
Name: cpp-httplib
|
||||||
Version: 0.15.1
|
Version: 0.24.0
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: A C++11 HTTP/HTTPS server and client library
|
Summary: A C++11 HTTP/HTTPS server and client library
|
||||||
License: MIT
|
License: MIT
|
||||||
URL: https://github.com/yhirose/cpp-httplib
|
URL: https://github.com/yhirose/cpp-httplib
|
||||||
Source0: https://codeload.github.com/yhirose/cpp-httplib/tar.gz/refs/tags/v%{version}#/%{name}-%{version}.tar.gz
|
Source0: %{url}/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
|
||||||
BuildRequires: gcc-c++
|
Source1: %{name}.pc
|
||||||
BuildRequires: meson >= 0.47.0
|
BuildRequires: c++_compiler
|
||||||
|
BuildRequires: cmake
|
||||||
BuildRequires: pkgconfig(gtest)
|
BuildRequires: pkgconfig(gtest)
|
||||||
BuildRequires: pkgconfig(libbrotlidec)
|
BuildRequires: pkgconfig(libbrotlidec)
|
||||||
BuildRequires: pkgconfig(libbrotlienc)
|
BuildRequires: pkgconfig(libbrotlienc)
|
||||||
|
BuildRequires: pkgconfig(libcurl)
|
||||||
BuildRequires: pkgconfig(openssl) >= 3.0.0
|
BuildRequires: pkgconfig(openssl) >= 3.0.0
|
||||||
|
|
||||||
%package -n lib%{name}%{libver}
|
%package -n lib%{name}%{libver}
|
||||||
@@ -38,7 +41,8 @@ Summary: A C++11 HTTP/HTTPS library
|
|||||||
%package devel
|
%package devel
|
||||||
Summary: A C++11 HTTP/HTTPS library
|
Summary: A C++11 HTTP/HTTPS library
|
||||||
Requires: lib%{name}%{libver} = %{version}
|
Requires: lib%{name}%{libver} = %{version}
|
||||||
Conflicts: cpp-httplib-headers-devel
|
# cmake files require presence of libzstd even if httplib was built without it
|
||||||
|
Requires: pkgconfig(libzstd)
|
||||||
|
|
||||||
%description
|
%description
|
||||||
This is a multi-threaded HTTP library with blocking I/O. There is no
|
This is a multi-threaded HTTP library with blocking I/O. There is no
|
||||||
@@ -57,35 +61,46 @@ post-routing handlers, and support for binding sockets to multiple
|
|||||||
interfaces and any available port.
|
interfaces and any available port.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%autosetup -p1
|
||||||
chmod -x example/uploader.sh
|
chmod -x example/uploader.sh
|
||||||
|
|
||||||
|
# fix dynamically the version in the pkgconfig file
|
||||||
|
sed -i 's|Version: 0.0.0|Version: %{version}|g' %{SOURCE1}
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%meson -Dcpp-httplib_compile=true -Dcpp-httplib_test=true \
|
%cmake \
|
||||||
--buildtype=release
|
-DHTTPLIB_REQUIRE_OPENSSL=ON \
|
||||||
%meson_build
|
-DHTTPLIB_REQUIRE_ZLIB=ON \
|
||||||
|
-DHTTPLIB_REQUIRE_BROTLI=ON \
|
||||||
|
-DHTTPLIB_COMPILE=ON \
|
||||||
|
-DHTTPLIB_TEST=ON
|
||||||
|
%cmake_build
|
||||||
|
|
||||||
%install
|
%install
|
||||||
%meson_install
|
%cmake_install
|
||||||
|
install -Dm0644 %{SOURCE1} %{buildroot}%{_libdir}/pkgconfig/%{name}.pc
|
||||||
|
|
||||||
|
#remove files
|
||||||
|
rm -r %{buildroot}%{_datadir}/{licenses/httplib,doc/packages/cpp-httplib}
|
||||||
|
|
||||||
%check
|
%check
|
||||||
# OBS and chroot build environments does not provide internet
|
# OBS and chroot build environments does not provide internet
|
||||||
# connectivity, skip online tests to avoid failures
|
# connectivity, skip online tests to avoid failures
|
||||||
export GTEST_FILTER='-*.*_Online'
|
%ctest --parallel 1 --exclude-regex '(_Online$)'
|
||||||
%meson_test
|
|
||||||
|
|
||||||
%post -n lib%{name}%{libver} -p /sbin/ldconfig
|
%ldconfig_scriptlets -n lib%{name}%{libver}
|
||||||
%postun -n lib%{name}%{libver} -p /sbin/ldconfig
|
|
||||||
|
|
||||||
%files -n lib%{name}%{libver}
|
%files -n lib%{name}%{libver}
|
||||||
|
%license LICENSE
|
||||||
%{_libdir}/lib%{name}.so.%{sover}
|
%{_libdir}/lib%{name}.so.%{sover}
|
||||||
%{_libdir}/lib%{name}.so.%{version}
|
%{_libdir}/lib%{name}.so.%{version}
|
||||||
%license LICENSE
|
|
||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
|
%license LICENSE
|
||||||
|
%doc README.md example
|
||||||
%{_libdir}/lib%{name}.so
|
%{_libdir}/lib%{name}.so
|
||||||
%{_includedir}/httplib.h
|
%{_includedir}/httplib.h
|
||||||
|
%{_libdir}/cmake/httplib
|
||||||
%{_libdir}/pkgconfig/%{name}.pc
|
%{_libdir}/pkgconfig/%{name}.pc
|
||||||
%doc README.md example
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
Reference in New Issue
Block a user