From 3860b0c076536883b808c5d865e7e3a509527a69 Mon Sep 17 00:00:00 2001 From: Jorge Ruesga Date: Mon, 15 Dec 2014 21:33:47 +0100 Subject: Exchange: use the port returned by autodiscover response EAS port could be different than the autodiscover entry point. Just use the returned port from the autodiscover response. Change-Id: I652747cb6d93b6705b2593add0c607237aa27a5a Signed-off-by: Jorge Ruesga --- src/com/android/exchange/eas/EasAutoDiscover.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/com/android/exchange/eas/EasAutoDiscover.java b/src/com/android/exchange/eas/EasAutoDiscover.java index cbcb032b..44afb1ec 100644 --- a/src/com/android/exchange/eas/EasAutoDiscover.java +++ b/src/com/android/exchange/eas/EasAutoDiscover.java @@ -205,7 +205,9 @@ public class EasAutoDiscover extends EasOperation { mHostAuth.mPassword = mPassword; // Note: there is no way we can auto-discover the proper client // SSL certificate to use, if one is needed. - mHostAuth.mPort = 443; + if (mHostAuth.mPort == -1) { + mHostAuth.mPort = 443; + } mHostAuth.mProtocol = Eas.PROTOCOL; mHostAuth.mFlags = HostAuth.FLAG_SSL | HostAuth.FLAG_AUTHENTICATE; return RESULT_OK; @@ -249,7 +251,12 @@ public class EasAutoDiscover extends EasOperation { final String url = parser.nextText(); if (url != null) { LogUtils.d(TAG, "Autodiscover URL: %s", url); - hostAuth.mAddress = Uri.parse(url).getHost(); + final Uri uri = Uri.parse(url); + hostAuth.mAddress = uri.getHost(); + int port = uri.getPort(); + if (port != -1) { + hostAuth.mPort = port; + } } } } -- cgit v1.2.3