After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 562154 - MAPI profile creation fails to create Key
MAPI profile creation fails to create Key
Status: RESOLVED INVALID
Product: evolution-mapi
Classification: Applications
Component: Account Setup Plugin
unspecified
Other Linux
: Normal critical
: ---
Assigned To: evolution-mapi-maint
evolution-mapi-maint
Depends on:
Blocks:
 
 
Reported: 2008-11-24 17:47 UTC by Jeff Singleton
Modified: 2009-02-11 04:20 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Jeff Singleton 2008-11-24 17:47:27 UTC
Steps to reproduce:
1. Gentoo amd64 - Latest Openchange/Samba4 - Evolution 2.25.1 - evolution-mapi r15)
2. Remove evolution profile folder from $HOME, kill all running evolution processes
3. Start Evolution with Debug enabled and create profile when prompted
4. The process completes successfully, but does not create the ldb account


Stack trace:
** (evolution:19253): DEBUG: Loading Exchange MAPI Plugin

** (evolution:19253): DEBUG: MAPI listener is constructed with 1 listed MAPI accounts
** (evolution:19253): DEBUG: mailto URL command: evolution %s
** (evolution:19253): DEBUG: mailto URL program: evolution

e-data-server-ui-Message: Key file does not have key 'mapi:__jsingleton@mail.airdefense.net_'
libexchangemapi-Message: exchange-mapi-connection.c(126): exchange_mapi_connection_new: lock(connect_lock)

exchange-mapi-connection.c(71): Entering mapi_profile_load     GetDefaultProfile        : MAPI_E_NOT_FOUND (0x8004010F)

exchange-mapi-connection.c(112): Leaving mapi_profile_load libexchangemapi-Message: exchange-mapi-connection.c(129): exchange_mapi_connection_new: unlock(connect_lock)

(evolution:19253): libexchangemapi-WARNING **:
exchange-mapi-connection.c(132): exchange_mapi_connection_new: Login failed
e-data-server-ui-Message: Key file does not have key 'mapi:__jsingleton@mail.airdefense.net_'
libexchangemapi-Message: exchange-mapi-connection.c(142): exchange_mapi_connection_close: lock(connect_lock)
libexchangemapi-Message: exchange-mapi-connection.c(145): exchange_mapi_connection_close: unlock(connect_lock)


Other information:
It has worked before - seems to happen only in latest svn for evolution-mapi with latest svn for Openchange/Samba4
Comment 1 Jeff Singleton 2008-11-24 19:10:22 UTC
Additionally, when I try to view the profile database with ldbedit, I only see the following inside of the file:


# editing 1 records
# record 1
dn: @BASEINFO


So it is obviously creating the files, but it is not inserting the account information.
Comment 2 Suman Manjunath 2008-11-25 02:16:55 UTC
(In reply to comment #0)
> 2. Remove evolution profile folder from $HOME, kill all running evolution
> processes

This is bad. You shouldn't be deleting $HOME/.evolution/mapi-profiles.ldb _IF_ you have already configured a MAPI account (irrespective of whether it is enabled or not)

> Stack trace:
> ** (evolution:19253): DEBUG: MAPI listener is constructed with 1 listed MAPI
> accounts

After you deleted the profile database, the MAPI account in the EAccount list does not get removed. So, it still thinks everything is fine and lists the account. 

> e-data-server-ui-Message: Key file does not have key
> 'mapi:__jsingleton@mail.airdefense.net_'
> libexchangemapi-Message: exchange-mapi-connection.c(126):
> exchange_mapi_connection_new: lock(connect_lock)
> 
> exchange-mapi-connection.c(71): Entering mapi_profile_load    
> GetDefaultProfile        : MAPI_E_NOT_FOUND (0x8004010F)
> 
> exchange-mapi-connection.c(112): Leaving mapi_profile_load

Now that you had deleted the profile database, this is bound to happen.


The real problem with deleting the mapi-profiles.ldb manually, like you did is that it is (at the moment) not possible for a backend (the mailer/calendar) to re-create it. Only the account-setup-plugin can do that job. The plugin creates a profile when you create an account and deletes the profile when you delete the account (although the profile-database may lurk around with 0 profiles in it).

I would probably close this as INVALID. Before that, I'd like to know what jony thinks about this one.
Comment 3 Jeff Singleton 2008-11-25 13:34:43 UTC
OK

I thank-you for your reply. But you completely missed the fact that after I deleted the ldb profile db, and killed all of the Evolution processes - I recreated the account in Evolution using the Account Setup Plugin.  

I did not just delete the database and expect it to be recreated - I deleted everything, the ldb profile, and the account from Evolution.  No matter what I tried the information from the Stack Trace is what I got.

Please do not close this as Invalid - because it is perfectly valid.
Comment 4 Suman Manjunath 2008-11-25 14:05:17 UTC
(In reply to comment #3)
> I did not just delete the database and expect it to be recreated - I deleted
> everything, the ldb profile, and the account from Evolution.  No matter what I
> tried the information from the Stack Trace is what I got.

If you did remove the _account_ from evolution, then

> Stack trace:
> ** (evolution:19253): DEBUG: MAPI listener is constructed with 1 listed MAPI
> accounts

would never happen even on restarting evolution. Can you please try to reproduce your own scenario? I'll try it myself when I get back to office later this week.
Comment 5 Jeff Singleton 2008-11-25 14:21:12 UTC
Suman

That happens immediately after recreating the account.  Believe me, I took every precaution to make sure all account information, ldb profile information, and running processes were killed.

So when I start up Evolution it acts like it is the first time I have run it.

During or directly after the Account Setup completes - I repeatedly get access denied messages from my Exchange server because there is no profile in the mapi-profile.ldb.

I removed everything, so it would recreate from scratch - but it does not insert my account information into the mapi-profile.ldb as it should. So I cannot authenticate to get my mail.

Comment 6 Suman Manjunath 2008-11-25 16:40:24 UTC
Hi Jeff..

(In reply to comment #5)
> So when I start up Evolution it acts like it is the first time I have run it.

okay.. this is good enough :-)

Assuming you installed samba in the prefix /usr/local/samba , can you paste the output of: 

$ ls -l /usr/local/samba/share/setup

LibMAPI should have installed a few specific files (which begin with oc_profile_* IIRC) at this location. If not, I'll provide you with a patch for LibMAPI. 

Until then, when you're configuring the account -> hit Authenticate -> enter Password -> click OK -> hit Authenticate again -> then continue as usual.
Comment 7 Jeff Singleton 2008-11-25 18:40:06 UTC
So those profile files that are created in /usr/local/samba/share/setup actually hold the profile information?

Because once I deleted those and recreated my account, it works.

So I guess this was Invalid. I assumed that all the info needed was stored in mapi-profile.ldb under ~/.evolution/

You can close this one. I am gathering information on a new one.
Comment 8 Suman Manjunath 2008-11-26 02:39:43 UTC
(In reply to comment #7)
> So those profile files that are created in /usr/local/samba/share/setup
> actually hold the profile information?

No.. the oc_profile_* files only provide the format of the profile. Your actual evolution profiles are still stored under ~/.evolution/
Comment 9 Suman Manjunath 2009-02-11 04:20:40 UTC
Closing as per reporter's comment #7