SHA256
8
0
forked from pool/cpprest

33 Commits

Author SHA256 Message Date
6e1fc7d722 Accepting request 1151167 from home:dimstar:rpm4.20:c
Prepare for RPM 4.20

OBS-URL: https://build.opensuse.org/request/show/1151167
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/cpprest?expand=0&rev=57
2024-02-26 11:21:53 +00:00
955296a502 Accepting request 1131489 from home:1Antoine1:branches:devel:libraries:c_c++
- 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.

OBS-URL: https://build.opensuse.org/request/show/1131489
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/cpprest?expand=0&rev=55
2023-12-07 07:44:00 +00:00
0a27ffa08f Accepting request 870110 from home:1Antoine1:branches:devel:libraries:c_c++
- 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.

OBS-URL: https://build.opensuse.org/request/show/870110
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/cpprest?expand=0&rev=53
2021-02-07 20:40:26 +00:00
e7155cd1e2 Accepting request 863906 from home:1Antoine1:branches:devel:libraries:c_c++
- 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.

OBS-URL: https://build.opensuse.org/request/show/863906
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/cpprest?expand=0&rev=51
2021-01-17 22:43:57 +00:00
7858494fec Accepting request 860140 from home:Andreas_Schwab:Factory
- 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

OBS-URL: https://build.opensuse.org/request/show/860140
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/cpprest?expand=0&rev=49
2021-01-04 13:08:51 +00:00
eb5c285b60 Accepting request 807486 from home:Guillaume_G:branches:openSUSE:Factory:ARM
- Add patch to disable 'extract_floating_point' test failing on
  ppc64* and aarch64:
  * cpprest-2.10.9-disable-test-extract_floating_point.patch

OBS-URL: https://build.opensuse.org/request/show/807486
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/cpprest?expand=0&rev=47
2020-05-20 09:47:29 +00:00
db72f013f8 Accepting request 800302 from home:scarabeus_iv:branches:devel:libraries:c_c++
- Update to 2.10.16:
  * Various c++11 fixes
  * Cmake buildsystem improvements

OBS-URL: https://build.opensuse.org/request/show/800302
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/cpprest?expand=0&rev=45
2020-05-08 18:37:33 +00:00
87aad9aa79 Accepting request 721230 from home:1Antoine1:branches:devel:libraries:c_c++
- 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).

OBS-URL: https://build.opensuse.org/request/show/721230
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/cpprest?expand=0&rev=43
2019-08-06 10:22:06 +00:00
dfc9f4f9e3 Accepting request 704252 from home:cgiboudeaux:branches:devel:libraries:c_c++
- Add the missing zlib requirement.

OBS-URL: https://build.opensuse.org/request/show/704252
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/cpprest?expand=0&rev=41
2019-05-21 08:23:09 +00:00
28aec629c4 Accepting request 698681 from home:AndreasStieger:branches:devel:libraries:c_c++
cpprestsdk 2.10.13

OBS-URL: https://build.opensuse.org/request/show/698681
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/cpprest?expand=0&rev=40
2019-05-01 06:31:10 +00:00
beec7948e3 Accepting request 667306 from home:1Antoine1:branches:devel:libraries:c_c++
- 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.

OBS-URL: https://build.opensuse.org/request/show/667306
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/cpprest?expand=0&rev=38
2019-01-22 12:53:48 +00:00
08bc17f1bb Accepting request 664955 from home:MargueriteSu:branches:devel:libraries:c_c++
- 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

OBS-URL: https://build.opensuse.org/request/show/664955
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/cpprest?expand=0&rev=37
2019-01-12 06:12:20 +00:00
aabd4d3b27 Accepting request 635425 from home:1Antoine1:branches:devel:libraries:c_c++
- Update to 2.10.6:
  + Fix clang build error (gh#Microsoft/cpprestsdk#844).
- 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).

OBS-URL: https://build.opensuse.org/request/show/635425
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/cpprest?expand=0&rev=35
2018-09-13 10:56:32 +00:00
5e4663d318 - fix build with gcc8 (add cpprestsdk-2.10.2-fix-gcc8.patch)
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/cpprest?expand=0&rev=33
2018-06-17 11:09:53 +00:00
6c3f62a5b2 2.10.2
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/cpprest?expand=0&rev=31
2018-03-22 13:51:05 +00:00
15008e4d85 Accepting request 590306 from home:Guillaume_G:branches:openSUSE:Factory:ARM
- Update _constraint file since we needs more memory

