Summary | ActiveSync Autodiscovery for Apple iOS devices (easy to fix) |
Queue | Horde Framework Packages |
Queue Version | Git master |
Type | Bug |
State | Resolved |
Priority | 1. Low |
Owners | mrubinsk (at) horde (dot) org |
Requester | torben (at) dannhauer (dot) info |
Created | 11/02/2012 (4639 days ago) |
Due | |
Updated | 08/28/2023 (688 days ago) |
Assigned | 11/05/2012 (4636 days ago) |
Resolved | 11/05/2012 (4636 days ago) |
Github Issue Link | |
Github Pull Request | |
Milestone | |
Patch | Yes |
(although ExRCA accepts that as input).
I have the full email adresse as username, so I have to input
domain.tld/user@domain.tld and it passes the test!
I know ExRCA doesn't. I was simply letting you know you don't need to
input that data on clients that do not require it - and that you can
input ANYTHING as that value in clients that require SOMETHING there.
acceptable for Horde here. This is what I initially tried, but that is
not accepted as input. You must fill in either 'domain\user' or
'user@domain' where the latter doesn't work, but the first does.
State ⇒ Resolved
ignores this data
I use a SRV record (_autodiscover._tcp.example.com) by the way. This
is an elegant way to direct the /Autodiscover/Autodiscover.xml to
the ActiveSync server if the SSL certificate is for something else
than 'example.com' or 'autodiscover.example.com'. It would be even
better, if Android would only support this... :-(
An HTTP 401 Unauthorized response was received from the remote
Unknown server.
be outputting anywhere.
error. I assumed that I could just repeat the e-mail addres in the
'Domain\User Name (or UPN)' field (according to the popup windows),
but this is not the case. What worked here was
E-mail address: username@example.com
Domain\User Name (or UPN): example.com/username (not: username@example.com)
With the above settings I get a green checkmark for the connectivity test.
I use a SRV record (_autodiscover._tcp.example.com) by the way. This
is an elegant way to direct the /Autodiscover/Autodiscover.xml to the
ActiveSync server if the SSL certificate is for something else than
'example.com' or 'autodiscover.example.com'. It would be even better,
if Android would only support this... :-(
State ⇒ Feedback
An HTTP 401 Unauthorized response was received from the remote
Unknown server.
outputting anywhere.
Microsoft Remote Connectivity Analyzer
(https://www.testexchangeconnectivity.com/). This too uses
'/Autodiscover/Autodiscover.xml' in the Exchange ActiveSync
Autodiscover tests, so we can't really blame Apple here. In fact, by
not accepting this, Horde would fail the above test immediately.
the case insensitive matching patches. Though this is due to the fact
that I have configured my redirect rules as indicated in the wiki
which clearly says to redirect to the lowercase version in order to
deal with broken clients.
stripped from the e-mail adress (but this could be due to the fact
that I'm not fully up-to-date with Git).
An HTTP 401 Unauthorized response was received from the remote
Unknown server.
I can login to the ActiveSync server with the same credentials, so not
stripping the '@domain' part is definitly not the problem (when run in
a PHP-shell, the stripping works as expected).
http://officeimg.vo.msecnd.net/en-us/files/212/753/AF010210506.doc
the REQUEST_URI is checked case sensitive for
"autodiscover/autodiscover.xml" while iOS uses the URI
"Autodiscover/Autodiscover.xml"
that the URL is all lowercase. Then again, it's not a big surprise
the Apple has screwed up a communication protocol.
implementation of the Microsoft Remote Connectivity Analyzer
(https://www.testexchangeconnectivity.com/). This too uses
'/Autodiscover/Autodiscover.xml' in the Exchange ActiveSync
Autodiscover tests, so we can't really blame Apple here. In fact, by
not accepting this, Horde would fail the above test immediately.
stripped from the e-mail adress (but this could be due to the fact
that I'm not fully up-to-date with Git).
bug you fixed, it has also some other major flaws regarding the
exchange autodiscover protocol: It DOES obey a redirect DNS entry, but
it does not restart the autodiscover with the new URL in a clean way:
It still compares the old URL with the new URL SSL cert which leads to
an invalid SSL cert warning. Lots of sysadmins have trouble
integrating iOS devices....
I assume this bug happens because MS is not as case sensitive as other
OS are and they have tested it with a MS exchange server.
Thanks for fixing this issue anyway!
State ⇒ Resolved
because the REQUEST_URI is checked case sensitive for
"autodiscover/autodiscover.xml" while iOS uses the URI
"Autodiscover/Autodiscover.xml"
that the URL is all lowercase. Then again, it's not a big surprise
the Apple has screwed up a communication protocol.
Nevertheless, I've added the case insensitive matching.
commit a86c01f0a9aafc49fd14215174bc5676b305df3b
Author: Michael J Rubinsky <mrubinsk@horde.org>
Date: Mon Nov 5 09:39:37 2012 -0500
Bug: 11624Work around for iOS's broken AUTODISCOVER request.framework/Rpc/lib/Horde/Rpc/ActiveSync.php | 6 +++---
horde/rpc.php | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)
http://git.horde.org/horde-git/-/commit/a86c01f0a9aafc49fd14215174bc5676b305df3b
State ⇒ Assigned
Priority ⇒ 1. Low
Priority ⇒ 3. High
State ⇒ Unconfirmed
Patch ⇒ Yes
Milestone ⇒
Summary ⇒ ActiveSync Autodiscovery for Apple iOS devices (easy to fix)
Type ⇒ Bug
Queue ⇒ Horde Framework Packages
the REQUEST_URI is checked case sensitive for
"autodiscover/autodiscover.xml" while iOS uses the URI
"Autodiscover/Autodiscover.xml"
Please adapt the following files and use stripos(..) instead of
strpos(..) or "=="
- Horde/Rpc/ActiveSync.php (3x)
- /horde/rpc.php (1x)
I tested with iOS6, with case insensitive comaprisions the
autodiscovery works.