forked from pool/cpprest
Compare commits
57 Commits
Author | SHA256 | Date | |
---|---|---|---|
0ea2b9c2ec | |||
68f30e837d | |||
f4b40f592a | |||
3834cc4559 | |||
25fda74660 | |||
878c7a3804 | |||
0e05bfa93e | |||
606d0520c9 | |||
6ea4d63898 | |||
a8203a57f5 | |||
61eb78afb2 | |||
6c8a011653 | |||
a8ff5775eb | |||
abf90f2d01 | |||
7b24a52475 | |||
ee43a5beac | |||
954bdbd711 | |||
f2f633a043 | |||
3611eb02e9 | |||
4465441f0d | |||
8efc78f8d7 | |||
c690d9f887 | |||
4b35ccd377 | |||
779a161176 | |||
bae323cbc0 | |||
435c774a72 | |||
fb44ee8c81 | |||
1df8406214 | |||
8e12e252a9 | |||
623f9b4876 | |||
7e5ce4f054 | |||
bfa6ec614b | |||
588dcb03fa | |||
9930acce91 | |||
5b0f76a921 | |||
85ccc96b46 | |||
7895ac9c24 | |||
d7f8219642 | |||
a022917e3b | |||
d4ec62b671 | |||
d275db2eb4 | |||
2a5a74e262 | |||
34a7a6f74d | |||
7a351f9b3d | |||
2b702eca90 | |||
4b96167699 | |||
abf046311b | |||
|
e3b11ac47d | ||
b7eda9898b | |||
d3de2f14be | |||
23317eadba | |||
|
e0ba6249ae | ||
|
5e00e2211e | ||
|
427f2b5c96 | ||
c87220389d | |||
4c65062e62 | |||
ea11c9ccea |
8
_constraints
Normal file
8
_constraints
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0"?>
|
||||
<constraints>
|
||||
<hardware>
|
||||
<memory>
|
||||
<size unit="M">5500</size>
|
||||
</memory>
|
||||
</hardware>
|
||||
</constraints>
|
158
base64.patch
Normal file
158
base64.patch
Normal file
@@ -0,0 +1,158 @@
|
||||
Index: cpprestsdk-2.10.16/Release/src/utilities/base64.cpp
|
||||
===================================================================
|
||||
--- cpprestsdk-2.10.16.orig/Release/src/utilities/base64.cpp
|
||||
+++ cpprestsdk-2.10.16/Release/src/utilities/base64.cpp
|
||||
@@ -43,30 +43,6 @@ const std::array<unsigned char, 128> _ba
|
||||
23, 24, 25, 255, 255, 255, 255, 255, 255, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
|
||||
39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 255, 255, 255, 255, 255}};
|
||||
|
||||
-struct _triple_byte
|
||||
-{
|
||||
- unsigned char _1_1 : 2;
|
||||
- unsigned char _0 : 6;
|
||||
- unsigned char _2_1 : 4;
|
||||
- unsigned char _1_2 : 4;
|
||||
- unsigned char _3 : 6;
|
||||
- unsigned char _2_2 : 2;
|
||||
-};
|
||||
-
|
||||
-struct _double_byte
|
||||
-{
|
||||
- unsigned char _1_1 : 2;
|
||||
- unsigned char _0 : 6;
|
||||
- unsigned char _2_1 : 4;
|
||||
- unsigned char _1_2 : 4;
|
||||
-};
|
||||
-
|
||||
-struct _single_byte
|
||||
-{
|
||||
- unsigned char _1_1 : 2;
|
||||
- unsigned char _0 : 6;
|
||||
-};
|
||||
-
|
||||
//
|
||||
// A note on the implementation of BASE64 encoding and decoding:
|
||||
//
|
||||
@@ -134,26 +110,14 @@ std::vector<unsigned char> _from_base64(
|
||||
size_t idx = 0;
|
||||
for (; size > 4; ++idx)
|
||||
{
|
||||
- unsigned char target[3];
|
||||
- memset(target, 0, sizeof(target));
|
||||
- _triple_byte* record = reinterpret_cast<_triple_byte*>(target);
|
||||
-
|
||||
unsigned char val0 = _base64_dectbl[ptr[0]];
|
||||
unsigned char val1 = _base64_dectbl[ptr[1]];
|
||||
unsigned char val2 = _base64_dectbl[ptr[2]];
|
||||
unsigned char val3 = _base64_dectbl[ptr[3]];
|
||||
|
||||
- record->_0 = val0;
|
||||
- record->_1_1 = val1 >> 4;
|
||||
- result[idx] = target[0];
|
||||
-
|
||||
- record->_1_2 = val1 & 0xF;
|
||||
- record->_2_1 = val2 >> 2;
|
||||
- result[++idx] = target[1];
|
||||
-
|
||||
- record->_2_2 = val2 & 0x3;
|
||||
- record->_3 = val3 & 0x3F;
|
||||
- result[++idx] = target[2];
|
||||
+ result[idx] = (val0 << 2) | (val1 >> 4);
|
||||
+ result[++idx] = ((val1 & 0xF) << 4) | (val2 >> 2);
|
||||
+ result[++idx] = ((val2 & 0x3) << 6) | (val3 & 0x3F);
|
||||
|
||||
ptr += 4;
|
||||
size -= 4;
|
||||
@@ -163,45 +127,35 @@ std::vector<unsigned char> _from_base64(
|
||||
// in all the iterations (a performance issue).
|
||||
|
||||
{
|
||||
- unsigned char target[3];
|
||||
- memset(target, 0, sizeof(target));
|
||||
- _triple_byte* record = reinterpret_cast<_triple_byte*>(target);
|
||||
-
|
||||
unsigned char val0 = _base64_dectbl[ptr[0]];
|
||||
unsigned char val1 = _base64_dectbl[ptr[1]];
|
||||
unsigned char val2 = _base64_dectbl[ptr[2]];
|
||||
unsigned char val3 = _base64_dectbl[ptr[3]];
|
||||
|
||||
- record->_0 = val0;
|
||||
- record->_1_1 = val1 >> 4;
|
||||
- result[idx] = target[0];
|
||||
+ result[idx] = (val0 << 2) | (val1 >> 4);
|
||||
|
||||
- record->_1_2 = val1 & 0xF;
|
||||
if (val2 != 254)
|
||||
{
|
||||
- record->_2_1 = val2 >> 2;
|
||||
- result[++idx] = target[1];
|
||||
+ result[++idx] = ((val1 & 0xF) << 4) | (val2 >> 2);
|
||||
}
|
||||
else
|
||||
{
|
||||
// There shouldn't be any information (ones) in the unused bits,
|
||||
- if (record->_1_2 != 0)
|
||||
+ if ((val1 & 0xF) != 0)
|
||||
{
|
||||
throw std::runtime_error("Invalid end of base64 string");
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
- record->_2_2 = val2 & 0x3;
|
||||
if (val3 != 254)
|
||||
{
|
||||
- record->_3 = val3 & 0x3F;
|
||||
- result[++idx] = target[2];
|
||||
+ result[++idx] = ((val2 & 0x3) << 6) | (val3 & 0x3F);
|
||||
}
|
||||
else
|
||||
{
|
||||
// There shouldn't be any information (ones) in the unused bits.
|
||||
- if (record->_2_2 != 0)
|
||||
+ if ((val2 & 0x3) != 0)
|
||||
{
|
||||
throw std::runtime_error("Invalid end of base64 string");
|
||||
}
|
||||
@@ -218,11 +172,10 @@ utility::string_t _to_base64(const unsig
|
||||
|
||||
for (; size >= 3;)
|
||||
{
|
||||
- const _triple_byte* record = reinterpret_cast<const _triple_byte*>(ptr);
|
||||
- unsigned char idx0 = record->_0;
|
||||
- unsigned char idx1 = (record->_1_1 << 4) | record->_1_2;
|
||||
- unsigned char idx2 = (record->_2_1 << 2) | record->_2_2;
|
||||
- unsigned char idx3 = record->_3;
|
||||
+ unsigned char idx0 = ptr[0] >> 2;
|
||||
+ unsigned char idx1 = ((ptr[0] & 0x3) << 4) | (ptr[1] >> 4);
|
||||
+ unsigned char idx2 = ((ptr[1] & 0xF) << 2) | (ptr[2] >> 6);
|
||||
+ unsigned char idx3 = ptr[2] & 0x3F;
|
||||
result.push_back(char_t(_base64_enctbl[idx0]));
|
||||
result.push_back(char_t(_base64_enctbl[idx1]));
|
||||
result.push_back(char_t(_base64_enctbl[idx2]));
|
||||
@@ -234,9 +187,8 @@ utility::string_t _to_base64(const unsig
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
- const _single_byte* record = reinterpret_cast<const _single_byte*>(ptr);
|
||||
- unsigned char idx0 = record->_0;
|
||||
- unsigned char idx1 = (record->_1_1 << 4);
|
||||
+ unsigned char idx0 = ptr[0] >> 2;
|
||||
+ unsigned char idx1 = ((ptr[0] & 0x3) << 4);
|
||||
result.push_back(char_t(_base64_enctbl[idx0]));
|
||||
result.push_back(char_t(_base64_enctbl[idx1]));
|
||||
result.push_back('=');
|
||||
@@ -245,10 +197,9 @@ utility::string_t _to_base64(const unsig
|
||||
}
|
||||
case 2:
|
||||
{
|
||||
- const _double_byte* record = reinterpret_cast<const _double_byte*>(ptr);
|
||||
- unsigned char idx0 = record->_0;
|
||||
- unsigned char idx1 = (record->_1_1 << 4) | record->_1_2;
|
||||
- unsigned char idx2 = (record->_2_1 << 2);
|
||||
+ unsigned char idx0 = ptr[0] >> 2;
|
||||
+ unsigned char idx1 = ((ptr[0] & 0x3) << 4) | (ptr[1] >> 4);
|
||||
+ unsigned char idx2 = ((ptr[1] & 0xF) << 2);
|
||||
result.push_back(char_t(_base64_enctbl[idx0]));
|
||||
result.push_back(char_t(_base64_enctbl[idx1]));
|
||||
result.push_back(char_t(_base64_enctbl[idx2]));
|
13
cpprest-2.10.9-disable-test-extract_floating_point.patch
Normal file
13
cpprest-2.10.9-disable-test-extract_floating_point.patch
Normal file
@@ -0,0 +1,13 @@
|
||||
Index: cpprestsdk-2.10.16/Release/tests/functional/streams/istream_tests.cpp
|
||||
===================================================================
|
||||
--- cpprestsdk-2.10.16.orig/Release/tests/functional/streams/istream_tests.cpp
|
||||
+++ cpprestsdk-2.10.16/Release/tests/functional/streams/istream_tests.cpp
|
||||
@@ -1305,7 +1305,7 @@ SUITE(istream_tests)
|
||||
test_string.append(" 6E+4.5"); // two numbers merged in exponent
|
||||
test_string.append(" 6E-4.5"); // two numbers merged in exponent
|
||||
test_string.append(" 3.14 -10 +42.0 -1234.567 .01 +0 -0");
|
||||
-#ifndef __APPLE__
|
||||
+#if FLT_EVAL_METHOD > 1
|
||||
test_string.append(" 12345678901234567890123456789012345678901234567890"); // a big number
|
||||
#endif
|
||||
test_string.append(" 9.81E05 6.0221413e+23 1.6e-14"); // numbers with exponent
|
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:92168b640c212251c576d0d5e75393870498f7d115815bf860f941094f232700
|
||||
size 2448296
|
334
cpprest.changes
334
cpprest.changes
@@ -1,3 +1,337 @@
|
||||
-------------------------------------------------------------------
|
||||
Mon Feb 26 10:59:09 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
|
||||
|
||||
- Use %autosetup macro. Allows to eliminate the usage of deprecated
|
||||
PatchN.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Dec 6 20:41:44 UTC 2023 - Antoine Belvire <antoine.belvire@opensuse.org>
|
||||
|
||||
- Update to 2.10.19:
|
||||
* Make Uri.is_host_loopback() only return true for localhost and 127.0.0.1 exactly.
|
||||
The old behavior could potentially return "true" for URLs that were not, in fact, local,
|
||||
and this could cause security issues if is_host_loopback was used in certain ways.
|
||||
* Fix likely typo in SafeInt3.hpp, that results in error with clang 15
|
||||
* Support for oauth2 with "client_credentials" grant type.
|
||||
* Add constructor from all integer types for json value.
|
||||
* Export http_exception for non Windows builds using visibility macros.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Feb 7 13:57:13 UTC 2021 - Antoine Belvire <antoine.belvire@opensuse.org>
|
||||
|
||||
- Update to 2.10.18:
|
||||
* Add ability to parse and emit the NT Epoch 1601-01-01T00:00:00Z.
|
||||
- Remove obsolete conditionals.
|
||||
- Remove duplicate call to license macro.
|
||||
- Simplify check section and make it work on Leap 15.2/15.3.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Jan 17 20:27:55 UTC 2021 - Antoine Belvire <antoine.belvire@opensuse.org>
|
||||
|
||||
- Update to 2.10.17:
|
||||
* Fix year calculation for the last day of a leap year.
|
||||
* Fix wrong linking of Apple Frameworks on MacOS.
|
||||
* Define __STDC_FORMAT_MACROS when it hasn't been defined to
|
||||
avoid duplicate define error.
|
||||
* Delete apparently broken .vcxprojs and .pfxes.
|
||||
* Removed defunct email contact information from the readme.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jan 4 11:02:30 UTC 2021 - Andreas Schwab <schwab@suse.de>
|
||||
|
||||
- cpprest-2.10.9-disable-test-extract_floating_point.patch: Only disable
|
||||
the problematic test
|
||||
- base64.patch: Portable base64
|
||||
- filestream.patch: Fix type mismatch in basic_file_buffer
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue May 12 16:39:14 UTC 2020 - Guillaume GARDET <guillaume.gardet@opensuse.org>
|
||||
|
||||
- Add patch to disable 'extract_floating_point' test failing on
|
||||
ppc64* and aarch64:
|
||||
* cpprest-2.10.9-disable-test-extract_floating_point.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue May 5 08:15:39 UTC 2020 - Tomáš Chvátal <tchvatal@suse.com>
|
||||
|
||||
- Update to 2.10.16:
|
||||
* Various c++11 fixes
|
||||
* Cmake buildsystem improvements
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Aug 5 19:24:16 UTC 2019 - Antoine Belvire <antoine.belvire@opensuse.org>
|
||||
|
||||
- Update to 2.10.14:
|
||||
* json: {"meow"} is not a valid object.
|
||||
* Undefine compress if it is defined by zconf.h.
|
||||
* Use EVP_MAX_MD_SIZE instead of HMAC_MAX_MD_CBLOCK.
|
||||
* Remove the address_configured flag on tcp::resolver::query.
|
||||
* Add ping and pong to message handler.
|
||||
* Fix reusing ASIO http_client connecting to HTTPS server via
|
||||
proxy.
|
||||
* Fix order of object destruction (gh#microsoft/cpprestsdk#1171).
|
||||
* Fix SSL proxy tunnel support with basic auth.
|
||||
- Fix build with GCC 9: Turn "deprecated-copy" and "redundant-move"
|
||||
errors into warnings (temporary, gh#microsoft/cpprestsdk#1099).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon May 20 12:52:29 UTC 2019 - Christophe Giboudeaux <christophe@krop.fr>
|
||||
|
||||
- Add the missing zlib requirement.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Apr 27 18:43:50 UTC 2019 - Andreas Stieger <andreas.stieger@gmx.de>
|
||||
|
||||
- update to 2.10.13:
|
||||
* fixes related to date and time handling
|
||||
- includes changes in 2.10.12:
|
||||
* Fix race conditions
|
||||
* Fix oauth nonces containing nulls
|
||||
* Rewrite date formatting and parsing
|
||||
- includes changes in 2.10.11:
|
||||
* Fix HTTP/1.0 'Keep-Alive' handling in http_client
|
||||
* developer visible changes
|
||||
- includes changes in 2.10.10:
|
||||
* Handle multi-byte unicode characters in json parsing
|
||||
- includes changes in 2.10.9:
|
||||
* Prevent infinite loop during proxy authentication
|
||||
* handle null bytes when parsing utf8
|
||||
* compiler fixes and developer visible fixes
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Jan 20 09:24:04 UTC 2019 - antoine.belvire@opensuse.org
|
||||
|
||||
- Fix licensing issues:
|
||||
* Use upstream tarball as is, i.e. don't include third-party
|
||||
stuff from vcpkg submodule.
|
||||
* As a consequence, websocketpp is not embedded in tarball so
|
||||
add build requirement on system's websocketpp.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Jan 12 02:21:13 UTC 2019 - Marguerite Su <i@marguerite.su>
|
||||
|
||||
- Update to 2.10.8
|
||||
* Allow ppltasks.h and pplxtasks.h to co-exist
|
||||
* Fix incorrect const in reinterpret_cast
|
||||
* Fix UWP missing header
|
||||
* Adds support for OpenSSL 1.1.1
|
||||
* Fix string size for error message generated by windows_category
|
||||
* Add uri_builder::append_path_raw(...) to allow adding elements
|
||||
to path intentionally beginning with '/' ("//" will result in
|
||||
the final path value)
|
||||
* cmake: add code to detect system brotli library
|
||||
* Fix Brotli compress_helper early termination issue
|
||||
- Update to 2.10.7
|
||||
* Several race conditions in the listener were worked around; the
|
||||
listeners remain experimental and are unlikely to productized
|
||||
in their current form; the race conditions are structural, but
|
||||
at least the client tests pass most of the time.
|
||||
* Incorrect handling of connection pooling bug that caused segfaults
|
||||
on Ubuntu introduced in 2.10.4 has been repaired.
|
||||
* websocketpp checked in 0.5.1 version has been changed to a
|
||||
submodule and updated to 0.8.1.
|
||||
* Added an API to set the number of threads in the asio thread pool
|
||||
* Add Transfer-Encoding compression support and extensible compression
|
||||
API
|
||||
* Improve utf8_to_utf16 speed for common path
|
||||
* added URI resolution according to RFC3986
|
||||
* Use pplx namespace consistently
|
||||
* Remove _ASYNCRTIMP from ~http_listener() and implement inline
|
||||
* Avoid using identifiers reserved by C++ in header guards
|
||||
* blackjack sample: use vector instead of shared pointer for array
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Sep 13 05:27:01 UTC 2018 - antoine.belvire@opensuse.org
|
||||
|
||||
- Update to 2.10.6:
|
||||
+ Fix clang build error (gh#Microsoft/cpprestsdk#844).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Aug 28 18:48:32 UTC 2018 - antoine.belvire@opensuse.org
|
||||
|
||||
- Update to 2.10.5:
|
||||
* Fix incorrect `cpprest/version.h`.
|
||||
- Update to 2.10.4:
|
||||
* Add a `.clang-format` to enable consistent formatting.
|
||||
* Add support for `Host:` headers changing the checked CNAME
|
||||
field for SSL certificates in WinHTTP and Asio.
|
||||
* Pass 0666 to open() for creating files to better match the
|
||||
default behavior for other http clients (wget, etc).
|
||||
* Fix a build issue with clang
|
||||
* Teach cmake to respect the GNUInstallDirs variables
|
||||
* Improve handling of dead connections in the connection pool on
|
||||
Asio.
|
||||
* Improve error handling in the accept() call in `http_listener`
|
||||
* Improve the iOS buildsystem
|
||||
- Update to 2.10.3:
|
||||
* Add a root `CMakeLists.txt` to improve support for VS2017 Open
|
||||
Folder.
|
||||
* Improve support for `/permissive-` in MSVC
|
||||
* Fix a regression due to compression support; we no longer fail
|
||||
on unknown Content-Encoding headers if we did not set
|
||||
Accepts-Encoding
|
||||
* Fix build failure with boost 1.63
|
||||
* Suppress and fix some warnings with new versions of gcc and
|
||||
clang
|
||||
- Drop cpprestsdk-2.10.2-fix-gcc8.patch (fixed upstream).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Jun 17 11:09:02 UTC 2018 - astieger@suse.com
|
||||
|
||||
- fix build with gcc8 (add cpprestsdk-2.10.2-fix-gcc8.patch)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Mar 22 13:48:16 UTC 2018 - astieger@suse.com
|
||||
|
||||
- update to 2.10.2:
|
||||
* Fix an issue where requests sent via authenticated proxies
|
||||
could not be successfully redirected from one domain to another
|
||||
* Add http_listener configuration for the backlog, the maximum
|
||||
length of the queue of pending connections on the port
|
||||
* Make it possible to set the user agent for websockets
|
||||
* Add support for retrieving HTTP version of a request in HTTP
|
||||
listener
|
||||
* various language/compiler fixes
|
||||
* drop upstreamed/unneeded patches:
|
||||
cpprest-2.10.1-srand-boost-1.66.patch
|
||||
cpprest-2.10.1-threadpool-boost-1.66.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Mar 22 13:11:01 UTC 2018 - guillaume.gardet@opensuse.org
|
||||
|
||||
- Update _constraint file since we needs more memory
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jan 1 22:10:37 UTC 2018 - antoine.belvire@opensuse.org
|
||||
|
||||
- Update to version 2.10.1:
|
||||
* Improve CMake generation of UWP binaries.
|
||||
* Fix regression in CMake versions supported. As listed in the
|
||||
main CMakeLists.txt, we intend to only require 3.0.
|
||||
* Mirror changes in the main PPL sources to
|
||||
Concurrency::details::do_while(), which yield a significant
|
||||
compiler throughput improvement on MSVC.
|
||||
* Fix issues under /permissive-, an on-by-default flag for new
|
||||
projects in VS2017 15.5.
|
||||
- Fix build with Boost 1.66:
|
||||
* Add cpprest-2.10.1-srand-boost-1.66.patch.
|
||||
* Add cpprest-2.10.1-threadpool-boost-1.66.patch.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Dec 5 11:49:40 UTC 2017 - i@marguerite.su
|
||||
|
||||
- add a pkgconfig file, fix boo#1068836
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Nov 16 18:28:44 UTC 2017 - astieger@suse.com
|
||||
|
||||
- cpprest 2.10.0:
|
||||
* build system fixes:
|
||||
+ build system updates
|
||||
+ cmake 3.0 required
|
||||
* Fix static library builds of test_runner on non-Windows platforms
|
||||
+ compatibility fixes:
|
||||
+ Improve compatibility with glibc 2.26
|
||||
+ Improve compatibility with clang on Linux
|
||||
+ Improve compatibility with icc 17.0
|
||||
+ Improve compatibility with openssl 1.1.0
|
||||
+ Fix building with LibreSSL
|
||||
* Fix several race conditions and memory leaks in the ASIO http_client
|
||||
* Fix process termination bug around certain exceptional cases in all http_clients
|
||||
* Add all remaining official HTTP status codes to http::status_codes
|
||||
* Add convenience wrappers json::value::has_T_field(T) for inspecting object values
|
||||
* Fix a race condition in the ASIO client during header parsing
|
||||
* Fix error when handling responses of type NoContent, NotModified, or from 100 to 199
|
||||
* Enable specifying the User Agent used in OAuth2 requests
|
||||
* Add http_request::get_remote_address() to expose the client's IP address for http_listener
|
||||
* Fix a bug in the ASIO http_client where the proxy is passed the same credentials as the target host
|
||||
* Make uri_builder::to_string() and uri_builder::to_uri() const
|
||||
* Add handling for the host wildchar + to the ASIO http_listener
|
||||
* Handle malformed URL requests to the ASIO http_listener instead of crashing
|
||||
* Fix a race condition in the websocketpp websocket_client
|
||||
* Fix several races in the ASIO http_listener which result in memory leaks or use after free of the connection objects
|
||||
* Add http_client_config::set_nativesessionhandle_options() which enables customization of the session handle on Windows Desktop
|
||||
* Improve UTF8/16 conversions from 6s per 1MB to 3s per 1GB (2000x improvement)
|
||||
* Enable limited IPv6 support to http_client and http_server, depending on the underlying platform
|
||||
* Fix a bug in base64 encoding that previously read beyond the input array, causing segfaults/AVs
|
||||
* Add compression support (deflate and gzip) for ASIO http_clients based on Zlib
|
||||
* Fix a memory leak in the UWP http_client when processing headers
|
||||
* Fix inappropriate handling of certain connections errors in the ASIO http_listener
|
||||
- drop upstreamed or obsolete patches:
|
||||
* cpprest-pthread.patch
|
||||
* cpprestsdk-2.9.1-Fix-build-error-with-glibc-2.26-xlocale.h.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Aug 30 08:48:08 UTC 2017 - astieger@suse.com
|
||||
|
||||
- fix build with glibc 2.26, adding
|
||||
cpprestsdk-2.9.1-Fix-build-error-with-glibc-2.26-xlocale.h.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Feb 2 09:08:31 UTC 2017 - astieger@suse.com
|
||||
|
||||
- cpprest 2.9.1:
|
||||
* All embedded licenses changed to MIT
|
||||
* Update license header to reflect third party embedded code
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Feb 1 10:31:33 UTC 2017 - adam.majer@suse.de
|
||||
|
||||
- use individual libboost-*-devel packages instead of boost-devel
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Oct 30 15:15:58 UTC 2016 - astieger@suse.com
|
||||
|
||||
- cpprest 2.9.0:
|
||||
* Work around SSL compression methods memory leak in ASIO.
|
||||
* Fix header reading on linux listener using HTTPS.
|
||||
* Add support for basic authentication.
|
||||
* honour http_proxy env-variable.
|
||||
* Update to include access control allow origin.
|
||||
* Switched license from Apache 2.0 to MIT
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Apr 4 08:13:14 UTC 2016 - astieger@suse.com
|
||||
|
||||
- cpprest 2.8.0:
|
||||
* oauth: add more proxy support
|
||||
* http_client: Add TLS extension SNI for boost asio based http_client
|
||||
* http_client: allow specifying a host header in http requests.
|
||||
* http_client: add HTTP and HTTPS client proxy support
|
||||
* fix a bug where http_client_asio took forever to cancel.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Dec 2 13:50:02 UTC 2015 - mpluskal@suse.com
|
||||
|
||||
- Update to 2.7.0
|
||||
* see https://github.com/Microsoft/cpprestsdk/releases for full
|
||||
list of changes
|
||||
- Update project and download url
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jul 7 08:37:35 UTC 2015 - schwab@suse.de
|
||||
|
||||
- Ignore cdecl warning also on arm
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Jun 28 13:11:08 UTC 2015 - astieger@suse.com
|
||||
|
||||
- fix architecture builds
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 24 10:04:53 UTC 2015 - idonmez@suse.com
|
||||
|
||||
- Add cpprest-pthread.patch to fix unit test linking
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jun 12 09:00:49 UTC 2015 - astieger@suse.com
|
||||
|
||||
- update to 2.6.0
|
||||
* Deprecate streambuf::putn API
|
||||
* File streams cleanup improvements
|
||||
* API detail improvements
|
||||
* Removed dependency on Boost.Locale and libiconv.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu May 28 09:38:22 UTC 2015 - astieger@suse.com
|
||||
|
||||
|
105
cpprest.spec
105
cpprest.spec
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package cpprest
|
||||
#
|
||||
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
|
||||
# Copyright (c) 2023 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -12,24 +12,43 @@
|
||||
# license that conforms to the Open Source Definition (Version 1.9)
|
||||
# published by the Open Source Initiative.
|
||||
|
||||
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
||||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
|
||||
%define major 2
|
||||
%define minor 10
|
||||
Name: cpprest
|
||||
Version: 2.5.0
|
||||
Version: 2.10.19
|
||||
Release: 0
|
||||
Summary: C++ REST library
|
||||
License: Apache-2.0
|
||||
Group: Devlopment/Libraries/C and C++
|
||||
Url: https://casablanca.codeplex.com/
|
||||
Source: http://download-codeplex.sec.s-msft.com/Download/SourceControlFileDownload.ashx?ProjectName=casablanca&changeSetId=25d9ac1966ce#/%{name}-%{version}.zip
|
||||
BuildRequires: boost-devel
|
||||
BuildRequires: cmake >= 2.6
|
||||
# main: MIT (license.txt)
|
||||
# Websocket++: BSD-3-Clause (ThirdPartyNotices.txt)
|
||||
# base64/base64.hpp: Zlib (ThirdPartyNotices.txt)
|
||||
# sha1/sha1.hpp: BSD-3-Clause (ThirdPartyNotices.txt)
|
||||
# common/md5.hpp: Zlib (ThirdPartyNotices.txt)
|
||||
# utf8_validation.hpp: MIT (ThirdPartyNotices.txt)
|
||||
License: BSD-3-Clause AND MIT AND Zlib
|
||||
URL: https://github.com/Microsoft/cpprestsdk
|
||||
Source: https://github.com/Microsoft/cpprestsdk/archive/v%{version}/cpprestsdk-%{version}.tar.gz
|
||||
# PATCH-FIX-UPSTREAM -- https://github.com/Microsoft/cpprestsdk/issues/576
|
||||
Patch1: cpprest-2.10.9-disable-test-extract_floating_point.patch
|
||||
# PATCH-FIX-UPSTREAM -- https://github.com/microsoft/cpprestsdk/pull/1557
|
||||
Patch2: base64.patch
|
||||
# PATCH-FIX-UPSTREAM -- https://github.com/microsoft/cpprestsdk/pull/1558
|
||||
Patch3: filestream.patch
|
||||
BuildRequires: cmake >= 3.0
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: openssl-devel
|
||||
BuildRequires: unzip
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
BuildRequires: libboost_atomic-devel
|
||||
BuildRequires: libboost_filesystem-devel
|
||||
BuildRequires: libboost_random-devel
|
||||
BuildRequires: libboost_regex-devel
|
||||
BuildRequires: libboost_system-devel
|
||||
BuildRequires: libboost_thread-devel
|
||||
BuildRequires: pkgconfig
|
||||
BuildRequires: pkgconfig(libssl) >= 1.0
|
||||
BuildRequires: pkgconfig(websocketpp) >= 0.8
|
||||
BuildRequires: pkgconfig(zlib)
|
||||
|
||||
%description
|
||||
The C++ REST SDK is a Microsoft project for cloud-based client-server
|
||||
@@ -38,19 +57,17 @@ project aims to help C++ developers connect to and interact with services.
|
||||
|
||||
Also known as Casablanca.
|
||||
|
||||
%package -n libcpprest2_5
|
||||
%package -n libcpprest%{major}_%{minor}
|
||||
Summary: C++ Rest library
|
||||
Group: System/Libraries
|
||||
|
||||
%description -n libcpprest2_5
|
||||
%description -n libcpprest%{major}_%{minor}
|
||||
The C++ REST SDK is a Microsoft project for cloud-based client-server
|
||||
communication in native code using a modern asynchronous C++ API design. This
|
||||
project aims to help C++ developers connect to and interact with services.
|
||||
|
||||
%package devel
|
||||
Summary: Development files for %{name}
|
||||
Group: Development/Libraries/C and C++
|
||||
Requires: libcpprest2_5 = %{version}
|
||||
Requires: libcpprest%{major}_%{minor} = %{version}
|
||||
|
||||
%description devel
|
||||
The C++ REST SDK is a Microsoft project for cloud-based client-server
|
||||
@@ -60,33 +77,55 @@ project aims to help C++ developers connect to and interact with services.
|
||||
Development files.
|
||||
|
||||
%prep
|
||||
%setup -q -c
|
||||
%autosetup -p1 -n cpprestsdk-%{version}
|
||||
|
||||
%build
|
||||
%cmake -DCMAKE_BUILD_TYPE=Release ../Release
|
||||
make %{?_smp_mflags}
|
||||
%cmake \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DWERROR=OFF
|
||||
%cmake_build
|
||||
|
||||
%install
|
||||
mkdir -p %{buildroot}%{_includedir}
|
||||
cp -r Release/include/* %{buildroot}%{_includedir}/
|
||||
install -d -m 755 %{buildroot}%{_libdir}
|
||||
cp build/Binaries/libcpprest.so.2.5 %{buildroot}%{_libdir}/
|
||||
ln -sf libcpprest.so.2.5 %{buildroot}%{_libdir}/libcpprest.so
|
||||
%cmake_install
|
||||
|
||||
%post -n libcpprest2_5 -p /sbin/ldconfig
|
||||
# create a pkgconfig file
|
||||
install -d %{buildroot}%{_libdir}/pkgconfig
|
||||
cat << EOF > %{buildroot}%{_libdir}/pkgconfig/%{name}.pc
|
||||
prefix=%{_prefix}
|
||||
exec_prefix=%{_prefix}
|
||||
libdir=%{_libdir}
|
||||
includedir=%{_includedir}
|
||||
|
||||
%postun -n libcpprest2_5 -p /sbin/ldconfig
|
||||
Name: %{name}
|
||||
Description: cloud-based client-server communication
|
||||
URL: %{url}
|
||||
Version: %{version}
|
||||
Libs: -L%{_libdir} -lcpprest
|
||||
Cflags: -I%{_includedir}/cpprest -I%{_includedir}/pplx
|
||||
EOF
|
||||
|
||||
%files -n libcpprest2_5
|
||||
%defattr(-,root,root)
|
||||
%doc CONTRIBUTORS.txt license.txt
|
||||
%{_libdir}/libcpprest.so.2.5
|
||||
%check
|
||||
# Tweak library path so that libccprest + libunittestpp are found
|
||||
export LD_LIBRARY_PATH="$PWD/build/Release/Binaries"
|
||||
# websocketsclient_test -> authentication_tests - online tests
|
||||
# httpclient_test -> follows_retrieval_redirect - online test
|
||||
%ctest --exclude-regex '(httpclient_test|websocketsclient_test)'
|
||||
|
||||
%post -n libcpprest%{major}_%{minor} -p /sbin/ldconfig
|
||||
%postun -n libcpprest%{major}_%{minor} -p /sbin/ldconfig
|
||||
|
||||
%files -n libcpprest%{major}_%{minor}
|
||||
%license license.txt ThirdPartyNotices.txt
|
||||
%doc CONTRIBUTORS.txt ThirdPartyNotices.txt
|
||||
%{_libdir}/libcpprest.so.%{major}.%{minor}
|
||||
|
||||
%files devel
|
||||
%defattr(-,root,root)
|
||||
%doc CONTRIBUTORS.txt license.txt
|
||||
%license license.txt ThirdPartyNotices.txt
|
||||
%doc CONTRIBUTORS.txt
|
||||
%{_includedir}/%{name}
|
||||
%{_includedir}/pplx
|
||||
%{_libdir}/libcpprest.so
|
||||
%{_libdir}/cmake/*
|
||||
%{_libdir}/pkgconfig/%{name}.pc
|
||||
|
||||
%changelog
|
||||
|
3
cpprestsdk-2.10.19.tar.gz
Normal file
3
cpprestsdk-2.10.19.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:4b0d14e5bfe77ce419affd253366e861968ae6ef2c35ae293727c1415bd145c8
|
||||
size 1749647
|
40
filestream.patch
Normal file
40
filestream.patch
Normal file
@@ -0,0 +1,40 @@
|
||||
Index: cpprestsdk-2.10.16/Release/include/cpprest/filestream.h
|
||||
===================================================================
|
||||
--- cpprestsdk-2.10.16.orig/Release/include/cpprest/filestream.h
|
||||
+++ cpprestsdk-2.10.16/Release/include/cpprest/filestream.h
|
||||
@@ -399,7 +399,7 @@ protected:
|
||||
{
|
||||
pplx::extensibility::scoped_recursive_lock_t lck(m_info->m_lock);
|
||||
m_info->m_rdpos += 1;
|
||||
- _CharType ch1 = (_CharType)callback->m_ch;
|
||||
+ _CharType ch1 = callback->m_ch;
|
||||
delete callback;
|
||||
return pplx::task_from_result<int_type>(ch1);
|
||||
}
|
||||
@@ -453,7 +453,7 @@ protected:
|
||||
if (ch == sizeof(_CharType))
|
||||
{
|
||||
pplx::extensibility::scoped_recursive_lock_t lck(m_info->m_lock);
|
||||
- _CharType ch1 = (_CharType)callback->m_ch;
|
||||
+ _CharType ch1 = callback->m_ch;
|
||||
delete callback;
|
||||
return pplx::task_from_result<int_type>(ch1);
|
||||
}
|
||||
@@ -889,7 +889,7 @@ private:
|
||||
delete this;
|
||||
}
|
||||
|
||||
- int_type m_ch;
|
||||
+ _CharType m_ch;
|
||||
|
||||
private:
|
||||
_file_info* m_info;
|
||||
@@ -917,7 +917,7 @@ private:
|
||||
delete this;
|
||||
}
|
||||
|
||||
- int_type m_ch;
|
||||
+ _CharType m_ch;
|
||||
|
||||
virtual void on_error(const std::exception_ptr& e)
|
||||
{
|
Reference in New Issue
Block a user