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() { protected boolean isAuthenticated() {
boolean authenticated = false; boolean authenticated = false;
for (Cookie cookie : httpClient.getState().getCookies()) { 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; authenticated = true;
break; break;
} }
@ -672,7 +675,7 @@ public class ExchangeSession {
protected Message buildMessage(MultiStatusResponse responseEntity) throws URIException { protected Message buildMessage(MultiStatusResponse responseEntity) throws URIException {
Message message = new Message(); Message message = new Message();
LOGGER.debug("Found message href: "+responseEntity.getHref()); LOGGER.debug("Found message href: " + responseEntity.getHref());
message.messageUrl = URIUtil.decode(responseEntity.getHref()); message.messageUrl = URIUtil.decode(responseEntity.getHref());
DavPropertySet properties = responseEntity.getProperties(HttpStatus.SC_OK); DavPropertySet properties = responseEntity.getProperties(HttpStatus.SC_OK);
@ -1393,6 +1396,7 @@ public class ExchangeSession {
/** /**
* Return permanent message url. * Return permanent message url.
*
* @return permanent message url * @return permanent message url
* @throws URIException on error * @throws URIException on error
*/ */
@ -1402,6 +1406,7 @@ public class ExchangeSession {
/** /**
* Return encoded message name. * Return encoded message name.
*
* @return encoded message name * @return encoded message name
* @throws IOException on error * @throws IOException on error
*/ */
@ -1411,7 +1416,7 @@ public class ExchangeSession {
throw new DavMailException("EXCEPTION_INVALID_MESSAGE_URL", messageUrl); 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 { protected Event buildEvent(MultiStatusResponse calendarResponse) throws URIException {
Event event = new Event(); Event event = new Event();
event.href = URIUtil.decode(calendarResponse.getHref()); 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:")); event.etag = getPropertyIfExists(calendarResponse.getProperties(HttpStatus.SC_OK), "getetag", Namespace.getNamespace("DAV:"));
return event; return event;
} }