From d508a91d97f939130170798e087b7c67f42bfb3d Mon Sep 17 00:00:00 2001 From: Kukks Date: Mon, 2 Dec 2024 08:38:50 +0100 Subject: [PATCH] fix nwc validation --- .../BTCPayServer.Plugins.NIP05.csproj | 2 +- ...rWalletConnectLightningConnectionStringHandler.cs | 12 +++++++++++- .../Views/Shared/NWC/LNPaymentMethodSetupTab.cshtml | 2 +- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/Plugins/BTCPayServer.Plugins.NIP05/BTCPayServer.Plugins.NIP05.csproj b/Plugins/BTCPayServer.Plugins.NIP05/BTCPayServer.Plugins.NIP05.csproj index 3c91d0a..0136d44 100644 --- a/Plugins/BTCPayServer.Plugins.NIP05/BTCPayServer.Plugins.NIP05.csproj +++ b/Plugins/BTCPayServer.Plugins.NIP05/BTCPayServer.Plugins.NIP05.csproj @@ -11,7 +11,7 @@ Nostr NIP5 addresses, Zap support, Nostr Wallet Connect Lightning support - 1.1.15 + 1.1.16 true diff --git a/Plugins/BTCPayServer.Plugins.NIP05/NostrWalletConnectLightningConnectionStringHandler.cs b/Plugins/BTCPayServer.Plugins.NIP05/NostrWalletConnectLightningConnectionStringHandler.cs index 8e879e5..64d3ee5 100644 --- a/Plugins/BTCPayServer.Plugins.NIP05/NostrWalletConnectLightningConnectionStringHandler.cs +++ b/Plugins/BTCPayServer.Plugins.NIP05/NostrWalletConnectLightningConnectionStringHandler.cs @@ -28,9 +28,19 @@ public class NostrWalletConnectLightningConnectionStringHandler : ILightningConn } connectionString = connectionString.Replace("type=nwc;key=", ""); + if (!connectionString.StartsWith(NIP47.UriScheme, StringComparison.OrdinalIgnoreCase)) + { + error = $"Invalid nostr wallet connect uri (must start with {NIP47.UriScheme})"; + return null; + } + + if (!Uri.TryCreate(connectionString, UriKind.Absolute, out var uri)) + { + error = "Invalid nostr wallet connect uri"; + return null; + } try { - Uri.TryCreate(connectionString, UriKind.Absolute, out var uri); var connectParams = NIP47.ParseUri(uri); var cts = new CancellationTokenSource(); cts.CancelAfter(TimeSpan.FromSeconds(10)); diff --git a/Plugins/BTCPayServer.Plugins.NIP05/Views/Shared/NWC/LNPaymentMethodSetupTab.cshtml b/Plugins/BTCPayServer.Plugins.NIP05/Views/Shared/NWC/LNPaymentMethodSetupTab.cshtml index a979d65..afbdadf 100644 --- a/Plugins/BTCPayServer.Plugins.NIP05/Views/Shared/NWC/LNPaymentMethodSetupTab.cshtml +++ b/Plugins/BTCPayServer.Plugins.NIP05/Views/Shared/NWC/LNPaymentMethodSetupTab.cshtml @@ -29,7 +29,7 @@