From 825bd6f304b42ee53eef895a55191f2545f69228 Mon Sep 17 00:00:00 2001 From: Lorenz Stechauner Date: Mon, 12 Feb 2024 19:45:46 +0100 Subject: [PATCH] Export/Ebics: Escape client and member names --- Elwig/Helpers/Export/Ebics.cs | 13 +++++++------ Tests/Resources/Sql/Insert.sql | 4 ++++ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/Elwig/Helpers/Export/Ebics.cs b/Elwig/Helpers/Export/Ebics.cs index eeb15c7..30fc506 100644 --- a/Elwig/Helpers/Export/Ebics.cs +++ b/Elwig/Helpers/Export/Ebics.cs @@ -5,6 +5,7 @@ using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Linq; +using System.Security; using System.Threading.Tasks; namespace Elwig.Helpers.Export { @@ -52,7 +53,7 @@ namespace Elwig.Helpers.Export { {DateTime.UtcNow:o} {nbOfTxs} {Transaction.FormatAmount(ctrlSum)} - {App.Client.NameFull} + {SecurityElement.Escape(App.Client.NameFull)} {pmtInfId} @@ -60,7 +61,7 @@ namespace Elwig.Helpers.Export { {nbOfTxs} {Transaction.FormatAmount(ctrlSum)} {(Version >= 8 ? "
" : "")}{Date:yyyy-MM-dd}{(Version >= 8 ? "
" : "")}
- {App.Client.NameFull} + {SecurityElement.Escape(App.Client.NameFull)} {App.Client.Iban!.Replace(" ", "")} {(Version >= 4 ? "" : "")}{App.Client.Bic ?? "NOTPROVIDED"}{(Version >= 4 ? "" : "")} """); @@ -76,15 +77,15 @@ namespace Elwig.Helpers.Export { {id} {Transaction.FormatAmount(tx.Amount)} - {a.Name[..Math.Min(140, a.Name.Length)]} + {SecurityElement.Escape(a.Name[..Math.Min(140, a.Name.Length)])} - {a1?[..Math.Min(70, a1.Length)]}{a2?[..Math.Min(16, a2.Length)]} - {a.PostalDest.AtPlz?.Plz}{a.PostalDest.AtPlz?.Ort.Name} + {a1?[..Math.Min(70, a1.Length)]}{SecurityElement.Escape(a2?[..Math.Min(16, a2.Length)])} + {a.PostalDest.AtPlz?.Plz}{SecurityElement.Escape(a.PostalDest.AtPlz?.Ort.Name)} {a.PostalDest.Country.Alpha2} {tx.Member.Iban!} - {info} + {SecurityElement.Escape(info)} """); progress?.Report(100.0 * ++i / count); diff --git a/Tests/Resources/Sql/Insert.sql b/Tests/Resources/Sql/Insert.sql index 9c2244e..2539f0f 100644 --- a/Tests/Resources/Sql/Insert.sql +++ b/Tests/Resources/Sql/Insert.sql @@ -68,3 +68,7 @@ INSERT INTO member (mgnr, given_name, family_name, zwstid, volllieferant, buchf (102, 'Wernhardt', 'Weinbauer', 'X', FALSE, FALSE, 40, 222303524, 'Winzerstraße 2', 06109, 'AT123456789012345678'), (103, 'Matthäus', 'Musterbauer', 'X', FALSE, FALSE, 40, 212005138, 'Brünner Straße 10', 15224, 'AT123456789012345678'), (104, 'Waltraud', 'Winzer', 'X', FALSE, FALSE, 40, 212005138, 'Wiener Straße 15', 15224, 'AT123456789012345678'); + +INSERT INTO member_billing_address (mgnr, name, country, postal_dest, address) VALUES +(102, 'W&B Weinbauer GesbR', 40, 222303524, 'Winzerstraße 2'), +(104, 'Weinbau Waltraud Winzer GmbH', 40, 212205137, 'Hauptstraße 1');