forked from pool/cpprest
Compare commits
33 Commits
Author | SHA256 | Date | |
---|---|---|---|
6e1fc7d722 | |||
955296a502 | |||
0a27ffa08f | |||
e7155cd1e2 | |||
7858494fec | |||
eb5c285b60 | |||
db72f013f8 | |||
87aad9aa79 | |||
dfc9f4f9e3 | |||
28aec629c4 | |||
beec7948e3 | |||
08bc17f1bb | |||
aabd4d3b27 | |||
5e4663d318 | |||
6c3f62a5b2 | |||
15008e4d85 | |||
3d7fb9cda8 | |||
7a54569f07 | |||
3470eddc71 | |||
1d6da9d658 | |||
4f110edea6 | |||
ba4b52902a | |||
65a84bd299 | |||
4cd4818fc2 | |||
97907468c7 | |||
51a35ed344 | |||
0ba7b829b8 | |||
8fdcf9a7eb | |||
520aafee0d | |||
|
130162174a | ||
|
154c67a6aa | ||
|
6ae552016b | ||
0b1e48d100 |
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
|
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
|
# 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
|
# 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
|
||||||
@@ -12,24 +12,43 @@
|
|||||||
# license that conforms to the Open Source Definition (Version 1.9)
|
# license that conforms to the Open Source Definition (Version 1.9)
|
||||||
# published by the Open Source Initiative.
|
# 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
|
Name: cpprest
|
||||||
Version: 2.5.0
|
Version: 2.10.19
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: C++ REST library
|
Summary: C++ REST library
|
||||||
License: Apache-2.0
|
# main: MIT (license.txt)
|
||||||
Group: Devlopment/Libraries/C and C++
|
# Websocket++: BSD-3-Clause (ThirdPartyNotices.txt)
|
||||||
Url: https://casablanca.codeplex.com/
|
# base64/base64.hpp: Zlib (ThirdPartyNotices.txt)
|
||||||
Source: http://download-codeplex.sec.s-msft.com/Download/SourceControlFileDownload.ashx?ProjectName=casablanca&changeSetId=25d9ac1966ce#/%{name}-%{version}.zip
|
# sha1/sha1.hpp: BSD-3-Clause (ThirdPartyNotices.txt)
|
||||||
BuildRequires: boost-devel
|
# common/md5.hpp: Zlib (ThirdPartyNotices.txt)
|
||||||
BuildRequires: cmake >= 2.6
|
# 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: gcc-c++
|
||||||
BuildRequires: openssl-devel
|
BuildRequires: libboost_atomic-devel
|
||||||
BuildRequires: unzip
|
BuildRequires: libboost_filesystem-devel
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
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
|
%description
|
||||||
The C++ REST SDK is a Microsoft project for cloud-based client-server
|
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.
|
Also known as Casablanca.
|
||||||
|
|
||||||
%package -n libcpprest2_5
|
%package -n libcpprest%{major}_%{minor}
|
||||||
Summary: C++ Rest library
|
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
|
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
|
communication in native code using a modern asynchronous C++ API design. This
|
||||||
project aims to help C++ developers connect to and interact with services.
|
project aims to help C++ developers connect to and interact with services.
|
||||||
|
|
||||||
%package devel
|
%package devel
|
||||||
Summary: Development files for %{name}
|
Summary: Development files for %{name}
|
||||||
Group: Development/Libraries/C and C++
|
Requires: libcpprest%{major}_%{minor} = %{version}
|
||||||
Requires: libcpprest2_5 = %{version}
|
|
||||||
|
|
||||||
%description devel
|
%description devel
|
||||||
The C++ REST SDK is a Microsoft project for cloud-based client-server
|
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.
|
Development files.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -c
|
%autosetup -p1 -n cpprestsdk-%{version}
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%cmake -DCMAKE_BUILD_TYPE=Release ../Release
|
%cmake \
|
||||||
make %{?_smp_mflags}
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
|
-DWERROR=OFF
|
||||||
|
%cmake_build
|
||||||
|
|
||||||
%install
|
%install
|
||||||
mkdir -p %{buildroot}%{_includedir}
|
%cmake_install
|
||||||
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
|
|
||||||
|
|
||||||
%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
|
%check
|
||||||
%defattr(-,root,root)
|
# Tweak library path so that libccprest + libunittestpp are found
|
||||||
%doc CONTRIBUTORS.txt license.txt
|
export LD_LIBRARY_PATH="$PWD/build/Release/Binaries"
|
||||||
%{_libdir}/libcpprest.so.2.5
|
# 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
|
%files devel
|
||||||
%defattr(-,root,root)
|
%license license.txt ThirdPartyNotices.txt
|
||||||
%doc CONTRIBUTORS.txt license.txt
|
%doc CONTRIBUTORS.txt
|
||||||
%{_includedir}/%{name}
|
%{_includedir}/%{name}
|
||||||
%{_includedir}/pplx
|
%{_includedir}/pplx
|
||||||
%{_libdir}/libcpprest.so
|
%{_libdir}/libcpprest.so
|
||||||
|
%{_libdir}/cmake/*
|
||||||
|
%{_libdir}/pkgconfig/%{name}.pc
|
||||||
|
|
||||||
%changelog
|
%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