* 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>
* 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.
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
* 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>
* 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.
* 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.
* 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.
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.
* 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>
* Fix input validation check for TimeFractionFormat in the DateTime ToString() method.
* Add changelog entry.
* Use switch-case instead of static casting the enum values.
* Address CL PR feedback.
* Fix the features added CL to put ResourceIdentifier in the right release.
* Address PR feedback - use type traits
* Move the ResourceIdentifier type from Identity to Azure::Core.
* Fix the namespace in the source cpp file.
* Fix managed identity credential tests.
* Fix clang format.
* Optimize Uuid.ToString() to use a cached value on multiple calls.
* Add tests which call ToString() multiple times.
* Optimize Uuid::ToString by avoiding using sprintf.
* Assert all byte values will fit into a hex character.
* Update comment in test.
* Add support for providing an object ID to ManagedIdentityCredential.
* Update cspell checks.
* Add support for creating a Uuid from a string, and use that as the
MICred overload for objectId.
* Add a remark comment to make it clear that object and client ids are not interchangeable.
* Remove the non-const ToString() as that isn't required.
* Update tests to use valid hex Uuid values.
* Use a discriminated union design approach with a ManagedIdentityType
object and ManagedIdentityIdType enum.
* Fix typo and remove Uuid CreateFromString.
* Address PR feedback.
* Update doc comment.
* Update comments and exception message to consistently use hyphens
between user/system and assigned.
* Deprecated Azure::Core::ApplicationContext because its use is confusing and inconsistent with the original design.
---------
Co-authored-by: Rick Winter <rick.winter@microsoft.com>
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
Co-authored-by: Ahson Khan <ahkha@microsoft.com>
* Potentially improve code coverage numbers by excluding some options
* Removed dead lines; replicated switches to both gcovr executions
* added link to gcovr branch coverage faq
* Mention community contribution in the changelog
* cspell
* Remove double spaces
---------
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
* Revert "Update the RetryPolicy for the GA release, keeping ShouldRetry extension point hidden. (#5771)"
This reverts commit 9ccd206ff8.
* Revert "Update the RetryPolicy and ShouldRetry customization logic to allow loosening the retry condition. (#5656)"
This reverts commit f1d95520d1.
* Do not remove changelog entry from a previous beta release
* Revert "Add a virtual ShouldRetry method to the RetryPolicy for customization. (#5584)"
This reverts commit ab90ef68b0.
---------
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
* Update the RetryPolicy for the GA release, keeping ShouldRetry extension
point hidden.
* Mark test helper virtual functions private, so they aren't
accessible/callable by callers.
* Update the changelog.
* Update CL.
* test1
* hgdfchg
* remove the remnants of azure client secret
* test KV with federated auth
* UseFederatedAuth
* fdsa
* kv template with managed
* try try again
* retry permissions
* add net acls
* blunt force replace the resource json
* put back stuff
* trey again with new method
* attempt
* missed something
* flip if else
* Temporarily use empty sub config file path for preview cloud
* remove client secret
* try to fix the identity tests
* live skip failing tests and return in samples
* samples for identity fix
* disable failing samples in identity
* fix winhttp failing test
* comment out code
* remove managed identity
* restore version from main
* revert readme changes
* PR comments
* test 2
* clang
* attempt default creds with pipeline chanined
* clangs
* identity test and clangs
* oops
* live
* cleanup
* reter
* test
* revert the DAC change
* missed one
* taking the samples to a farm upstate
* PR comments
* Fix bad merge
---------
Co-authored-by: Daniel Jurek <djurek@microsoft.com>
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
* Move up macos and xcode version
* first pass
* to trigger builds, some other issue
* rewrwe
* Remove MSVC compiler warning suppressions in KeyVault
The code within the `mocked_transport_adapter_test.hpp` file, specifically within the `Azure::Security::KeyVault::Keys` namespace, has been updated. The `#if defined(_MSC_VER)` preprocessor directive along with its associated `#pragma warning(push)` and `#pragma warning(disable : 4996)` directives have been removed. The corresponding `#pragma warning(pop)` directive has also been removed. The lines of code that were between these preprocessor directives remain unchanged. These changes remove specific compiler warning suppressions for MSVC compilers, but do not alter the functional behavior of the code.
* dassa
* Add UseDotNet@2 where test proxy might run on a macos agent
* test CI
* fsd
* dasdas
* gregre
* gerregr
* ffdsfsd
* fwefew
* fewfwew
* reter
* fewfew
* fwefwe
* rewrw
* rwe
* temp move build step to exec faster
* gdfgd
* fsdfd
* fdsfs
* dgdf
* Roll forward instead of installing .NET 6
* remove manual install
* rewrew
* gfdffg
* rewrwe
* gfdgd
* fdsfs
* gfdgdf
* tertre
* dasda
* try http for test proxy
* revert readmes
* rew
* rew
* fdsfsd
* ewrew
* revert storages
* KV
* opentelemetry
* remove warnbing
* anton comments
* unit tests
* clangs
* clang
* comment out some asserts
* restore originals
* updated tests
* clangs
* restore cmake
* test
* Remove manual workaround (eng/common change fixes this)
* test2
* the fix doesn't work, need to put back
* Remove DOTNET_ROLL_FORWARD
* annotate macro , put back DOTNET_ROLL_FORWARD
* remove leftover files
* reww
* update changelog
* remove left over file
* remove some doxygen comments
---------
Co-authored-by: Daniel Jurek <djurek@microsoft.com>
* Remove 'include windows.h' from inc/*
* Clang format
* Qualify namespace
* Clean up includes a bit further
* Fix errors
* Clang format
* move out _detail definitions
---------
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
* Prepare for June AMQP release
* Update sdk/core/azure-core-amqp/CHANGELOG.md
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
---------
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
* Update the RetryPolicy and ShouldRetry customization logic to allow
loosen the retry condition.
* Add CL entry and update doc comment.
* Move WasLastAttempt check out, and add more tests.
* Address PR feedback, remove use of void and unused params.
* Disable AMQP LinkAttachDetachMultipleOneSession test until it has been investigated.
* Line Coverage is now at 87.8049%.
* Remove redundant calls to gtest_discover_tests with default args in AMQP
tests.
* Revert "Line Coverage is now at 87.8049%."
This reverts commit deb07e74cde7f3e915bbf0de1310d964d60d3154.
* Revert "Disable AMQP LinkAttachDetachMultipleOneSession test until it has been investigated."
This reverts commit 89c8096c906691826d35f6bd0f58d10bdffb6939.
* Harden the HTTP versions check in response parsing, validating specifically for 1.1 or 1.0, and throwing otherwise.
* Address feedback - comment was confusing.
* Update sdk/core/azure-core/src/http/curl/curl.cpp
Co-authored-by: Rick Winter <rick.winter@microsoft.com>
* Clarify the http version check and set keep-alive as false instead of throwing for non-http1.x.
* Address PR feedback - add comment snippet, and update log message.
---------
Co-authored-by: Rick Winter <rick.winter@microsoft.com>
* Switched blob checkpoint store to use both connection string and token credentials; re-recorded tests using token credentials
* Added environment variable to ci.yml
* Try a slightly different storage url
* Update core changelog with attribution for a curl endless loop bug fix.
* Update cspell for contributor github alias.
* Fix typo in json, add a comma.
* Add retries to DisableCrlValidation test to improve reliability
* Add some test logging to CurlConnection ctor.
* Fix log level
* Revert changes to curl.cpp
* Reduce attempts to 3 and validate at least one passes.
* Remove unnecessary commented out code to reset CI.
* Remove unnecessary assert that won't fail.
* Remove unused variable.
* Add a virtual ShouldTry method to the RetryPolicy for customization.
* Make test hooks virtual again.
* Add unit test for ShouldRetry.
* Fix typo.
* Address PR feedback.
* Revert making the mock'd functions private for non-test builds.
* Add new line.
* Core May GA Release
* Add azure-core-amqp to release
* Update date on the core changelog.
---------
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
Co-authored-by: Ahson Khan <ahkha@microsoft.com>
* Fixed test deadlock in processor test
* Updated changelog; Changed fatal to error in test logs
* Update sdk/core/azure-core-amqp/CHANGELOG.md
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
---------
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
* headers sanitize
* test-proxy client id
* Liveonly storage tests and a couple of disables
* typo
* cover
---------
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
* Update vcpkg portfile.cmake of sdk to add parameter HEAD_REF
* Update vcpkg portfile.cmake of sdk to use variable VERSION
* Update eng\scripts\Initialize-VcpkgRelease.ps1 regex for quoted REF
* Re-trigger CI
* Revert unnecessary change
---------
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
* Fixed libcurl connection pool to use `Connection` response header values
---------
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
* Remove the use of ifdef for TESTING_BUILD in KeyVault clients, where they are not needed.
* Rename the TESTING_BUILD macro to be _azure_TESTING_BUILD to highlight this is internal only and reduce chances of collision.
* Update remaining macro names and add comments.
* Revert rename change which was using BUILD_TESTING cmake flag in source.
* Revert "Move the connection back to the connection pool when HTTP error 404 was received (#5308)"
This reverts commit 79cc06d004.
* Changelog
---------
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
* Added blocking Open for message sender
* Blocking message sender open; added AZURE_NODISCARD to help ensure APIs that are likely to fail have their returns checked
* Update eventhubs stress test to use DefaultAzureCredential instead of ClientSecretCredential; Fixed stress test to correctly request client parameters; Removed hard coded resource name from producer client test
* Pull request feedback with link events; renamed AZURE_NODISCARD to _azure_NODISCARD
---------
Co-authored-by: Rick Winter <rick.winter@microsoft.com>
* All eng/ folder changes necessary to enable 1es-templates for the azure-sdk-for-cpp
* Includes updates to all ci.yml files to reflect new syntax requirements from 1es-template changes to archetype-sdk-client
* Revert "Remove the use of ifdef for TESTING_BUILD in KeyVault clients, where (#5406)"
This reverts commit 2d8c940f55.
* Revert "Rename the TESTING_BUILD macro to be _azure_TESTING_BUILD to highlight (#5390)"
This reverts commit 256c2df8b5.
* Revert "Use new macros in existing surface area, so that classes marked as final don't have virtual methods. (#5389)"
This reverts commit 3d7eaddb9d.
* Revert "For new surface area, classes marked as final should not have virtual methods. (#5331)"
This reverts commit ddd0f4bd07.
---------
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
* Use new macros in existing surface area, so that classes marked as final don't have virtual methods.
* Update doc comments.
* Use DOXYGEN_PREDEFINED to expand only the macros we want expanded.
* Add the compile definition for more projects.
* Address PR feedback.
* Make TestableTokenCache a friend class of TokenCache.
* Fix use of namespace qualifiers that have not been explicitly introduced.
* Format (sort usings alphabetically)
* Update CHANGELOG.md
* Update cspell.json
---------
Co-authored-by: Morten Ofstad <morten.ofstad@bluware.com>
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
* Updated tests to support -UserAuth test resources switch to enable non-corpnet access.
* Try setting sample environment variables in sample script pipeline
* AMQP: do not use scope.MinimumExpiration when getting SAS Token
* Remove unused parameters
* Match style
---------
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
# Significant rewrite of Eventhubs stress test.
## Cleaned up implementation of EventHubs stress/reliability test
* Reworked stress test layout to isolate stress test implementation from stress deployment elements.
* Added ability of stress test scenarios to be independently configured.
* Rewrote stress test app to be closer to the Go equivalent app.
* added apparg.hpp for command line parsing
* added scope_guard to test for scope_guard implementation.
## Added close methods to Consumer client and Producer client.
They don't do much currently, but will eventually.
## AI Generated summary of pull request
This pull request primarily focuses on the `azure-core-amqp` and `azure-messaging-eventhubs` packages, introducing changes to improve code efficiency and maintainability. The most significant changes include the removal of unnecessary `#include` directives in various files in the `azure-core-amqp` package, the addition of `Close` methods in `consumer_client.hpp` and `producer_client.hpp` in the `azure-messaging-eventhubs` package, and modifications to the `cgmanifest.json` files in the `azure-messaging-eventhubs-checkpointstore-blob` and `azure-messaging-eventhubs` directories.
Removal of unnecessary `#include` directives:
* [`sdk/core/azure-core-amqp/src/amqp/claim_based_security.cpp`](diffhunk://#diff-5acd7049cef5955540cc4253f264207e5a7d2701612e148c736ca5781e69d224L12-L14): Removed unnecessary `#include` directives for `iostream` and `sstream`.
* [`sdk/core/azure-core-amqp/src/amqp/connection.cpp`](diffhunk://#diff-fc3a6e5b11f1254c4fd344bcd1846c83ad4ca8e2a8a23b7db0657c2846f43937L18): Removed unnecessary `#include` directive for `azure/core/url.hpp`.
* [`sdk/core/azure-core-amqp/src/amqp/connection_string_credential.cpp`](diffhunk://#diff-14cf130dc5f0b51f698cca57724b733591d48fad0e5beb4745fc1cd78cbdaa72L7-L20): Removed unnecessary `#include` directives for `azure/core/amqp/internal/models/amqp_protocol.hpp`, `azure_c_shared_utility/azure_base64.h`, `azure_c_shared_utility/buffer_.h`, and `iostream`.
* [`sdk/core/azure-core-amqp/src/amqp/link.cpp`](diffhunk://#diff-249643f29ca2c0b1226e9d22ce90be83c77105f55221a1092fb605a5c7ead356L10-L21): Removed unnecessary `#include` directives for `azure/core/amqp/internal/message_receiver.hpp`, `azure/core/amqp/internal/message_sender.hpp`, `azure/core/amqp/internal/models/messaging_values.hpp`, and `azure_uamqp_c/amqp_definitions_sequence_no.h`.
* [`sdk/core/azure-core-amqp/src/amqp/management.cpp`](diffhunk://#diff-b03544340ff264961e045648c2c274dde9fa7ceb33b07b0c41a708128e28d40fL6-L16): Removed unnecessary `#include` directives for `azure/core/amqp/internal/connection.hpp`, `azure/core/amqp/internal/session.hpp`, and `azure_uamqp_c/amqp_management.h`.
Addition of `Close` methods:
* [`sdk/eventhubs/azure-messaging-eventhubs/inc/azure/messaging/eventhubs/consumer_client.hpp`](diffhunk://#diff-fad00d7bec0f12ef5e7d36387e866ab5291c6f5f57568845dfabe3f23320c899R152-R159): Added a `Close` method to the `ConsumerClient` class.
* [`sdk/eventhubs/azure-messaging-eventhubs/inc/azure/messaging/eventhubs/producer_client.hpp`](diffhunk://#diff-cba1fbd1d786b763c27123a2284476e1cc8093753abe6e3a6af9ca78aae4d594R96-R113): Added a `Close` method to the `ProducerClient` class.
Modification of `cgmanifest.json` files:
* [`sdk/eventhubs/azure-messaging-eventhubs-checkpointstore-blob/cgmanifest.json`](diffhunk://#diff-465b096c14ed240a8f14180f16e0924e3df69bd1c95934dca435c0b3c97468a0R1-R37): Added a new `cgmanifest.json` file specifying development dependencies.
* [`sdk/eventhubs/azure-messaging-eventhubs/cgmanifest.json`](diffhunk://#diff-f3e86a1f7be148625ac80b2151504461f3faff4d0564db588c6df9d0d9eb0986R1-R48): Added a new `cgmanifest.json` file specifying development dependencies.
*
---------
Co-authored-by: Rick Winter <rick.winter@microsoft.com>