[Tickets #11639] Re: ActiveSync :: Extend the Autodiscover feature to return also valid answers to MS Outlook queries

bugs at horde.org bugs at horde.org
Thu Nov 15 12:00:07 UTC 2012


BITTE NICHT AUF DIESE NACHRICHT ANTWORTEN. NACHRICHTEN AN DIESE  
E-MAIL-ADRESSE WERDEN NICHT GELESEN.

Ticket-URL: http://bugs.horde.org/ticket/11639
------------------------------------------------------------------------------
  Ticket           | 11639
  Aktualisiert Von | torben at dannhauer.info
  Zusammenfassung  | ActiveSync :: Extend the Autodiscover feature to return
                   | also valid answers to MS Outlook queries
  Warteschlange    | Horde Framework Packages
  Version          | Git develop
  Typ              | Enhancement
  Status           | Feedback
  Priorität        | 1. Low
  Milestone        |
  Patch            | 1
  Zuständige       | Michael Rubinsky
------------------------------------------------------------------------------


torben at dannhauer.info (2012-11-15 12:00) hat geschrieben:

>>> Implemented.
>>>
>>> Anyway you can test the current Git code in your setup?
>>
>> That was fast!
>> Of course I will test, but it may take some days, I'm not sure I can
>> squeeze it in  today. I'll give you feedback till end of week at
>> latest.
>> Torben
>
> Two question rise while reading the code:
> - What is the intent of Audodiscover.php lines 130:135 ?
> - How are the params of the outlook autodiscover set? Only via the  
> hook or also via the actviesync configuration tab ? Just curious...
>
> Torben
>

Now I got the reason why it is not working:

around line 130, you test the responseschema to be empty.

This is not correct: for every autodiscover query the accetable  
response schema is delivered. Thus this variable should always be set,  
otherwise our parsing of the request is wrong.

Indeed, as I tested with outlook 2010 and also with the Microsoft  
"Remote Connectivity Analyzer" ( 	Connectivity Tests for Microsoft  
Office Outlook ), I discovered that with the RCA, the response schema  
is empty, because the string has different positions in Outlook and in  
RCA. This was new for me and was not adressed yet.

In my opinion we have to apply two changes to Autodiscover.php to get  
it working:
1. refactor line 130:135  to avoid  
"!empty($properties['response_schema'])" - which should never be  
emtpy.. As I said, I have no clue about the reason of this if-clause  
at lines 130:135
2. Make the repsonse schema more robust. It is not sufficient to  
extract values at certain place, but we have to parse for  
ACCEPTABLERESPONSESCHEMA to get the right value.

Please find below the request data send by RCA and by Outlook to get  
an idea how to fetch the response schema. this depub output is done by  
print:r() and thus represents the array structure

------------------------
values send by RCA:
     [0] => Array
         (
             [tag] => AUTODISCOVER
             [type] => open
             [level] => 1
             [attributes] => Array
                 (
                     [XMLNS:XSD] => http://www.w3.org/2001/XMLSchema
                     [XMLNS:XSI] => http://www.w3.org/2001/XMLSchema-instance
                     [XMLNS] =>  
http://schemas.microsoft.com/exchange/autodiscover/outlook/requestschema/2006
                 )

             [value] =>

         )

     [1] => Array
         (
             [tag] => REQUEST
             [type] => open
             [level] => 2
             [value] =>

         )

     [2] => Array
         (
             [tag] => EMAILADDRESS
             [type] => complete
             [level] => 3
             [value] => test2013 at dannhauer.de
         )

     [3] => Array
         (
             [tag] => REQUEST
             [value] =>

             [type] => cdata
             [level] => 2
         )

     [4] => Array
         (
             [tag] => ACCEPTABLERESPONSESCHEMA
             [type] => complete
             [level] => 3
             [value] =>  
http://schemas.microsoft.com/exchange/autodiscover/outlook/responseschema/2006a
         )

     [5] => Array
         (
             [tag] => REQUEST
             [value] =>

             [type] => cdata
             [level] => 2
         )

     [6] => Array
         (
             [tag] => REQUEST
             [type] => close
             [level] => 2
         )

     [7] => Array
         (
             [tag] => AUTODISCOVER
             [value] =>

             [type] => cdata
             [level] => 1
         )

     [8] => Array
         (
             [tag] => AUTODISCOVER
             [type] => close
             [level] => 1
         )
---------------------
values send by Outlook:
  [0] => Array
         (
             [tag] => AUTODISCOVER
             [type] => open
             [level] => 1
             [attributes] => Array
                 (
                     [XMLNS] =>  
http://schemas.microsoft.com/exchange/autodiscover/outlook/requestschema/2006
                 )

         )

     [1] => Array
         (
             [tag] => REQUEST
             [type] => open
             [level] => 2
         )

     [2] => Array
         (
             [tag] => EMAILADDRESS
             [type] => complete
             [level] => 3
             [value] => test2013 at dannhauer.de
         )

     [3] => Array
         (
             [tag] => ACCEPTABLERESPONSESCHEMA
             [type] => complete
             [level] => 3
             [value] =>  
http://schemas.microsoft.com/exchange/autodiscover/outlook/responseschema/2006a
         )

     [4] => Array
         (
             [tag] => REQUEST
             [type] => close
             [level] => 2
         )

     [5] => Array
         (
             [tag] => AUTODISCOVER
             [type] => close
             [level] => 1
         )

Thanks Torben





More information about the bugs mailing list