OBS-URL: https://build.opensuse.org/request/show/590306
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/cpprest?expand=0&rev=30
2018-03-22 13:19:31 +00:00
3d7fb9cda8 Accepting request 561866 from home:1Antoine1:branches:devel:libraries:c_c++
- 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.

OBS-URL: https://build.opensuse.org/request/show/561866
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/cpprest?expand=0&rev=28
2018-01-08 16:36:24 +00:00
7a54569f07 Accepting request 555058 from home:MargueriteSu:branches:M17N
- add a pkgconfig file, fix boo#1068836

OBS-URL: https://build.opensuse.org/request/show/555058
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/cpprest?expand=0&rev=27
2017-12-25 11:48:46 +00:00
3470eddc71 fix build
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/cpprest?expand=0&rev=25
2017-11-16 18:29:06 +00:00
1d6da9d658 Accepting request 541235 from home:AndreasStieger:branches:devel:libraries:c_c++
cpprest 2.10.0

OBS-URL: https://build.opensuse.org/request/show/541235
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/cpprest?expand=0&rev=24
2017-11-13 09:43:30 +00:00
4f110edea6 do not change license
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/cpprest?expand=0&rev=22
2017-08-30 08:53:34 +00:00
ba4b52902a fix Factory
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/cpprest?expand=0&rev=21
2017-08-30 08:53:05 +00:00
65a84bd299 - use individual libboost-*-devel packages instead of boost-devel
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/cpprest?expand=0&rev=19
2017-02-02 12:05:31 +00:00
4cd4818fc2 Accepting request 454092 from home:AndreasStieger:branches:devel:libraries:c_c++
cpprest 2.9.1

OBS-URL: https://build.opensuse.org/request/show/454092
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/cpprest?expand=0&rev=18
2017-02-02 09:11:39 +00:00
97907468c7 Accepting request 437906 from home:AndreasStieger:branches:devel:libraries:c_c++
cpprest 2.9.0

OBS-URL: https://build.opensuse.org/request/show/437906
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/cpprest?expand=0&rev=16
2016-10-30 15:44:52 +00:00
51a35ed344 Accepting request 383778 from home:AndreasStieger:branches:devel:libraries:c_c++
cpprest 2.8.0

OBS-URL: https://build.opensuse.org/request/show/383778
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/cpprest?expand=0&rev=14
2016-04-04 08:57:03 +00:00
0ba7b829b8 Accepting request 347181 from home:pluskalm:branches:devel:libraries:c_c++
- Update to 2.7.0
  * see https://github.com/Microsoft/cpprestsdk/releases for full
    list of changes
- Update project and download url

OBS-URL: https://build.opensuse.org/request/show/347181
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/cpprest?expand=0&rev=12
2015-12-02 15:20:41 +00:00
8fdcf9a7eb Accepting request 315381 from home:Andreas_Schwab:Factory
- Ignore cdecl warning also on arm

OBS-URL: https://build.opensuse.org/request/show/315381
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/cpprest?expand=0&rev=10
2015-07-07 10:37:12 +00:00
520aafee0d Accepting request 314255 from home:AndreasStieger:branches:devel:libraries:c_c++
- fix architecture builds

OBS-URL: https://build.opensuse.org/request/show/314255
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/cpprest?expand=0&rev=9
2015-06-28 14:32:09 +00:00
Ismail Dönmez
130162174a OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/cpprest?expand=0&rev=8 2015-06-24 12:32:51 +00:00
Ismail Dönmez
154c67a6aa Add _constraints
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/cpprest?expand=0&rev=7
2015-06-24 12:26:38 +00:00
Ismail Dönmez
6ae552016b - Add cpprest-pthread.patch to fix unit test linking
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/cpprest?expand=0&rev=6
2015-06-24 10:05:05 +00:00
0b1e48d100 Accepting request 311784 from home:AndreasStieger:branches:M17N
cpprest 2.6.0

OBS-URL: https://build.opensuse.org/request/show/311784
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/cpprest?expand=0&rev=4
2015-06-12 09:57:03 +00:00
8 changed files with 628 additions and 36 deletions

8
_constraints Normal file
View 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
View 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]));

View 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

View File

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

View File

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

View File

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

View File

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

40
filestream.patch Normal file
View 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)
{