From cb1efbe97313a22afc4fb9265e05a54d75c4e021 Mon Sep 17 00:00:00 2001 From: mguessan Date: Wed, 7 Oct 2009 19:58:29 +0000 Subject: [PATCH] Caldav: need to check session on each request, credentials may have changed or session expired git-svn-id: http://svn.code.sf.net/p/davmail/code/trunk@770 3d1905a2-6b24-0410-a738-b14d5a86fcbd --- src/java/davmail/caldav/CaldavConnection.java | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/src/java/davmail/caldav/CaldavConnection.java b/src/java/davmail/caldav/CaldavConnection.java index e802119f..6af7b0fb 100644 --- a/src/java/davmail/caldav/CaldavConnection.java +++ b/src/java/davmail/caldav/CaldavConnection.java @@ -155,16 +155,12 @@ public class CaldavConnection extends AbstractConnection { sendUnauthorized(); } else { decodeCredentials(headers.get("authorization")); - // authenticate only once, but check credentials - if (session == null || !session.checkCredentials(userName, password)) { - try { - session = ExchangeSessionFactory.getInstance(userName, password); - } catch (DavMailAuthenticationException e) { - sendUnauthorized(); - } - } - if (session != null) { + // need to check session on each request, credentials may have changed or session expired + try { + session = ExchangeSessionFactory.getInstance(userName, password); handleRequest(command, path, headers, content); + } catch (DavMailAuthenticationException e) { + sendUnauthorized(); } } @@ -1322,7 +1318,7 @@ public class CaldavConnection extends AbstractConnection { return session.buildCalendarPath(getPathElement(2), calendarPath.toString()); } else { StringBuilder calendarPath = new StringBuilder(); - for (int i=0;i