Skip to content
This repository was archived by the owner on Apr 8, 2025. It is now read-only.

Commit 450b319

Browse files
committed
Merge pull request #43 from hanzhumsft/master
Azure Storage Client Library for C++ v2.2.0 master branch
2 parents dbc4cd1 + dbce933 commit 450b319

34 files changed

+3697
-65
lines changed

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,4 +182,3 @@ $RECYCLE.BIN/
182182

183183
# build folders under Linux
184184
Microsoft.WindowsAzure.Storage/build.*/
185-

BreakingChanges.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
Azure Storage Client Library for C++
22
History of Breaking Changes
33

4+
Breaking Changes in v2.2:
5+
- Upgraded Casablanca dependency to 2.7.0
6+
- Added Microsoft Visual C++ compiler version to user agent string if MSVC is used to compile.
7+
48
Breaking Changes in v2.1:
59
- Upgraded Casablanca dependency to 2.6.0
610
- Added support for Visual Studio 2015, dropped support for Visual Studio 2012

Changelog.txt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,15 @@
11
Azure Storage Client Library for C++
22
History of Changes
33

4+
Changes in v2.2:
5+
- Default REST API version is 2015-04-05
6+
- Supported account SAS
7+
- Supported IP ACL and HTTP protocol in account/service SAS
8+
- Introduced add permission for blob SAS
9+
- Upgraded Casablanca dependency to 2.7.0
10+
- Added Microsoft Visual C++ compiler version to user agent string if MSVC is used to compile.
11+
- Fixed a bug that cloud_block_blob::upload_block_list_async method doesn't respect use_transactional_md5 field
12+
413
Changes in v2.1:
514
- Upgraded Casablanca dependency to 2.6.0
615
- Added support for Visual Studio 2015, dropped support for Visual Studio 2012

Doxyfile

Lines changed: 2438 additions & 0 deletions
Large diffs are not rendered by default.

Microsoft.WindowsAzure.Storage/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ set(AZURESTORAGE_LIBRARIES ${AZURESTORAGE_LIBRARY} ${CASABLANCA_LIBRARIES} ${Boo
6262

6363
# Set version numbers centralized
6464
set (AZURESTORAGE_VERSION_MAJOR 2)
65-
set (AZURESTORAGE_VERSION_MINOR 1)
65+
set (AZURESTORAGE_VERSION_MINOR 2)
6666
set (AZURESTORAGE_VERSION_REVISION 0)
6767

6868
# Add sources per configuration

Microsoft.WindowsAzure.Storage/Microsoft.WindowsAzure.Storage.v120.vcxproj

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@
6666
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
6767
</ImportGroup>
6868
<PropertyGroup Label="UserMacros">
69-
<NuGetPackageImportStamp>f694cfc0</NuGetPackageImportStamp>
69+
<NuGetPackageImportStamp>2c03e23f</NuGetPackageImportStamp>
7070
</PropertyGroup>
7171
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
7272
<LinkIncremental>true</LinkIncremental>
@@ -107,7 +107,7 @@
107107
<Link>
108108
<SubSystem>Windows</SubSystem>
109109
<GenerateDebugInformation>true</GenerateDebugInformation>
110-
<AdditionalDependencies>rpcrt4.lib;xmllite.lib;bcrypt.lib;%(AdditionalDependencies)</AdditionalDependencies>
110+
<AdditionalDependencies>Ws2_32.lib;rpcrt4.lib;xmllite.lib;bcrypt.lib;%(AdditionalDependencies)</AdditionalDependencies>
111111
</Link>
112112
</ItemDefinitionGroup>
113113
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
@@ -117,7 +117,6 @@
117117
<PreprocessorDefinitions>WASTORAGE_DLL;WIN32;_DEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
118118
</ClCompile>
119119
<Link>
120-
<Profile>true</Profile>
121120
</Link>
122121
</ItemDefinitionGroup>
123122
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
@@ -127,7 +126,6 @@
127126
<PreprocessorDefinitions>WASTORAGE_DLL;WIN32;_DEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
128127
</ClCompile>
129128
<Link>
130-
<Profile>true</Profile>
131129
</Link>
132130
</ItemDefinitionGroup>
133131
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
@@ -248,12 +246,12 @@
248246
</ItemGroup>
249247
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
250248
<ImportGroup Label="ExtensionTargets">
251-
<Import Project="..\packages\cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn.2.6.0\build\native\cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn.targets" Condition="Exists('..\packages\cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn.2.6.0\build\native\cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn.targets')" />
249+
<Import Project="..\packages\cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn.2.7.0\build\native\cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn.targets" Condition="Exists('..\packages\cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn.2.7.0\build\native\cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn.targets')" />
252250
</ImportGroup>
253251
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
254252
<PropertyGroup>
255253
<ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
256254
</PropertyGroup>
257-
<Error Condition="!Exists('..\packages\cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn.2.6.0\build\native\cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn.2.6.0\build\native\cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn.targets'))" />
255+
<Error Condition="!Exists('..\packages\cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn.2.7.0\build\native\cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn.2.7.0\build\native\cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn.targets'))" />
258256
</Target>
259257
</Project>

Microsoft.WindowsAzure.Storage/Microsoft.WindowsAzure.Storage.v140.vcxproj

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,7 @@
6565
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
6666
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
6767
</ImportGroup>
68-
<PropertyGroup Label="UserMacros">
69-
<NuGetPackageImportStamp>f694cfc0</NuGetPackageImportStamp>
70-
</PropertyGroup>
68+
<PropertyGroup Label="UserMacros" />
7169
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
7270
<LinkIncremental>true</LinkIncremental>
7371
<TargetName>wastorage</TargetName>
@@ -107,7 +105,7 @@
107105
<Link>
108106
<SubSystem>Windows</SubSystem>
109107
<GenerateDebugInformation>true</GenerateDebugInformation>
110-
<AdditionalDependencies>rpcrt4.lib;xmllite.lib;bcrypt.lib;%(AdditionalDependencies)</AdditionalDependencies>
108+
<AdditionalDependencies>Ws2_32.lib;rpcrt4.lib;xmllite.lib;bcrypt.lib;%(AdditionalDependencies)</AdditionalDependencies>
111109
</Link>
112110
</ItemDefinitionGroup>
113111
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
@@ -117,7 +115,6 @@
117115
<PreprocessorDefinitions>WASTORAGE_DLL;WIN32;_DEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
118116
</ClCompile>
119117
<Link>
120-
<Profile>true</Profile>
121118
</Link>
122119
</ItemDefinitionGroup>
123120
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
@@ -127,7 +124,6 @@
127124
<PreprocessorDefinitions>WASTORAGE_DLL;WIN32;_DEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
128125
</ClCompile>
129126
<Link>
130-
<Profile>true</Profile>
131127
</Link>
132128
</ItemDefinitionGroup>
133129
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
@@ -248,12 +244,12 @@
248244
</ItemGroup>
249245
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
250246
<ImportGroup Label="ExtensionTargets">
251-
<Import Project="..\packages\cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn.2.6.0\build\native\cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn.targets" Condition="Exists('..\packages\cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn.2.6.0\build\native\cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn.targets')" />
247+
<Import Project="..\packages\cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn.2.7.0\build\native\cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn.targets" Condition="Exists('..\packages\cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn.2.7.0\build\native\cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn.targets')" />
252248
</ImportGroup>
253249
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
254250
<PropertyGroup>
255251
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
256252
</PropertyGroup>
257-
<Error Condition="!Exists('..\packages\cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn.2.6.0\build\native\cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn.2.6.0\build\native\cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn.targets'))" />
253+
<Error Condition="!Exists('..\packages\cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn.2.7.0\build\native\cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn.2.7.0\build\native\cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn.targets'))" />
258254
</Target>
259255
</Project>

Microsoft.WindowsAzure.Storage/includes/was/auth.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
namespace azure { namespace storage {
2525

2626
class cloud_blob_shared_access_headers;
27+
class account_shared_access_policy;
2728

2829
}} // namespace azure::storage
2930

@@ -432,6 +433,7 @@ namespace azure { namespace storage { namespace protocol {
432433

433434
#pragma region Shared Access Signatures
434435

436+
utility::string_t get_account_sas_token(const utility::string_t& identifier, const account_shared_access_policy& policy, const storage_credentials& credentials);
435437
utility::string_t get_blob_sas_token(const utility::string_t& identifier, const shared_access_policy& policy, const cloud_blob_shared_access_headers& headers, const utility::string_t& resource_type, const utility::string_t& resource, const storage_credentials& credentials);
436438
utility::string_t get_queue_sas_token(const utility::string_t& identifier, const shared_access_policy& policy, const utility::string_t& resource, const storage_credentials& credentials);
437439
utility::string_t get_table_sas_token(const utility::string_t& identifier, const shared_access_policy& policy, const utility::string_t& table_name, const utility::string_t& start_partition_key, const utility::string_t& start_row_key, const utility::string_t& end_partition_key, const utility::string_t& end_row_key, const utility::string_t& resource, const storage_credentials& credentials);

Microsoft.WindowsAzure.Storage/includes/was/blob.h

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,16 @@ namespace azure { namespace storage {
127127
/// Permission granted to list the blobs in a container.
128128
/// </summary>
129129
list = 8,
130+
131+
/// <summary>
132+
/// Permission to add a block to an append blob granted.
133+
/// </summary>
134+
add = 0x10,
135+
136+
/// <summary>
137+
/// Permission to write a new blob, snapshot a blob, or copy a blob to a new blob granted.
138+
/// </summary>
139+
create = 0x80
130140
};
131141

132142
/// <summary>

0 commit comments

Comments
 (0)