[dev] ActiveSync: got "ERR: Invalid address book" on Nokia Mail for exchange, but worked on WindowsMobile 6.1
Michael Rubinsky
mrubinsk at horde.org
Wed May 26 00:31:34 UTC 2010
Quoting Lukas Gradl <horde at ssn.at>:
> On 2010-05-25 22:19, Michael Rubinsky wrote:
>>
>>>
>>> When using Nokia there is a PEAR_Error in Turba_Driver::&singleton():
>>>
>>> The Message is "Bind failed: (53) Server is unwilling to perform"
>>>
>>> It seems that the Password to connect to the LDAP-Server is not
>>> provided correctly.
>>>
>>> I defined the LDAP-Access in sources.php as following:
>>>
>>> 'bind_dn' => 'cn='.Horde_Auth::getAuth().',ou=Users,dc=demo,dc=com',
>>> 'bind_password' => Horde_Auth::getCredential('password'),
>>>
>>> the Horde_Auth::getAuth() is correct, the
>>> Horde_Auth::getCredential('password') is empty.
>>
>> Ok. That's a good piece of information. I have a feeling the
>> authorization header isn't being sent or parsed correctly.
>> Can you check to see the value of $pass in Horde_Rpc_ActiveSync
>> (framework/Rpc/lib/Horde/Rpc/ActiveSync.php) on line 178? This should
>> (obviously) be the user's horde password.
>>
>
> Yes, it contains the Users horde-Password.
>
> The problem seems to sit within the way I'm authenticating in sources.php.
>
> To use the Horde-Password as the password to authenticate against
> LDAP I use the line:
> 'bind_password' => Horde_Auth::getCredential('password'),
> in my sources.php.
> When the sources.php get's included in Turba_Application::_init()
> this variable is empty.
Weird, the same code path is followed when all devices sync, even if
they issue a GETITEMESTIMATE request first, as that calls the same
backend code. Not sure what the heck is going on here, but I'll keep
thinking about it.
> Is there another way to provide the Password to LDAP?
Not that I know of. Horde_Auth::getCredential('password') should
return the password that was set when the user authenticated. The
password is stored in the session when Horde_Auth#authenticate is
called, and is returned when Horde_Auth#getCredential is called. Not
sure where to go from here. If you end up getting a wireshark trace,
guess it's worth looking at.
--
Mike
--
The Horde Project (www.horde.org)
mrubinsk at horde.org
"Reality is merely an illusion, albeit a very persistent one." - A. Einstein
More information about the dev
mailing list