SHA256
1
0
forked from pool/cpp-httplib

19 Commits

Author SHA256 Message Date
d6a441f337 Accepting request 1298940 from devel:libraries:c_c++
Automatic submission by obs-autosubmit

OBS-URL: https://build.opensuse.org/request/show/1298940
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/cpp-httplib?expand=0&rev=13
2025-08-13 14:22:56 +00:00
12f2a4e7cd cpp-httplib 0.24.0, fix the .pc file, and Tumbleweed build
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/cpp-httplib?expand=0&rev=38
2025-08-08 13:22:04 +00:00
074920ce45 Accepting request 1295278 from devel:libraries:c_c++
OBS-URL: https://build.opensuse.org/request/show/1295278
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/cpp-httplib?expand=0&rev=12
2025-07-25 15:03:46 +00:00
4e4cc18e88 - 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

OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/cpp-httplib?expand=0&rev=36
2025-07-23 10:53:53 +00:00
dc2a97a05f Accepting request 1288500 from devel:libraries:c_c++
OBS-URL: https://build.opensuse.org/request/show/1288500
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/cpp-httplib?expand=0&rev=11
2025-06-26 12:05:30 +00:00
da571aaa0e - 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

OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/cpp-httplib?expand=0&rev=34
2025-06-25 10:30:45 +00:00
a0de67286f Accepting request 1278526 from devel:libraries:c_c++
OBS-URL: https://build.opensuse.org/request/show/1278526
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/cpp-httplib?expand=0&rev=10
2025-05-23 12:29:02 +00:00
469f244f62 - Add dependency from cpp-httplib-devel to libzstd-devel
to workaround cmake wanting it in all cases unconditionally.

This should fix build failure for openSUSE:Factory/descent3.

OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/cpp-httplib?expand=0&rev=32
2025-05-20 07:48:48 +00:00
38eadfddc6 Accepting request 1276812 from devel:libraries:c_c++
OBS-URL: https://build.opensuse.org/request/show/1276812
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/cpp-httplib?expand=0&rev=9
2025-05-13 18:12:32 +00:00
ac75ac1979 - 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)

OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/cpp-httplib?expand=0&rev=30
2025-05-12 11:21:29 +00:00
d20b1c1a21 Accepting request 1243599 from devel:libraries:c_c++
OBS-URL: https://build.opensuse.org/request/show/1243599
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/cpp-httplib?expand=0&rev=8
2025-02-07 21:46:53 +00:00
32f9caf302 - 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

OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/cpp-httplib?expand=0&rev=28
2025-02-06 10:29:00 +00:00
625899f15d Accepting request 1239053 from devel:libraries:c_c++
OBS-URL: https://build.opensuse.org/request/show/1239053
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/cpp-httplib?expand=0&rev=7
2025-01-21 20:09:47 +00:00
94dbd2a452 - 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

OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/cpp-httplib?expand=0&rev=26
2025-01-20 14:24:58 +00:00
4876e7e3bf Accepting request 1219557 from devel:libraries:c_c++
OBS-URL: https://build.opensuse.org/request/show/1219557
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/cpp-httplib?expand=0&rev=6
2024-10-31 15:08:36 +00:00
1df78ffd75 Fix building with openssl 3.2.x
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/cpp-httplib?expand=0&rev=24
2024-10-30 12:42:15 +00:00
8aa9e82f54 Accepting request 1204176 from devel:libraries:c_c++
OBS-URL: https://build.opensuse.org/request/show/1204176
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/cpp-httplib?expand=0&rev=5
2024-10-01 15:12:16 +00:00
cb90b6e91c Small specfile refactoring
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/cpp-httplib?expand=0&rev=22
2024-09-27 13:08:20 +00:00
8536137bbd - 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

OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/cpp-httplib?expand=0&rev=21
2024-09-27 12:29:03 +00:00
6 changed files with 234 additions and 25 deletions

View File

@@ -1,3 +0,0 @@
<services>
<service name="download_files" mode="manual"/>
</services>

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8d6a4a40ee8fd3f553b7e895882e60e674bd910883fc1857587dbbabee3cdb91
size 1151103

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:bb788d1ccf6654af77b63f4f3f01f9d9a5b549a8773d02eb88b33ef252a9f78e
size 1301392

View File

@@ -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>

12
cpp-httplib.pc Normal file
View 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

View File

@@ -1,7 +1,8 @@
#
# 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
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,20 +17,22 @@
#
%define sover 0.15
%define libver 0_15
%define sover 0.24
%define libver 0_24
Name: cpp-httplib
Version: 0.15.1
Version: 0.24.0
Release: 0
Summary: A C++11 HTTP/HTTPS server and client library
License: MIT
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
BuildRequires: gcc-c++
BuildRequires: meson >= 0.47.0
Source0: %{url}/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
Source1: %{name}.pc
BuildRequires: c++_compiler
BuildRequires: cmake
BuildRequires: pkgconfig(gtest)
BuildRequires: pkgconfig(libbrotlidec)
BuildRequires: pkgconfig(libbrotlienc)
BuildRequires: pkgconfig(libcurl)
BuildRequires: pkgconfig(openssl) >= 3.0.0
%package -n lib%{name}%{libver}
@@ -38,7 +41,8 @@ Summary: A C++11 HTTP/HTTPS library
%package devel
Summary: A C++11 HTTP/HTTPS library
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
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.
%prep
%setup -q
%autosetup -p1
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
%meson -Dcpp-httplib_compile=true -Dcpp-httplib_test=true \
--buildtype=release
%meson_build
%cmake \
-DHTTPLIB_REQUIRE_OPENSSL=ON \
-DHTTPLIB_REQUIRE_ZLIB=ON \
-DHTTPLIB_REQUIRE_BROTLI=ON \
-DHTTPLIB_COMPILE=ON \
-DHTTPLIB_TEST=ON
%cmake_build
%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
# OBS and chroot build environments does not provide internet
# connectivity, skip online tests to avoid failures
export GTEST_FILTER='-*.*_Online'
%meson_test
%ctest --parallel 1 --exclude-regex '(_Online$)'
%post -n lib%{name}%{libver} -p /sbin/ldconfig
%postun -n lib%{name}%{libver} -p /sbin/ldconfig
%ldconfig_scriptlets -n lib%{name}%{libver}
%files -n lib%{name}%{libver}
%license LICENSE
%{_libdir}/lib%{name}.so.%{sover}
%{_libdir}/lib%{name}.so.%{version}
%license LICENSE
%files devel
%license LICENSE
%doc README.md example
%{_libdir}/lib%{name}.so
%{_includedir}/httplib.h
%{_libdir}/cmake/httplib
%{_libdir}/pkgconfig/%{name}.pc
%doc README.md example
%changelog