Use cpprestsdk v2.10.18 by florelis · Pull Request #5567 · microsoft/winget-cli

added 2 commits

July 2, 2025 15:54

yao-msft

florelis added a commit to florelis/winget-cli that referenced this pull request

Jul 4, 2025
We are seeing a crash coming from cpprestsdk, which happened after
moving to use vcpkg dependencies and updating to v2.10.19. This reverts
to the version we knew to be good, but it may be that the actual issue
is not from cpprestsdk but from one of the patches from vcpkg.

We consume cpprestsdk from a local port overlay that we use to be able
to patch it with support for certificate pinning, so the main change is
to the script that creates the port overlay. The script makes a copy of
the port from the official registry; and this PR updates it so that it
can fetch a version from an older commit and not just the latest.
###### Microsoft Reviewers: [Open in
CodeFlow](https://microsoft.github.io/open-pr/?codeflow=https://github.com/microsoft/winget-cli/pull/5567)

florelis added a commit that referenced this pull request

Jul 7, 2025

florelis added a commit that referenced this pull request

Jul 14, 2025
#5567 didn't actually fix the crash we were seeing.

The actual cause of the crash seems to be that I missed adding some
compilation flags that we had added to the `.vcxproj` for cpprestsdk
when I moved the dependencies to vcpkg (which does not use the
`.vcxproj`). Specifically, I didn't set a flag to compile it without
async support, so the library used async but winget wasn't prepared for
that.

This PR adds the missing compilation flags for all ports, taken from the
project files before the migration to vcpkg. I added the flags to the
triplet files (conditionally) so that it applies the same regardless of
whether a port comes from the official registry or a local overlay.

I noticed that for `libyaml` and `jsoncpp` I missed the flags to prepare
for fuzzing, so I added a new triplet for those.

This PR also updates the pipeline to publish the compilation logs from
vcpkg for easier debugging in the future.
###### Microsoft Reviewers: [Open in
CodeFlow](https://microsoft.github.io/open-pr/?codeflow=https://github.com/microsoft/winget-cli/pull/5587)

florelis added a commit to florelis/winget-cli that referenced this pull request

Jul 14, 2025
microsoft#5567 didn't actually fix the crash we were seeing.

The actual cause of the crash seems to be that I missed adding some
compilation flags that we had added to the `.vcxproj` for cpprestsdk
when I moved the dependencies to vcpkg (which does not use the
`.vcxproj`). Specifically, I didn't set a flag to compile it without
async support, so the library used async but winget wasn't prepared for
that.

This PR adds the missing compilation flags for all ports, taken from the
project files before the migration to vcpkg. I added the flags to the
triplet files (conditionally) so that it applies the same regardless of
whether a port comes from the official registry or a local overlay.

I noticed that for `libyaml` and `jsoncpp` I missed the flags to prepare
for fuzzing, so I added a new triplet for those.

This PR also updates the pipeline to publish the compilation logs from
vcpkg for easier debugging in the future.
###### Microsoft Reviewers: [Open in
CodeFlow](https://microsoft.github.io/open-pr/?codeflow=https://github.com/microsoft/winget-cli/pull/5587)

florelis added a commit that referenced this pull request

Jul 14, 2025
…5589)

#5567 didn't actually fix the crash we were seeing.

The actual cause of the crash seems to be that I missed adding some
compilation flags that we had added to the `.vcxproj` for cpprestsdk
when I moved the dependencies to vcpkg (which does not use the
`.vcxproj`). Specifically, I didn't set a flag to compile it without
async support, so the library used async but winget wasn't prepared for
that.

This PR adds the missing compilation flags for all ports, taken from the
project files before the migration to vcpkg. I added the flags to the
triplet files (conditionally) so that it applies the same regardless of
whether a port comes from the official registry or a local overlay.

I noticed that for `libyaml` and `jsoncpp` I missed the flags to prepare
for fuzzing, so I added a new triplet for those.

This PR also updates the pipeline to publish the compilation logs from
vcpkg for easier debugging in the future.
###### Microsoft Reviewers: [Open in
CodeFlow](https://microsoft.github.io/open-pr/?codeflow=https://github.com/microsoft/winget-cli/pull/5589)