Queue/Blob:Service_SetProperties: Set Cors with >64 exposed headers,or > 64 origins, server not fail as expected.
- Dominant language
- TypeScript
- Stars
- 2.3k
- Forks
- 393
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 36
Description
### Which service(blob, file, queue, table) does this issue concern?
blob
### Which version of the Azurite was used?
3.3.0-preview
### Where do you get Azurite? (npm, DockerHub, NuGet, Visual Studio Code Extension)
VS code
### What's the Node.js version?
v10.15.3
### What problem was encountered?
Queue:Service_SetProperties: Set Cors with >64 exposed headers, server not fail as expected.
### Steps to reproduce the issue?
Set Cors with >64 exposed headers to Queue Service.
### Have you found a mitigation/solution?
No
Test Case:
```
Test Name: CloudQueueTestCorsMaxHeaders
Test FullName: Microsoft.Azure.Storage.Queue.QueueAnalyticsUnitTests.CloudQueueTestCorsMaxHeaders
Test Source: C:\code\azure-storage-net\Test\ClassLibraryCommon\Queue\QueueAnalyticsUnitTests.cs : line 682
Test Outcome: Failed
Test Duration: 0:00:00.0487089
Result StackTrace:
at Microsoft.Azure.Storage.TestHelper.ExpectedException(Action operation, String operationDescription, HttpStatusCode expectedStatusCode, String requestErrorCode) in C:\code\azure-storage-net\Test\ClassLibraryCommon\TestHelper.cs:line 55
at Microsoft.Azure.Storage.Queue.QueueAnalyticsUnitTests.CloudQueueTestCorsMaxHeaders() in C:\code\azure-storage-net\Test\ClassLibraryCommon\Queue\QueueAnalyticsUnitTests.cs:line 716
Result Message: Assert.Fail failed. No Storage exception received while expecting BadRequest: A maximum of 64 literal exposed headers are allowed.
```
```
Test Name: CloudQueueTestCorsMaxOrigins
Test FullName: Microsoft.Azure.Storage.Queue.QueueAnalyticsUnitTests.CloudQueueTestCorsMaxOrigins
Test Source: C:\code\azure-storage-net\Test\ClassLibraryCommon\Queue\QueueAnalyticsUnitTests.cs : line 652
Test Outcome: Failed
Test Duration: 0:00:00.1287121
Result StackTrace:
at Microsoft.Azure.Storage.TestHelper.ExpectedException(Action operation, String operationDescription, HttpStatusCode expectedStatusCode, String requestErrorCode) in C:\code\azure-storage-net\Test\ClassLibraryCommon\TestHelper.cs:line 55
at Microsoft.Azure.Storage.Queue.QueueAnalyticsUnitTests.CloudQueueTestCorsMaxOrigins() in C:\code\azure-storage-net\Test\ClassLibraryCommon\Queue\QueueAnalyticsUnitTests.cs:line 668
Result Message: Assert.Fail failed. No Storage exception received while expecting BadRequest: A maximum of 64 origins are allowed.
```
Debug Log:
```
2019-12-16T09:33:51.518Z 03d92e97-4f62-44b6-87e2-1b96bacdc0e4 info: QueueStorageContextMiddleware: RequestMethod=PUT RequestURL=http://127.0.0.1/devstoreaccount1?restype=service&comp=properties RequestHeaders:{"x-ms-client-request-id":"11c364d0-2f74-4332-859a-481a551a5731","user-agent":"Azure-Storage/11.1.1 (.NET Core; Win32NT 6.2.9200.0)","x-ms-version":"2019-02-02","x-ms-date":"Mon, 16 Dec 2019 09:33:51 GMT","authorization":"SharedKey devstoreaccount1:EK8dIsmyGWj5nohyFAWBHXFARQcDxxfflQHvUyYrd3M=","content-length":"2467","host":"127.0.0.1:10001"} ClientIP=127.0.0.1 Protocol=http HTTPVersion=1.1
2019-12-16T09:33:51.519Z 03d92e97-4f62-44b6-87e2-1b96bacdc0e4 info: QueueStorageContextMiddleware: Account=devstoreaccount1 Queue=undefined Message=undefined MessageId=undefined
2019-12-16T09:33:51.519Z 03d92e97-4f62-44b6-87e2-1b96bacdc0e4 verbose: DispatchMiddleware: Dispatching request...
2019-12-16T09:33:51.520Z 03d92e97-4f62-44b6-87e2-1b96bacdc0e4 info: DispatchMiddleware: Operation=Service_SetProperties
2019-12-16T09:33:51.520Z 03d92e97-4f62-44b6-87e2-1b96bacdc0e4 verbose: AuthenticationMiddlewareFactory:createAuthenticationMiddleware() Validating authentications.
2019-12-16T09:33:51.521Z 03d92e97-4f62-44b6-87e2-1b96bacdc0e4 info: QueueSharedKeyAuthenticator:validate() Start validation against account shared key authentication.
2019-12-16T09:33:51.521Z 03d92e97-4f62-44b6-87e2-1b96bacdc0e4 info: QueueSharedKeyAuthenticator:validate() [STRING TO SIGN]:"PUT\n\n\n2467\n\n\n\n\n\n\n\n\nx-ms-client-request-id:11c364d0-2f74-4332-859a-481a551a5731\nx-ms-date:Mon, 16 Dec 2019 09:33:51 GMT\nx-ms-version:2019-02-02\n/devstoreaccount1/devstoreaccount1\ncomp:properties\nrestype:service"
2019-12-16T09:33:51.522Z 03d92e97-4f62-44b6-87e2-1b96bacdc0e4 info: QueueSharedKeyAuthenticator:validate() Calculated authentication header based on key1: devstoreaccount1:EK8dIsmyGWj5nohyFAWBHXFARQcDxxfflQHvUyYrd3M=
2019-12-16T09:33:51.522Z 03d92e97-4f62-44b6-87e2-1b96bacdc0e4 info: QueueSharedKeyAuthenticator:validate() Signature 1 matched.
2019-12-16T09:33:51.524Z 03d92e97-4f62-44b6-87e2-1b96bacdc0e4 verbose: DeserializerMiddleware: Start deserializing...
2019-12-16T09:33:51.525Z 03d92e97-4f62-44b6-87e2-1b96bacdc0e4 debug: deserialize(): Raw request body string is 1.0falsefalsefalsefalse1.0falsefalse1.0falsefalsewww.xyz.comGETx-ms-meta-data*,x-ms-meta-source*,x-ms-meta-0,x-ms-meta-1,x-ms-meta-2,x-ms-meta-3,x-ms-meta-4,x-ms-meta-5,x-ms-meta-6,x-ms-meta-7,x-ms-meta-8,x-ms-meta-9,x-ms-meta-10,x-ms-meta-11,x-ms-meta-12,x-ms-meta-13,x-ms-meta-14,x-ms-meta-15,x-ms-meta-16,x-ms-meta-17,x-ms-meta-18,x-ms-meta-19,x-ms-meta-20,x-ms-meta-21,x-ms-meta-22,x-ms-meta-23,x-ms-meta-24,x-ms-meta-25,x-ms-meta-26,x-ms-meta-27,x-ms-meta-28,x-ms-meta-29,x-ms-meta-30,x-ms-meta-31,x-ms-meta-32,x-ms-meta-33,x-ms-meta-34,x-ms-meta-35,x-ms-meta-36,x-ms-meta-37,x-ms-meta-38,x-ms-meta-39,x-ms-meta-40,x-ms-meta-41,x-ms-meta-42,x-ms-meta-43,x-ms-meta-44,x-ms-meta-45,x-ms-meta-46,x-ms-meta-47,x-ms-meta-48,x-ms-meta-49,x-ms-meta-50,x-ms-meta-51,x-ms-meta-52,x-ms-meta-53,x-ms-meta-54,x-ms-meta-55,x-ms-meta-56,x-ms-meta-57,x-ms-meta-58,x-ms-meta-59,x-ms-meta-60,x-ms-meta-61,x-ms-meta-62,x-ms-meta-63,x-ms-meta-toomanyx-ms-meta-target*,x-ms-meta-other*,x-ms-meta-0,x-ms-meta-1,x-ms-meta-2,x-ms-meta-3,x-ms-meta-4,x-ms-meta-5,x-ms-meta-6,x-ms-meta-7,x-ms-meta-8,x-ms-meta-9,x-ms-meta-10,x-ms-meta-11,x-ms-meta-12,x-ms-meta-13,x-ms-meta-14,x-ms-meta-15,x-ms-meta-16,x-ms-meta-17,x-ms-meta-18,x-ms-meta-19,x-ms-meta-20,x-ms-meta-21,x-ms-meta-22,x-ms-meta-23,x-ms-meta-24,x-ms-meta-25,x-ms-meta-26,x-ms-meta-27,x-ms-meta-28,x-ms-meta-29,x-ms-meta-30,x-ms-meta-31,x-ms-meta-32,x-ms-meta-33,x-ms-meta-34,x-ms-meta-35,x-ms-meta-36,x-ms-meta-37,x-ms-meta-38,x-ms-meta-39,x-ms-meta-40,x-ms-meta-41,x-ms-meta-42,x-ms-meta-43,x-ms-meta-44,x-ms-meta-45,x-ms-meta-46,x-ms-meta-47,x-ms-meta-48,x-ms-meta-49,x-ms-meta-50,x-ms-meta-51,x-ms-meta-52,x-ms-meta-53,x-ms-meta-54,x-ms-meta-55,x-ms-meta-56,x-ms-meta-57,x-ms-meta-58,x-ms-meta-59,x-ms-meta-60,x-ms-meta-61,x-ms-meta-62,x-ms-meta-630
2019-12-16T09:33:51.527Z 03d92e97-4f62-44b6-87e2-1b96bacdc0e4 info: HandlerMiddleware: DeserializedParameters={"options":{"requestId":"11c364d0-2f74-4332-859a-481a551a5731"},"restype":"service","comp":"properties","version":"2019-02-02","storageServiceProperties":{"logging":{"version":"1.0","deleteProperty":false,"read":false,"write":false,"retentionPolicy":{"enabled":false}},"hourMetrics":{"version":"1.0","enabled":false,"retentionPolicy":{"enabled":false}},"minuteMetrics":{"version":"1.0","enabled":false,"retentionPolicy":{"enabled":false}},"cors":[{"allowedOrigins":"www.xyz.com","allowedMethods":"GET","allowedHeaders":"x-ms-meta-target*,x-ms-meta-other*,x-ms-meta-0,x-ms-meta-1,x-ms-meta-2,x-ms-meta-3,x-ms-meta-4,x-ms-meta-5,x-ms-meta-6,x-ms-meta-7,x-ms-meta-8,x-ms-meta-9,x-ms-meta-10,x-ms-meta-11,x-ms-meta-12,x-ms-meta-13,x-ms-meta-14,x-ms-meta-15,x-ms-meta-16,x-ms-meta-17,x-ms-meta-18,x-ms-meta-19,x-ms-meta-20,x-ms-meta-21,x-ms-meta-22,x-ms-meta-23,x-ms-meta-24,x-ms-meta-25,x-ms-meta-26,x-ms-meta-27,x-ms-meta-28,x-ms-meta-29,x-ms-meta-30,x-ms-meta-31,x-ms-meta-32,x-ms-meta-33,x-ms-meta-34,x-ms-meta-35,x-ms-meta-36,x-ms-meta-37,x-ms-meta-38,x-ms-meta-39,x-ms-meta-40,x-ms-meta-41,x-ms-meta-42,x-ms-meta-43,x-ms-meta-44,x-ms-meta-45,x-ms-meta-46,x-ms-meta-47,x-ms-meta-48,x-ms-meta-49,x-ms-meta-50,x-ms-meta-51,x-ms-meta-52,x-ms-meta-53,x-ms-meta-54,x-ms-meta-55,x-ms-meta-56,x-ms-meta-57,x-ms-meta-58,x-ms-meta-59,x-ms-meta-60,x-ms-meta-61,x-ms-meta-62,x-ms-meta-63","exposedHeaders":"x-ms-meta-data*,x-ms-meta-source*,x-ms-meta-0,x-ms-meta-1,x-ms-meta-2,x-ms-meta-3,x-ms-meta-4,x-ms-meta-5,x-ms-meta-6,x-ms-meta-7,x-ms-meta-8,x-ms-meta-9,x-ms-meta-10,x-ms-meta-11,x-ms-meta-12,x-ms-meta-13,x-ms-meta-14,x-ms-meta-15,x-ms-meta-16,x-ms-meta-17,x-ms-meta-18,x-ms-meta-19,x-ms-meta-20,x-ms-meta-21,x-ms-meta-22,x-ms-meta-23,x-ms-meta-24,x-ms-meta-25,x-ms-meta-26,x-ms-meta-27,x-ms-meta-28,x-ms-meta-29,x-ms-meta-30,x-ms-meta-31,x-ms-meta-32,x-ms-meta-33,x-ms-meta-34,x-ms-meta-35,x-ms-meta-36,x-ms-meta-37,x-ms-meta-38,x-ms-meta-39,x-ms-meta-40,x-ms-meta-41,x-ms-meta-42,x-ms-meta-43,x-ms-meta-44,x-ms-meta-45,x-ms-meta-46,x-ms-meta-47,x-ms-meta-48,x-ms-meta-49,x-ms-meta-50,x-ms-meta-51,x-ms-meta-52,x-ms-meta-53,x-ms-meta-54,x-ms-meta-55,x-ms-meta-56,x-ms-meta-57,x-ms-meta-58,x-ms-meta-59,x-ms-meta-60,x-ms-meta-61,x-ms-meta-62,x-ms-meta-63,x-ms-meta-toomany","maxAgeInSeconds":0}]},"body":"ReadableStream"}
2019-12-16T09:33:51.528Z 03d92e97-4f62-44b6-87e2-1b96bacdc0e4 verbose: SerializerMiddleware: Start serializing...
2019-12-16T09:33:51.529Z 03d92e97-4f62-44b6-87e2-1b96bacdc0e4 info: EndMiddleware: End response. TotalTimeInMS=11 StatusCode=202 StatusMessage=undefined Headers={"server":"Azurite-Queue/3.3.0-preview","vary":"Origin","x-ms-client-request-id":"11c364d0-2f74-4332-859a-481a551a5731","x-ms-request-id":"03d92e97-4f62-44b6-87e2-1b96bacdc0e4","x-ms-version":"2019-02-02"}
2019-12-16T09:33:51.530Z 62b59e4e-6a8f-4df1-9294-d323fc989f1c info: QueueStorageContextMiddleware: RequestMethod=GET RequestURL=http://127.0.0.1/devstoreaccount1?restype=service&comp=properties RequestHeaders:{"x-ms-client-request-id":"a596403b-26e8-4b8a-9897-01aeac7738b0","user-agent":"Azure-Storage/11.1.1 (.NET Core; Win32NT 6.2.9200.0)","x-ms-version":"2019-02-02","x-ms-date":"Mon, 16 Dec 2019 09:33:51 GMT","authorization":"SharedKey devstoreaccount1:IqqPvhfM6BihYMsLRdB0MWOY9nLDb5ZbookWfBv4lvw=","host":"127.0.0.1:10001"} ClientIP=127.0.0.1 Protocol=http HTTPVersion=1.1
2019-12-16T09:33:51.531Z 62b59e4e-6a8f-4df1-9294-d323fc989f1c info: QueueStorageContextMiddleware: Account=devstoreaccount1 Queue=undefined Message=undefined MessageId=undefined
2019-12-16T09:33:51.532Z 62b59e4e-6a8f-4df1-9294-d323fc989f1c verbose: DispatchMiddleware: Dispatching request...
2019-12-16T09:33:51.533Z 62b59e4e-6a8f-4df1-9294-d323fc989f1c info: DispatchMiddleware: Operation=Service_GetProperties
2019-12-16T09:33:51.534Z 62b59e4e-6a8f-4df1-9294-d323fc989f1c verbose: AuthenticationMiddlewareFactory:createAuthenticationMiddleware() Validating authentications.
2019-12-16T09:33:51.535Z 62b59e4e-6a8f-4df1-9294-d323fc989f1c info: QueueSharedKeyAuthenticator:validate() Start validation against account shared key authentication.
2019-12-16T09:33:51.536Z 62b59e4e-6a8f-4df1-9294-d323fc989f1c info: QueueSharedKeyAuthenticator:validate() [STRING TO SIGN]:"GET\n\n\n\n\n\n\n\n\n\n\n\nx-ms-client-request-id:a596403b-26e8-4b8a-9897-01aeac7738b0\nx-ms-date:Mon, 16 Dec 2019 09:33:51 GMT\nx-ms-version:2019-02-02\n/devstoreaccount1/devstoreaccount1\ncomp:properties\nrestype:service"
2019-12-16T09:33:51.537Z 62b59e4e-6a8f-4df1-9294-d323fc989f1c info: QueueSharedKeyAuthenticator:validate() Calculated authentication header based on key1: devstoreaccount1:IqqPvhfM6BihYMsLRdB0MWOY9nLDb5ZbookWfBv4lvw=
2019-12-16T09:33:51.537Z 62b59e4e-6a8f-4df1-9294-d323fc989f1c info: QueueSharedKeyAuthenticator:validate() Signature 1 matched.
2019-12-16T09:33:51.538Z 62b59e4e-6a8f-4df1-9294-d323fc989f1c verbose: DeserializerMiddleware: Start deserializing...
2019-12-16T09:33:51.539Z 62b59e4e-6a8f-4df1-9294-d323fc989f1c info: HandlerMiddleware: DeserializedParameters={"options":{"requestId":"a596403b-26e8-4b8a-9897-01aeac7738b0"},"restype":"service","comp":"properties","version":"2019-02-02"}
2019-12-16T09:33:51.539Z 62b59e4e-6a8f-4df1-9294-d323fc989f1c verbose: SerializerMiddleware: Start serializing...
2019-12-16T09:33:51.540Z 62b59e4e-6a8f-4df1-9294-d323fc989f1c debug: Serializer: Raw response body string is 1.0falsefalsefalsefalse1.0falsefalse1.0falsefalsewww.xyz.comGETx-ms-meta-target*,x-ms-meta-other*,x-ms-meta-0,x-ms-meta-1,x-ms-meta-2,x-ms-meta-3,x-ms-meta-4,x-ms-meta-5,x-ms-meta-6,x-ms-meta-7,x-ms-meta-8,x-ms-meta-9,x-ms-meta-10,x-ms-meta-11,x-ms-meta-12,x-ms-meta-13,x-ms-meta-14,x-ms-meta-15,x-ms-meta-16,x-ms-meta-17,x-ms-meta-18,x-ms-meta-19,x-ms-meta-20,x-ms-meta-21,x-ms-meta-22,x-ms-meta-23,x-ms-meta-24,x-ms-meta-25,x-ms-meta-26,x-ms-meta-27,x-ms-meta-28,x-ms-meta-29,x-ms-meta-30,x-ms-meta-31,x-ms-meta-32,x-ms-meta-33,x-ms-meta-34,x-ms-meta-35,x-ms-meta-36,x-ms-meta-37,x-ms-meta-38,x-ms-meta-39,x-ms-meta-40,x-ms-meta-41,x-ms-meta-42,x-ms-meta-43,x-ms-meta-44,x-ms-meta-45,x-ms-meta-46,x-ms-meta-47,x-ms-meta-48,x-ms-meta-49,x-ms-meta-50,x-ms-meta-51,x-ms-meta-52,x-ms-meta-53,x-ms-meta-54,x-ms-meta-55,x-ms-meta-56,x-ms-meta-57,x-ms-meta-58,x-ms-meta-59,x-ms-meta-60,x-ms-meta-61,x-ms-meta-62,x-ms-meta-63x-ms-meta-data*,x-ms-meta-source*,x-ms-meta-0,x-ms-meta-1,x-ms-meta-2,x-ms-meta-3,x-ms-meta-4,x-ms-meta-5,x-ms-meta-6,x-ms-meta-7,x-ms-meta-8,x-ms-meta-9,x-ms-meta-10,x-ms-meta-11,x-ms-meta-12,x-ms-meta-13,x-ms-meta-14,x-ms-meta-15,x-ms-meta-16,x-ms-meta-17,x-ms-meta-18,x-ms-meta-19,x-ms-meta-20,x-ms-meta-21,x-ms-meta-22,x-ms-meta-23,x-ms-meta-24,x-ms-meta-25,x-ms-meta-26,x-ms-meta-27,x-ms-meta-28,x-ms-meta-29,x-ms-meta-30,x-ms-meta-31,x-ms-meta-32,x-ms-meta-33,x-ms-meta-34,x-ms-meta-35,x-ms-meta-36,x-ms-meta-37,x-ms-meta-38,x-ms-meta-39,x-ms-meta-40,x-ms-meta-41,x-ms-meta-42,x-ms-meta-43,x-ms-meta-44,x-ms-meta-45,x-ms-meta-46,x-ms-meta-47,x-ms-meta-48,x-ms-meta-49,x-ms-meta-50,x-ms-meta-51,x-ms-meta-52,x-ms-meta-53,x-ms-meta-54,x-ms-meta-55,x-ms-meta-56,x-ms-meta-57,x-ms-meta-58,x-ms-meta-59,x-ms-meta-60,x-ms-meta-61,x-ms-meta-62,x-ms-meta-63,x-ms-meta-toomany0
2019-12-16T09:33:51.540Z 62b59e4e-6a8f-4df1-9294-d323fc989f1c info: Serializer: Start returning stream body.
2019-12-16T09:33:51.541Z 62b59e4e-6a8f-4df1-9294-d323fc989f1c info: EndMiddleware: End response. TotalTimeInMS=11 StatusCode=200 StatusMessage=OK Headers={"server":"Azurite-Queue/3.3.0-preview","vary":"Origin","x-ms-client-request-id":"a596403b-26e8-4b8a-9897-01aeac7738b0","x-ms-request-id":"62b59e4e-6a8f-4df1-9294-d323fc989f1c","x-ms-version":"2019-02-02","content-type":"application/xml"}
```
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.