Commit Graph

1007 Commits

Author SHA1 Message Date
Anton Kolesnyk
2e9f0472b4
Core and Identity June Beta releases (#6605)
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2025-06-05 07:03:18 -07:00
Daniel Jurek
32e868cd5f
Add Cargo.toml to sdk/core/ci.yml (#6608) 2025-06-02 15:25:20 -07:00
Anton Kolesnyk
a035ee5f94
Identity: IMDS fail-fast and Cred order change in DAC (and Core support) (#6573)
* Identity: IMDS fail-fast and Cred order change in DAC (and Core support)

* Mac fix and cspell update

* Update unit test and clang-format

* Temporarily update samples to use AzCliCred until recordings are re-recorded

* Revert samples back to use DAC

* Remove SAS auth from Tables template

* Clang-format

* Add support for 'AZURE_POD_IDENTITY_AUTHORITY_HOST', override it for running samples in CI

* Add unit test for AZURE_POD_IDENTITY_AUTHORITY_HOST

* "in milliseconds"

Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com>

* PR Feedback

* Named constant + comment

---------

Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com>
2025-05-30 16:47:50 -07:00
Anton Kolesnyk
47c738bba2
Implement AZURE_TOKEN_CREDENTIALS (#6593)
* Implement AZURE_TOKEN_CREDENTIALS

* Clang-format

* Update sdk/identity/azure-identity/src/default_azure_credential.cpp

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update sdk/identity/azure-identity/src/default_azure_credential.cpp

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update sdk/identity/azure-identity/CHANGELOG.md

Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com>

* TrimString()

* Test against contains() or startsWith() being used

* Update sdk/identity/azure-identity/src/default_azure_credential.cpp

Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com>

* TrimString() => StringExtensions::Trim()

---------

Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com>
2025-05-27 16:40:16 -07:00
Anton Kolesnyk
63ac69506f
Update vcpkg baseline (#6574)
* Update vcpkg baseline

* Make code to compile with either newer or older version of opentelemetry-cpp

* Clang-format

* Suppress otel warnings in stress test code

* Update CI to update vcpkg cache if the run is PR-initiated

* Turn SSL caching off by default

* Make code to compile with either newer or older version of opentelemetry-cpp

* Clang-format

* Integrate the exact copy of #6581 - to make sure we're testing the same change with libcurl >= 8.12, and also make future merging easier

* Update cspell

* Move feature to bugfix

* Update vcpkg.yml

* Copy #6582 to verify against the latest libcurl

* Undo unnecessary changes

---------

Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2025-05-21 11:57:28 -07:00
Anton Kolesnyk
6c6c4e9b35
Update libcurl transport pool to include all options into connection key (#6583)
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2025-05-21 05:32:53 -07:00
Sushrut Shringarputale
c6d553b2a2
Fix Windows error for failing curl SSL cache (#6582)
* Fix Windows error for failing curl SSL cache

* Fix unused parameter warning in win_http_transport.cpp, as in #6579

* Update changelog, cspell, and conditional init m_sslShareHandle

---------

Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2025-05-20 21:59:01 -07:00
Sushrut Shringarputale
51125b0fdc
Add SSL caching share for curl (#6537)
* Add SSL caching share for curl

* Use correct destructor for CURLSH RAII

* Unit tests passing locally

* Add curloptions test for coverage and fix clangformat errors

* whitespace reverts

* Fix clang format errors

* Address PR comments

* Update changelog and CI line coverage target

* Update Changelog and set curl options test to disable ssl caching for validating non-default codepath

* Update sdk/core/azure-core/CHANGELOG.md

* Update CHANGELOG.md

* Update cspell.json

---------

Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
2025-05-12 14:36:19 -07:00
Anton Kolesnyk
395a2d13c5
Temporarily disable CheckFailedCrlValidation test to unblock CI (#6554)
* Temporarily disable CheckFailedCrlValidation test to unblock CI

* Update branch coverage

---------

Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2025-05-01 21:31:32 -07:00
Anton Kolesnyk
22a08bc969
Use TokenCredential *const* everywhere (#6453)
* Use TokenCredential *const* everywhere

* Use left const where the surrounding code also uses it

* Use left const everywhere

* Clang-format

* More clang-format

* typos

* Clang-format

---------

Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2025-03-12 11:57:11 -07:00
Larry Osterman
e04e96cf87
Merged Rust AMQP stack with main. (#6442)
* Initial attempt at a Rust AMQP stack, merged against feature/rust_amqp for now. (#5942)

* Enabled building AMQP *without* uAMQP

* Start integrating Rust AMQP Value to C++ AMQP Value

* AMQP Value tests now pass

* Moved AmqpValueType ostream inserter to its original location

* Added Rust AMQP Message implementation

* Added start of message source tests

* Enabled building AMQP *without* uAMQP

* Start integrating Rust AMQP Value to C++ AMQP Value

* Moved AmqpValueType ostream inserter to its original location

* Message target support

* Message source and target support

* Add connection support; restructured tests to fail on RUST AMQP rather than attempting to run; removed some uAMQP-only features  (#5986)

* Checkpoint of connection logic

* Started implementing Rust based Connection by pulling out uAMQP artifacts

* Implemented AMQP Connection in Rust; started API surface refactoring for Rust APIs; Refactored tests to remove some uAMQP only elements.

* Don't leak runtime context on calls

* Refactor AMQP logic to better isolate rust AMQP code from uAMQP code. (#6008)

* refactor uAMQP and Rust AMQP into separate implementations for ease of use

* Add connection support; restructured tests to fail on RUST AMQP rather than attempting to run; removed some uAMQP-only features  (#5986)

* Checkpoint of connection logic

* Started implementing Rust based Connection by pulling out uAMQP artifacts

* Implemented AMQP Connection in Rust; started API surface refactoring for Rust APIs; Refactored tests to remove some uAMQP only elements.

* Don't leak runtime context on calls

* export UUID from AMQP

* Cleaned up some more elements; reduced scope of doxygen significantly

* runtime context needs to be process global not thread global; all tests pass or fail at this point

* Merged main into branch

* Implement AMQP Session APIs in Rust. (#6033)

* Checkpoint of rust session support

* Session begin/end now works

* Session tests pass

* Removed accidental regression

* Added rust per-call context (#6043)

* Reworked runtime context to be call context

* Added context parameter to blocking AMQP calls

* Added comments around the lifetime of the RustRuntimeContext captured in the CallContext object

* uAMQP changes corresponding to Rust changes

Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>

* sync rust SDK fixes to C++

---------

Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>

* Enable Rust ClaimsBasedSecurity interoperability; Converted EventHubs producer client to work with Rust AMQP changes. (#6059)

* canonicalized return values; initial CBS support

* Implementation of CBS for C++

* Amqp Authentication works; Integrate Rust AMQP into Eventhubs Producer client

* Implemented Rust AMQP message sender. (#6083)

* Initial sender implementation

* PR feedback

* Management APIs work (#6096)


* Management APIs work

---------

Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>

* Converted builders to be compliant with Rust guidelines. (#6102)

* Converted builders to be compliant with Rust guidelines.

* Bring rust changes back to C++ repo

* Improved builder developer experience

* Removed builders from AMQP layer to conform to Rust guidelines; Fixed AMQP bug in message sender tests (#6208)

* Removed builders from AMQP layer to conform to Rust guidelines; Fixed AMQP related bug in message sender tests

* Pr feedback

* Implement receiving messages; Changes to eventhubs so that all eventhubs tests pass (#6254)


* Eventhubs tests pass

* Noise reduction; explain the task which spawns a task

* Update sdk/eventhubs/azure-messaging-eventhubs/src/producer_client.cpp

Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>

* PR feedback

---------

Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>

* Integrate Rust 2 step message receive code to C++ (#6349)

* Integrate Rust 2 step message receive code to C++

* If receiving a delivery failed, transmit the error to the message channel if at all possible

* Enable Rust based AMQP by default (#6362)

* AMQP tests now pass; Integrate TestAmqpBroker with CI pipeline

* Updated changelogs to reflect API changes made during AMQP updates

* Replace uAMQP with Rust AMQP as the default AMQP transport; Updated build configurationj to reflect that

* Test fixes

* PR feedback; test fixes

* Fixed uninitialized variable tanking some tests (#6381)

* Fixed uninitialized variable tanking some tests

* Fixed Rust AMQP tests

* Removed connection string support from Eventhubs and EH tests. (#6391)

* Removed the ability to use connection strings from EventHubs

* Enable Rust AMQP by default!!!

* Update CMakePresets.json

Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>

---------

Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
2025-03-11 22:30:13 +00:00
Larry Osterman
7fe547bd3c
Update the logging level for CRL validation failures (#6449) 2025-03-07 10:37:28 -08:00
Azure SDK Bot
03688bbe68
Increment package version after release of azure-core (#6452) 2025-03-06 21:49:56 +00:00
Anton Kolesnyk
b6e7a28c62
Azure Core March GA Release (#6450)
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2025-03-06 12:18:05 -08:00
Scott Addie
c7deb5a0a8
Remove impressions pixel from Markdown files (#6435) 2025-02-26 16:38:16 +00:00
gearama
00c45ee8ae
fix certs and missing include (#6425) 2025-02-18 13:02:34 -08:00
microzchang
b7bd086776
Storage STG97 Features (#6396)
* Storage STG97/NFS REST (#6245)

* Update rest layer and some structs

* Add file support.

* Add new apis

* Update test

* resolve clang error and cspell

* Update comments

* update comments

* Storage STG97/NFS REST Part2(Impl+test) (#6285)

* add test cases and some code change.

* update logic

* fix pipeline failure

* fix cspell

* update test record

* Fix pipeline failure

* Fix test case failure

* Storage/STG97 Remove Create/Get SymbolicLink API (#6304)

* Remove Create/Get SymbolicLink API

* update test record

* Fix archboard comments (#6324)
2025-02-07 06:47:09 +00:00
Rick Winter
9a32e64739
Fix CodeQL issue (#6382)
Add explanation to CodeQL suppression.

Change was pulled directly from nlohmann/json
nlohmann/json#4362
2025-01-29 13:04:48 -08:00
Azure SDK Bot
53a74b0299
Increment package version after release of azure-core (#6332) 2025-01-11 04:04:43 -08:00
Anton Kolesnyk
47007a6a9e
Azure Core January Beta Release (#6318)
* Azure Core January Beta Release

* Update release date to 2025-01-09

---------

Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2025-01-09 16:29:12 -08:00
Wes Haggard
c2bc4736fd
Update location of big test file (#6320) 2025-01-09 14:48:50 -08:00
Ronnie Geraghty
b391d65809
Docs links coversion: docs.microsoft.com -> learn.microsoft.com (#6276)
* Docs links coversion: docs.microsoft.com -> learn.microsoft.com
Some markdown formatting

* Adding "msrc" to cspell words

* Undoing things auto formatter did

* Appling Ahson's suggestions
2024-12-16 09:32:19 -08:00
Anton Kolesnyk
1af1bc5831
Make Uuid's default constructor implicit (#6243)
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2024-11-19 16:54:45 -08:00
Anton Kolesnyk
bef420162e
Fix typos (#6234)
* Fix typos

* Fix name collision

* Re-trigger CI

* Re-trigger CI

---------

Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2024-11-17 23:06:28 -08:00
Anton Kolesnyk
384552adff
Remove unused includes (#6209)
* Remove unused includes

* Fixes

* move statics instantiation into cpp

* clang-format

---------

Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2024-11-14 14:41:53 -08:00
Azure SDK Bot
7469049097
Increment package version after release of azure-core (#6218)
---------

Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2024-11-13 17:15:19 -08:00
Anton Kolesnyk
28c6d139ad
Azure Core November Beta Release (#6217)
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2024-11-13 15:43:06 -08:00
Anton Kolesnyk
b74d9c36be
Minor code cleanups (3) (#6179)
* Minor code cleanups (3)

---------

Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2024-11-11 15:36:58 -08:00
Larry Osterman
9770fb77dc
Implement mTLS support in WinHTTP transport. (#6131)
* Very preliminary mTLS implementation

* Tests for TLS client certificate

* Tested mTLS functionality

* Added changelog entry; updated PCCERT_CONTEXT using declaration to be more succinct.
2024-11-06 20:03:08 +00:00
Anton Kolesnyk
868a14f4d8
Minor code cleanups 2 (#6171)
* Minor code cleanups

* Clang-format

* Adjust line coverage target

---------

Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2024-11-05 10:12:13 -08:00
Anton Kolesnyk
daeff2ce9e
Minor code cleanups (#6169)
* Minor code cleanups

* Update claims_based_security_impl.hpp

Undo UniqueAmqpCbsHandle removal - it is right, but will create problems for Larry working in a feature branch when merging it back.

* Update claims_based_security_impl.hpp

---------

Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2024-11-04 19:58:06 +00:00
Azure SDK Bot
54872294f9
Increment package version after release of azure-core (#6168)
---------

Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2024-11-01 16:21:12 -07:00
Anton Kolesnyk
0180c8ee5c
HttpShared::GenerateUserAgent() (#6163)
* Rename UserAgentGenerator

* Update includes

* Clang-format

* Move GenerateUserAgent() to HttpShared class

* Update invocations

* Update invocations

* Clang-format

* Drop unnecessary include

* Update release dates

---------

Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2024-11-01 14:07:45 -07:00
Anton Kolesnyk
99e0895a5d
Move UserAgentGenerator to _internal (#6067)
* Move UserAgentGenerator to _internal

* Clang-format

* Update release date to November release (Core)

* Update release date to November release (EventHubs)

* _MSVC_LANG

* Move comment up

* Add /Zc:__cplusplus when building the SDK, and add unittest

---------

Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2024-10-31 10:00:12 -07:00
Ahson Khan
064fcad72f
Set token to be expired if response comes back as unauthorized, within BeareTokenAuthenticationPolicy. (#6151)
* Set token to be expired if response comes back as unauthorized.

* Add CL entry.

* Update CL.

* Use trc MinimumExpiration to invalidate the credential's token cache.

* Add test.

* Address PR feedback.

* Remove comment as it is no longer relevant.

* Use initializer list syntax to see if posix compilers are okay with that.

* Keep the bool field as non-atomic.

* Revert "Keep the bool field as non-atomic."

This reverts commit 1b8c7622d5234b010bb0a4eb5db8a436de5a2adf.
2024-10-30 14:00:42 -07:00
Anton Kolesnyk
bf550f2544
Acknowledge community contribution to Core (#6091)
* Acknowledge community contribution to Core

* Update CHANGELOG.md

---------

Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2024-10-11 21:06:40 +00:00
James Le Cuirot
a091f4c8e0
Set VERSION property against all libraries to write versioned SONAME (#6087)
The SONAME currently written to shared libraries is unversioned, e.g.
libazure-core.so. The SDK's ABI is unstable, so replacing these .so
files with newer versions will immediately break any consumers.

Setting the VERSION property results in libazure-core.so being a symlink
that is used at build time to point to the versioned library, e.g.
libazure-core.so.1.14.0. Consumers point directly to the versioned
library and continue to work against the older version when the library
is upgraded. Once rebuilt, they then point to the newer version instead.

It is more common to use an ABI version that is separate to the library
version, but it makes sense to use the latter when the ABI is unstable.
The Boost libraries do exactly this.

This change has no effect on static libraries, which is the more common
use case. See the CMake documentation for its wider effects.

https://cmake.org/cmake/help/latest/prop_tgt/VERSION.html
2024-10-11 11:42:13 -07:00
Ahson Khan
8f8d24280f
Fixed warning for an unused function in curl.cpp when building the SDK using a version of libcurl older than 7.77.0 (#6073) 2024-10-07 16:28:25 -07:00
Azure SDK Bot
4722e3df3c
Increment package version after release of azure-core (#6062)
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2024-10-03 19:50:04 -07:00
Anton Kolesnyk
9aa25a063d
UserAgentGenerator compatibility for previously published EventHubs (#6063)
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2024-10-03 19:48:47 -07:00
Anton Kolesnyk
1289063cc2
Azure Core October GA Release (#6053)
* Azure Core October GA Release

* Change to re-trigger CI

* Undo change, still re-trigger CI

* Update sdk/core/azure-core/CHANGELOG.md

Co-authored-by: Larry Osterman <LarryOsterman@users.noreply.github.com>

* Also update wording in the previous release

* Spelling

---------

Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
Co-authored-by: Larry Osterman <LarryOsterman@users.noreply.github.com>
2024-10-03 11:29:28 -07:00
Ahson Khan
5a6176706d
Add basic input validation to ResourceIdentifier for ensuring the prefix match what is expected. (#6056)
* Initial verification and tests.

* Simplify validation checks to what's needed.

* Update changelog entry.

* Fix typo and disable cspell for a test line.

* Address PR feedback.
2024-10-02 06:42:01 +00:00
Anton Kolesnyk
171386533a
Fix/unify links in CHANGELOG.md files (#6048)
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2024-09-30 12:35:55 -07:00
Anton Kolesnyk
488b65e6a2
Acknowledge community contributions in Changelog (#6047)
* Acknowledge community contributions in Changelog

* Update cspell.json

* Update sdk/core/azure-core/CHANGELOG.md

---------

Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
Co-authored-by: Ahson Khan <ahkha@microsoft.com>
2024-09-27 17:00:43 -07:00
Ahson Khan
aa728eed6d
Use code snippets from managed identity credential samples in identity readme doc and fix minor generation issues (#6020)
* Use code snippets from managed identity credential samples in identity readme doc.

* Generate readme from snippets.

* Update snippet generation script to remove unnecessary indentation and extra new line at eof.

* Update Snippet Generation doc to show a concrete example on how to run it.

* Update other repo READMEs with the generation fixes.

* Fix KeyVault Secrets sample and use the snippets in its README

* Use the added sample snippet.
2024-09-25 16:56:57 -07:00
Ahson Khan
23729124bd
Make the HTTP transport behavior consistent between WinHTTP and libcurl by disabling automatically following redirects on Windows. (#6018)
* Make the HTTP transport behavior consistent between WinHTTP and libCurl by disabling automatically following redirects on Windows.

* Re-enable APC test.

* Fix casing in changelog.

* Add http bin based unit test and fix typo in doc comment for curl.

* Update test name to avoid 'dont'

* Fix typo.
2024-09-24 13:14:08 -07:00
James Le Cuirot
7fea3ff677
Fix etag.hpp comment that breaks Doxygen 1.12.0 (#6014)
Unfortunately, "*" breaks Doxygen 1.12.0 with the following error:

    error: end of comment block while expecting command </em>

I have no idea why. Anything else like '*' or "x" works, but "*" was
clearly intended here. The best I can suggest is: * in quotes.
2024-09-20 08:51:25 -07:00
Azure SDK Bot
da2ea2113d
Increment version for core releases (#5980)
* Increment package version after release of azure-core-amqp

* Increment package version after release of azure-core

---------

Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2024-09-12 11:22:35 -07:00
Anton Kolesnyk
cfbe21ca82
Azure Core September Releases (#5975)
* Azure Core September Releases

* Update CHANGELOG.md

---------

Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2024-09-12 07:38:49 -07:00
Larry Osterman
b45276fc24
Update CHANGELOG.md for September release (#5976) 2024-09-11 15:40:39 -07:00