all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [pve-devel] [PATCH proxmox_dart_api_client v2] fix: ios: reorder on catch clauses to catch `NSErrorClientException`
@ 2025-10-17 11:34 Shan Shaji
  2025-10-24 11:23 ` [pve-devel] applied: " Dominik Csapak
  0 siblings, 1 reply; 2+ messages in thread
From: Shan Shaji @ 2025-10-17 11:34 UTC (permalink / raw)
  To: pve-devel

The `NSErrorClientException` catch clause was not being executed because
it's a subtype of `ClientException`. This resulted in showing the
actual error from the package instead of our custom error message when
the SSL/TLS handshake failed. Fixed the issue by reordering the on catch
clauses.

Signed-off-by: Shan Shaji <s.shaji@proxmox.com>
---
 changes since v1: Thanks @Dominik
 - Removed the explicit type check inside the `ClientException` and
   reordered the catch clauses.

 lib/src/authenticate.dart | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/lib/src/authenticate.dart b/lib/src/authenticate.dart
index 04f363f..4c9ae22 100644
--- a/lib/src/authenticate.dart
+++ b/lib/src/authenticate.dart
@@ -57,17 +57,17 @@ Future<ProxmoxApiClient> authenticate(
   } on TimeoutException catch (_) {
     throw ProxmoxApiException(
         'Authentication takes unusually long, check network connection', 408);
-  } on http.ClientException catch (e) {
-    if (e.message.contains('net::ERR_CERT_AUTHORITY_INVALID')) {
-      throw HandshakeException(e.message);
-    }
-    rethrow;
   } on NSErrorClientException catch (e) {
     // Treat untrusted server certificate (-1202) as a handshake failure.
     if (e.error.code == -1202) {
       throw HandshakeException(e.message);
     }
     rethrow;
+  } on http.ClientException catch (e) {
+    if (e.message.contains('net::ERR_CERT_AUTHORITY_INVALID')) {
+      throw HandshakeException(e.message);
+    }
+    rethrow;
   }
 }
 
@@ -87,16 +87,16 @@ Future<List<PveAccessDomainModel?>> accessDomains(
       return serializers.deserializeWith(PveAccessDomainModel.serializer, f);
     });
     return data.toList();
-  } on http.ClientException catch (e) {
-    if (e.message.contains('net::ERR_CERT_AUTHORITY_INVALID')) {
-      throw HandshakeException(e.message);
-    }
-    rethrow;
   } on NSErrorClientException catch (e) {
     // Treat untrusted server certificate (-1202) as a handshake failure.
     if (e.error.code == -1202) {
       throw HandshakeException(e.message);
     }
     rethrow;
+  } on http.ClientException catch (e) {
+    if (e.message.contains('net::ERR_CERT_AUTHORITY_INVALID')) {
+      throw HandshakeException(e.message);
+    }
+    rethrow;
   }
 }
-- 
2.50.1



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


^ permalink raw reply	[flat|nested] 2+ messages in thread

* [pve-devel] applied: [PATCH proxmox_dart_api_client v2] fix: ios: reorder on catch clauses to catch `NSErrorClientException`
  2025-10-17 11:34 [pve-devel] [PATCH proxmox_dart_api_client v2] fix: ios: reorder on catch clauses to catch `NSErrorClientException` Shan Shaji
@ 2025-10-24 11:23 ` Dominik Csapak
  0 siblings, 0 replies; 2+ messages in thread
From: Dominik Csapak @ 2025-10-24 11:23 UTC (permalink / raw)
  To: pve-devel, Shan Shaji

On Fri, 17 Oct 2025 13:34:28 +0200, Shan Shaji wrote:
> The `NSErrorClientException` catch clause was not being executed because
> it's a subtype of `ClientException`. This resulted in showing the
> actual error from the package instead of our custom error message when
> the SSL/TLS handshake failed. Fixed the issue by reordering the on catch
> clauses.
> 
> 
> [...]

Applied, thanks!

[1/1] fix: ios: reorder on catch clauses to catch `NSErrorClientException`
      commit: c5c2d90ba41f373bf5388b2ca4f06cb85be54218


_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2025-10-24 11:23 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-10-17 11:34 [pve-devel] [PATCH proxmox_dart_api_client v2] fix: ios: reorder on catch clauses to catch `NSErrorClientException` Shan Shaji
2025-10-24 11:23 ` [pve-devel] applied: " Dominik Csapak

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal