1
0
mirror of https://github.com/moparisthebest/davmail synced 2024-12-13 19:22:22 -05:00

Fix regression in Form Based Authentication: detect Exchange 2007 UserContext cookie

git-svn-id: http://svn.code.sf.net/p/davmail/code/trunk@844 3d1905a2-6b24-0410-a738-b14d5a86fcbd
This commit is contained in:
mguessan 2009-11-18 11:13:06 +00:00
parent ea9c8239b4
commit 955b36060a

View File

@ -465,7 +465,10 @@ public class ExchangeSession {
protected boolean isAuthenticated() {
boolean authenticated = false;
for (Cookie cookie : httpClient.getState().getCookies()) {
if (cookie.getName().startsWith("cadata") || "sessionid".equals(cookie.getName())) {
// Exchange 2003 cookies
if (cookie.getName().startsWith("cadata") || "sessionid".equals(cookie.getName())
// Exchange 2007 cookie
|| "UserContext".equals(cookie.getName())) {
authenticated = true;
break;
}
@ -672,7 +675,7 @@ public class ExchangeSession {
protected Message buildMessage(MultiStatusResponse responseEntity) throws URIException {
Message message = new Message();
LOGGER.debug("Found message href: "+responseEntity.getHref());
LOGGER.debug("Found message href: " + responseEntity.getHref());
message.messageUrl = URIUtil.decode(responseEntity.getHref());
DavPropertySet properties = responseEntity.getProperties(HttpStatus.SC_OK);
@ -1393,6 +1396,7 @@ public class ExchangeSession {
/**
* Return permanent message url.
*
* @return permanent message url
* @throws URIException on error
*/
@ -1402,6 +1406,7 @@ public class ExchangeSession {
/**
* Return encoded message name.
*
* @return encoded message name
* @throws IOException on error
*/
@ -1411,7 +1416,7 @@ public class ExchangeSession {
throw new DavMailException("EXCEPTION_INVALID_MESSAGE_URL", messageUrl);
}
return URIUtil.encodePath(messageUrl.substring(index+1));
return URIUtil.encodePath(messageUrl.substring(index + 1));
}
/**
@ -1815,7 +1820,7 @@ public class ExchangeSession {
protected Event buildEvent(MultiStatusResponse calendarResponse) throws URIException {
Event event = new Event();
event.href = URIUtil.decode(calendarResponse.getHref());
event.permanentUrl = getPropertyIfExists(calendarResponse.getProperties(HttpStatus.SC_OK), "permanenturl", SCHEMAS_EXCHANGE);
event.permanentUrl = getPropertyIfExists(calendarResponse.getProperties(HttpStatus.SC_OK), "permanenturl", SCHEMAS_EXCHANGE);
event.etag = getPropertyIfExists(calendarResponse.getProperties(HttpStatus.SC_OK), "getetag", Namespace.getNamespace("DAV:"));
return event;
}