From 7c6a3503a04ca3c71acaea35b83d9701a513a4c0 Mon Sep 17 00:00:00 2001
From: Emmanuel Viennet <emmanuel.viennet@gmail.com>
Date: Tue, 14 Jan 2025 17:26:05 +0100
Subject: [PATCH] =?UTF-8?q?CAS:=20am=C3=A9liore=20traitement=20erreur=20si?=
 =?UTF-8?q?=20r=C3=A9ponse=20XML=20invalide?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 flask_cas/routing.py | 6 ++++--
 sco_version.py       | 2 +-
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/flask_cas/routing.py b/flask_cas/routing.py
index cb2b532cc..c88e7d802 100644
--- a/flask_cas/routing.py
+++ b/flask_cas/routing.py
@@ -2,10 +2,12 @@
 Routes for CAS authentication
 Modified for ScoDoc
 """
+
 import re
 import ssl
 from urllib.error import URLError
 from urllib.request import urlopen
+from xml.parsers.expat import ExpatError
 
 import flask
 from flask import current_app, request
@@ -170,8 +172,8 @@ def validate(ticket):
             if "cas:authenticationSuccess" in xml_from_dict["cas:serviceResponse"]
             else False
         )
-    except ValueError:
-        current_app.logger.error("CAS returned unexpected result")
+    except (ValueError, ExpatError) as exc:
+        current_app.logger.error(f"CAS returned unexpected result: {exc}")
         if cas_error_callback:
             cas_error_callback("réponse invalide du serveur CAS")
     except URLError:
diff --git a/sco_version.py b/sco_version.py
index c5da9f968..56bbddc83 100644
--- a/sco_version.py
+++ b/sco_version.py
@@ -3,7 +3,7 @@
 
 "Infos sur version ScoDoc"
 
-SCOVERSION = "9.7.52"
+SCOVERSION = "9.7.53"
 
 SCONAME = "ScoDoc"
 
-- 
GitLab