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

Commit 0b77e7a

Browse files
committed
Fix bug: snapshot SAS shouldn't contain snapshot time query parameter
1 parent 5abda06 commit 0b77e7a

File tree

2 files changed

+10
-8
lines changed

2 files changed

+10
-8
lines changed

Microsoft.WindowsAzure.Storage/src/shared_access_signature.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,6 @@ namespace azure { namespace storage { namespace protocol {
178178
auto builder = get_sas_token_builder(identifier, policy, signature);
179179

180180
add_query_if_not_empty(builder, uri_query_sas_resource, resource_type, /* do_encoding */ true);
181-
add_query_if_not_empty(builder, uri_query_snapshot, snapshot_time, /* do_encoding */ true);
182181
add_query_if_not_empty(builder, uri_query_sas_cache_control, headers.cache_control(), /* do_encoding */ true);
183182
add_query_if_not_empty(builder, uri_query_sas_content_type, headers.content_type(), /* do_encoding */ true);
184183
add_query_if_not_empty(builder, uri_query_sas_content_encoding, headers.content_encoding(), /* do_encoding */ true);

Microsoft.WindowsAzure.Storage/tests/cloud_blob_test.cpp

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ void blob_test_base::check_access(const utility::string_t& sas_token, uint8_t pe
132132
}
133133

134134
azure::storage::cloud_blob_container container(m_container.uri(), credentials);
135-
azure::storage::cloud_blob blob = container.get_blob_reference(original_blob.name());
135+
azure::storage::cloud_blob blob = container.get_blob_reference(original_blob.name(), original_blob.snapshot_time());
136136

137137
if (permissions & azure::storage::blob_shared_access_policy::permissions::list)
138138
{
@@ -197,13 +197,16 @@ void blob_test_base::check_access(const utility::string_t& sas_token, uint8_t pe
197197
CHECK_THROW(blob.download_attributes(azure::storage::access_condition(), azure::storage::blob_request_options(), m_context), azure::storage::storage_exception);
198198
}
199199

200-
if (permissions & azure::storage::blob_shared_access_policy::permissions::write)
200+
if (!blob.is_snapshot())
201201
{
202-
blob.upload_metadata(azure::storage::access_condition(), azure::storage::blob_request_options(), m_context);
203-
}
204-
else
205-
{
206-
CHECK_THROW(blob.upload_metadata(azure::storage::access_condition(), azure::storage::blob_request_options(), m_context), azure::storage::storage_exception);
202+
if (permissions & azure::storage::blob_shared_access_policy::permissions::write)
203+
{
204+
blob.upload_metadata(azure::storage::access_condition(), azure::storage::blob_request_options(), m_context);
205+
}
206+
else
207+
{
208+
CHECK_THROW(blob.upload_metadata(azure::storage::access_condition(), azure::storage::blob_request_options(), m_context), azure::storage::storage_exception);
209+
}
207210
}
208211

209212
if (permissions & azure::storage::blob_shared_access_policy::permissions::del)

0 commit comments

Comments
 (0)