Commit Graph

587 Commits

Author SHA1 Message Date
Ahson Khan
5dba78eaa3
Fix-up the changelog entry link for the curtransportoption bug fix (#3598) 2022-04-29 14:23:56 -07:00
Ahson Khan
218784d82a
Create a session handle once in the transport ctor and reuse it for all requests rather than creating a new one each time. (#3585)
* Reuse the same session handle for all requests rather than creating a new one each time.

* Move the session handle creation to the transport adapter ctor.

* Update changelog entry.

* Address PR feedback.

* Change CreateSessionHandle to return a local session handle
2022-04-28 14:19:55 -07:00
Daniel Jurek
140e05baa7
Migrate to matrix generator (#3553)
* Represent existing matrix in json
* Use new matrix
* Move to stage
* Cloud configuration
* MaxParallel
* DependsOn
* Quote CtestRegex
* Use template for cmake generate tests
* Template name mappings
* Formatting, parameters
* Remove duplicate bypass-local-dns.yml
* Enable Location override
* Add Location
* Add spelling words
* Use Ubuntu 20 where the name specifies Ubuntu 20
* Apply suggestions from code review

Co-authored-by: Ben Broderick Phillips <ben@benbp.net>

* PR feedback
* fix storage sample
* Matrix documentation

Co-authored-by: Ben Broderick Phillips <ben@benbp.net>
Co-authored-by: Victor Vazquez <vhvb1989@gmail.com>
2022-04-26 14:34:23 +00:00
JinmingHu
87b230a51d
Add batch protocol layer (#3580)
* Add batch protocol layer
2022-04-26 08:58:20 +08:00
Victor Vazquez
d799012230
update log level from Retry policy (#3586)
* update log level

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

Co-authored-by: Ahson Khan <ahkha@microsoft.com>

Co-authored-by: Ahson Khan <ahkha@microsoft.com>
2022-04-25 22:53:58 +00:00
Victor Vazquez
bdb71249ce
update curl transport options to support ignore proxy from system (#3564)
* update curl transport options to support ignore proxy from system

* update changelog

* bug fix for cl
2022-04-25 16:50:17 +00:00
Rick Winter
075b8d0046
Fix typo (#3583) 2022-04-22 18:57:20 -07:00
JinmingHu
557e033941
Fix a typo extendable enumeration (#3535)
* Fix a typo extendable enumeration

* more
2022-04-09 04:25:25 +00:00
Azure SDK Bot
8d47e6d490
Increment package version after release of azure-core (#3496) 2022-04-06 11:32:14 -07:00
Daniel Jurek
ca8b843954
Revert "Vcpkg Beta Automation (#3430)" (#3495)
This reverts commit 60f0dfdcea.
2022-03-31 13:14:19 -07:00
Daniel Jurek
60f0dfdcea
Vcpkg Beta Automation (#3430)
* Script that automates updating vcpkg betas

* Wire up to pipeline

* Spelling, commentary

* Clone into repo name

* Remove-Item requires the path to exist, even if -Force is specified

* Bootstrap vcpkg

* Arguments to Test-ShouldReleaseToVcpkg.ps1

* More commit

* Escape quotes

* Quote git commit

* Set strict mode

* Use tags

* Actually tag

* Run git commands

* Invoke-Expression

* Onboard releasing package to vcpkg before attempting to isntall from overaly

* temporarily disable matrix generation (30s tasks sometimes runs for 20+ minutes)

* Test-ShouldReleaseToVcpkg.ps1

* Test-Path

* Test vcpkg build, also ensure we push

* Just the tags... low probability of success given that '--' if frequently treated as a separator

* Add ability to skip link verification for tighter inner loop

* Push tag separately

* Unnecessary condition and conjunction

* Base repo owner: Azure

* Specify remote name

* Tighten inner loop

* git remote -v

* workingDirectory

* Go back to two tags and a regular push

* Saving some progress

* Use original push method

* BaseRepoOwner

* Cleanup, put changes in the default branch (vcpkg does not look at refs outside of the default branch)

* Use default branch
2022-03-31 12:52:14 -07:00
Victor Vazquez
fa5dc0a770
azure-core, changelog for Apr2022 release (#3491)
* changelog for Apr2022 release

* revert
2022-03-31 12:19:43 -07:00
Victor Vazquez
4ab3901bbb
Rename winhttp transport option (#3488)
* rename option
2022-03-31 12:19:25 -07:00
Victor Vazquez
5b9fcd98df
Update README.md (#3476) 2022-03-24 23:10:00 +00:00
Victor Vazquez
835f156af9
Vcpkg manifest and binary caching (#3329)
* binary cache and manifest

* update packages

* udpate

* add cache to private pipeline

* next try

* aver

* other

* again

* aver quick

* more

* this way

* again

* one more

* print

* test

* use depend

* more deps

* dep

* Apply suggestions from code review

Co-authored-by: Daniel Jurek <djurek@microsoft.com>

* updated to use group variable

* update identity

* end line

* Update vcpkg.json

* Apply suggestions from code review

* cspell

* remove comment

* updates

* make cache mode depend on SAS env var

* map env var only for internal pipelines

* other approach

* what about this

* and this

* try

* amd

* another

* extra step

* typo

* override for internal

* use default succeded

* azure core update manifest

* a

* run cmake-generate nightly as well

* check for SAS

* check cache

* no secret

* fix is secret

* pass explicit

* use secret all the time

* char

* One more

* export

* echos

* last

* array

* remove question

* ok

* weird

* use account key

* substring

* VCPKG_BINARY_SOURCES

* Add module installation

* task:

* Correct pathing for module

* update source gen

* format

* update spelling

* IsWindoows

* Use pwsh

* Cannot clobber with PSModule-Helpers. Attempt plain install

* Attempt plain install

* Revert unnecessary change to Update-DocsMsToc.ps1

* template ready

* curl is required on Windows as well for some CI gates

* attestation

* fix format

Co-authored-by: Daniel Jurek <djurek@microsoft.com>
2022-03-24 09:11:30 -07:00
Larry Osterman
af7281ef1a
Updated and add samples for Attestation service. (#3448)
* Moved samples around to meet new recommendations; added a couple of additional tests.
* Reworked attestation to include RetrieveAttestationValidationCollateral
* Attestation sample readme updates
* TPM doesn't need to retrieve response validation collateral
* Added cautionary warning about the dangers of overriding the TearDown method from inside a test case
* Added attestation team members to codeowners for attestation SDK
* Remove CODEOWNERS from cspell checks
* Don't hold a lock across retrieving the signers over the network
* Updated snippets in readme; clang-format
2022-03-22 14:29:03 -07:00
Victor Vazquez
d7536a2c25
Enforce TLS 1.2 for libcurl and winHttp (#3460)
* Enforce TLS 1.2 for libcurl and winHttp

* docs

* missing rename
2022-03-22 21:27:28 +00:00
Victor Vazquez
774077630a
only set when option insecure is enabled (#3463) 2022-03-22 19:49:48 +00:00
Victor Vazquez
af590d80f3
[PERF FW] Insecure cert libcurl (#3434)
* Support insecure for libcurl

* format

* warnings and notes about insecure

* winhttp notice and warning

* revert

* add comment

* Update arg

* enable winHTTP insecure

* rename method

* rename method

* update raw pointer to ref

* cl

* docs

* docs
2022-03-21 16:18:13 -07:00
Victor Vazquez
0564cc479e
Improve the Transport exception from Libcurl adapter (#3456)
* improve the Transport exception

* update comment and name
2022-03-21 22:23:33 +00:00
George Arama
13175a4f41
Openssl1.1.1 (#3457)
* open ssl 1.1.1n

* manifests and vcpkg for attestation

* opensll - > git

* oops git

* set 1.1.1n as min version
2022-03-21 13:59:20 -07:00
George Arama
282ed53068
open ssl 1.1.1n (#3447)
* open ssl 1.1.1n

* manifests and vcpkg for attestation

* opensll - > git

* oops git
2022-03-21 11:17:21 -07:00
Larry Osterman
abb6ac0c9a
Add Policy Management Certificates APIs (#3417)
* Added GetPolicyManagementCertificates

* Added Add and Remove policy certificate

* Added support for Tpm attestation

* Moved TPM to attestation service specific section

* Added support for validation callback

* Updated RequestFailedException documentation
2022-03-16 15:12:33 -07:00
Victor Vazquez
64e3130e2c
Adding Test-Proxy support to [Perf Fw] tests (#3257)
* cp

* cp

* cp

* Enable test proxy for perf tests

* unwanted

* format

* fix docs

* cspell

* parallel support and multi proxy

* update arg name

* more logs

* fix request redirection

* Apply suggestions from code review

Co-authored-by: Ahson Khan <ahkha@microsoft.com>

* run once before record, then after recording on

Co-authored-by: Ahson Khan <ahkha@microsoft.com>
2022-03-11 17:13:15 -08:00
Larry Osterman
f4e99416c9
RequestFailedException includes error information #3398 (#3397)
* RequestFailedException includes error information

* Fixed test collateral

* Added changelog entry for new core version; Added tests to verify response message contains all expected fields
2022-03-11 21:15:10 +00:00
Larry Osterman
8672f985aa
Create Extendable Enumeration base class (#3421)
* Created extendableenumeration class

* Convert attestation to use extendable enumeration; added test for extendable enumerations

Co-authored-by: Casey Carter <cartec69@gmail.com>
2022-03-11 02:37:31 +00:00
Azure SDK Bot
60714c4641
Increment package version after release of azure-core (#3391) 2022-03-09 22:11:00 +00:00
Victor Vazquez
172808eb1c
Azure Core change log for March release (#3390)
* version update

* add something

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

Co-authored-by: Ahson Khan <ahkha@microsoft.com>

Co-authored-by: Ahson Khan <ahkha@microsoft.com>
2022-03-04 00:52:48 +00:00
Larry Osterman
ddc9eb355f
Fixed Live Tests for Attestation SDK. (#3366)
* Set WinHTTP_OPTION_CLIENT_CERT_CONTEXT to enable connections to attestation service

* Set serviceDirectory from environment variables

Co-authored-by: Victor Vazquez <victor.vazquez@microsoft.com>
2022-02-24 22:48:15 +00:00
Victor Vazquez
9f58947056
use ref instead of pointer (#3364) 2022-02-18 17:15:07 -08:00
Victor Vazquez
74576d640f
Increment gTest version to get rid of warning during cmake-configure (#3351)
* increase version

* update manifest

* fix test
2022-02-17 13:41:04 -08:00
Larry Osterman
d2fd862ce1
Create Attestation SDK (#3228)
* Created Attestation


Co-authored-by: Victor Vazquez <victor.vazquez@microsoft.com>
Co-authored-by: Daniel Jurek <djurek@microsoft.com>
2022-02-16 09:15:18 -08:00
Larry Osterman
3642552d0b
Improve the quality of the WinHTTP transport error message. (#3330)
* Improved HTTP transport error message with Win32 error

* Use std::unique_ptr to manage lifetime of error message
2022-02-08 20:32:35 +00:00
Azure SDK Bot
8774c4ced6
Increment package version after release of azure-core (#3323) 2022-02-08 11:56:57 -08:00
Larry Osterman
60c075a64e
Base64::Decode throws std::runtime_error on failure. (#3305)
* Throw an exception when base64 decode has bogus inputs

Co-authored-by: Ahson Khan <ahkha@microsoft.com>
2022-02-08 09:34:00 -08:00
Anton Kolesnyk
53e90d81fb
Undo assert internal macro and headers (#3318) 2022-02-07 12:25:22 -08:00
Victor Vazquez
7bd640ae55
Azure Core Feb2022 release changelog (#3307)
* Azure Core Feb2022 release changelog

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

Co-authored-by: Ahson Khan <ahson_ahmedk@yahoo.com>

Co-authored-by: Ahson Khan <ahson_ahmedk@yahoo.com>
2022-02-04 15:23:28 -08:00
Ahson Khan
031696179b
Delegate to RFE string ctor and move impl from header to src. (#3315)
* Removing the two param RFE ctor, there should be no callers

* Remove the two param RFE ctor from the source file.

* Fix-up unit test and add a changelog entry.

* Remove test that uses the removed ctor.

* Delegate to RFE string ctor and move impl from header to src.
2022-02-04 15:09:39 -08:00
Ahson Khan
9c79a0725d
Removing the two param RFE ctor, there should be no callers (#3215)
* Removing the two param RFE ctor, there should be no callers

* Remove the two param RFE ctor from the source file.

* Fix-up unit test and add a changelog entry.

* Remove test that uses the removed ctor.
2022-02-03 19:00:25 -08:00
Ahson Khan
40a3e34068
Add back azure_assert.hpp to core CMakeLists (#3311) 2022-02-03 17:49:54 -08:00
Anton Kolesnyk
c4e95dfcfc
Fix unit test compilation on UWP (#3298)
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2022-01-31 18:43:37 -08:00
Anton Kolesnyk
2aae6be7a3
Encapsulate getenv(), and make it work on UWP (#3275)
It all started with UWP. The [docs](https://docs.microsoft.com/en-us/cpp/cppcx/crt-functions-not-supported-in-universal-windows-platform-apps?view=msvc-170) say: "`Environment variables are not available to UWP apps.`". And it truly won't work, I tried: linker error, the function is simply not present.

So, for a year or so, we were `ifdef`ing everything enivoronment-related: console logger, environment credential, managed identity credential.

And then just recently we wanted to enable our CI for UWP, including tests and samples. And it required to do more ifdefs (in vcpkg, we don't build samples or tests, so that problem did not exist).

It just became more messy. Especially in samples - you can see how we would disable warning with `#pragma warning(disable : 4996)` or defining `_CRT_SECURE_NO_WARNINGS` already, but now came UWP, so we would have to add comment that `getenv()` is not available and make the sample compilation to either fail with clear message, or throw an exception. Plus we would have to detect that we are being compiled on UWP, which also adds visual clutter for reader. You can see how such an irrelevant (for a sample) thing as `getenv` was consuming more and more lines of sample code and reader's attention.

But then! I read docs on more APIs for UWP. And I noticed that on .NET you can read environment variables. So I went and checked Win32 API docs for [GetEnvironmentVariable()](https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-getenvironmentvariable) - it says: "`Minimum supported client: ... UWP apps`".

**GetEnvironmentVariable() works on UWP!**
And so does `SetEnvironmentVariable()` (our tests use it, which means we can make all of them work and execute for UWP).

That's good news, but now it would probably be more code: it usually takes more lines to invoke WinAPI, it is no more an one-liner to call `getenv()/setenv()`. So, I encapsulated that into `Azure::Core::_internal::Environment::GetVariable()` and `SetVariable()`. You can see how much less ifdefs is in our code now. Not to mention it works on UWP!

Per team request, that API is SDK-internal. Samples use their own mini-helper project, `get-env-helper` that makes is so that `getenv()` works naturally on Linux and macOS, compiles without warnings and works on Win32, and compiles and works on UWP (using `GetEnvironmentStringsA()`)

If it was for me, I would just make `Azure::Core::Environment::GetVariable()` public and simplify even further, I think it would be beneficial for sample readers (you can see that extra `get-env-helper` stuff adds just a little more visual clutter, compared to nothing). But I can see reasons against that, why team did not want to do it.
2022-01-29 08:22:33 +00:00
Victor Vazquez
335fb0ab43
ci fix (#3259) 2022-01-20 09:24:58 -08:00
Ahson Khan
b3ac959049
Fix up the Azure Core changelog for breaking change and new line (#3255) 2022-01-20 07:13:11 -08:00
Victor Vazquez
20bb1ec276
Recordings for storage (#3194)
* Recordings for storage (#4)
2022-01-18 14:50:15 -08:00
Victor Vazquez
30c5d77d88
Remove Logging from the LibcurlConnectionPool - cleaning routine (#3219)
Remove Logging from the LibcurlConnectionPool - cleaning routine (#3219)
2022-01-13 20:04:18 +00:00
Victor Vazquez
dc5b45e759
Test Cmake generate configs (#3230)
Adding extra stage for individual packages generation
2022-01-11 15:49:56 -08:00
George Arama
4239100f3b
Updates to readme files (#3220)
* links updates

* PR comments

* readme updates

* oops

* update source section
2022-01-11 13:11:44 -08:00
Anton Kolesnyk
4f8f96eb88
Macro rename compatibility layer (#3186)
* Macro rename compatibility layer

* pragma once + doxy comment

* Update sdk/core/azure-core/inc/azure/core/azure_assert.hpp

Co-authored-by: Ahson Khan <ahkha@microsoft.com>

* clang format

Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
Co-authored-by: Ahson Khan <ahkha@microsoft.com>
2022-01-06 13:08:09 -08:00
Daniel Jurek
fa0fa97155
Generate map files (#3181)
* Generate map files in build

* Add .map file artifact publishing

* Add Xlinker to spelling exceptions

* Remove PublishMapFiles from clang builds

* Generate the map file artifact name

* CXX_COMPILER_ID and some logging for Clang which might be linking using the GNU linker by default

* More logging

* Move logging out of conditional

* Logging up high, use OS to determine which link flags to set

* Use linker options specific to AppleClang's context, publish map files for all platforms
2022-01-03 13:56:41 -08:00