1
0
mirror of https://github.com/bitwarden/server synced 2025-12-16 08:13:33 +00:00

Encode into b64 to avoid illegal xml encoding when sending to Azure

This commit is contained in:
Matt Gibson
2021-07-01 19:09:45 -04:00
parent 86a12efa76
commit d50de941da
3 changed files with 43 additions and 17 deletions

View File

@@ -12,6 +12,7 @@ using Azure.Storage.Queues.Models;
using System.Linq;
using System.Collections.Generic;
using Newtonsoft.Json.Linq;
using Bit.Core.Utilities;
namespace Bit.Admin.HostedServices
{
@@ -67,9 +68,20 @@ namespace Bit.Admin.HostedServices
foreach (var message in mailMessages)
{
// Jul 1 2021: Catch needed for now until all messages are guaranteed to be B64 strings
string messageText;
try
{
var token = JToken.Parse(message.MessageText);
messageText = CoreHelpers.Base64DecodeString(message.MessageText);
}
catch (FormatException)
{
messageText = message.MessageText;
}
try
{
var token = JToken.Parse(messageText);
if (token is JArray)
{
foreach (var mailQueueMessage in token.ToObject<List<MailQueueMessage>>())