[Kde-pim] Review Request 121159: add recovery from KWallet errors in mailtransport

René J.V. Bertin rjvbertin at gmail.com
Tue Nov 18 08:31:25 GMT 2014



> On Nov. 17, 2014, 11:02 p.m., Laurent Montel wrote:
> > mailtransport/transportmanager.cpp, line 605
> > <https://git.reviewboard.kde.org/r/121159/diff/1/?file=328921#file328921line605>
> >
> >     keep coding style. } else {

by . your . command . . .


- René J.V.


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/121159/#review70544
-----------------------------------------------------------


On Nov. 17, 2014, 9:05 p.m., René J.V. Bertin wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/121159/
> -----------------------------------------------------------
> 
> (Updated Nov. 17, 2014, 9:05 p.m.)
> 
> 
> Review request for KDE Software on Mac OS X and KDEPIM-Libraries.
> 
> 
> Repository: kdepimlibs
> 
> 
> Description
> -------
> 
> The akonadi mail transport service cannot currently recover from KWallet errors because it treats them as persistent. A common case of error is a timeout during an (asynchronous?) unlock of the NetworkWallet in order to obtain the authentication credentials for an smtp server.
> When this happens, the mail transport service will consider the KWallet to be unavailable and force the user to enter the credentials manually, even storing it in an unsecure manner in its configuration file if the user elects to store the password.
> 
> This patch adds recovery from KWallet errors by not using the stored error state, instead repeating the attempt to access the wallet the next time credentials have to be fetched. Instead of checking for the error flag, the check for KWallet::isEnabled() is done, before attempting to use other wallet functionality.
> 
> I don't think there is any reason to treat KWallet errors as persistent because they probably aren't most of the time and thus the user ought not be obliged to restart the mail transport agent to clear the error state.
> I realise it's possible the error persistency was introduced to allow certain users to "disable" the wallet feature *only* for email sending; if so a less hackish solution with less side-effects ought to be possible.
> 
> 
> Diffs
> -----
> 
>   mailtransport/transportmanager.cpp d13f879 
> 
> Diff: https://git.reviewboard.kde.org/r/121159/diff/
> 
> 
> Testing
> -------
> 
> On Linux with KDE PIM 4.13.3 and git/4.14 . On OS X 10.6.8 with KDE PIM 4.13.3 .
> 
> The patch works as expected: when a wallet unlock times out, the mail transport's own authentication dialog is posted as usual. When cancelled, the dispatch attempt fails as expected, but a second attempt is made almost immediately; if the wallet dialog was used to unlock the wallet this attempt will succeed normally.
> 
> 
> Thanks,
> 
> René J.V. Bertin
> 
>

_______________________________________________
KDE PIM mailing list kde-pim at kde.org
https://mail.kde.org/mailman/listinfo/kde-pim
KDE PIM home page at http://pim.kde.org/


More information about the kde-pim mailing list