A follow-up:

There appear to be a couple of layers of bugs involved with this misbehavior.

What is happening:

  The configuration for an account (stored in a sqlite database) can/should 
have a
  boolean parameter named "savepass".  If "savepass" is missing, the default 
value
  is "True".  (See gajim/common/setting_values.py)

  In my config db, for reasons unknown to me, the "Local" account has no 
"savepass"
  parameter.  Thus gajim treats it as "savepass == True" for this account, and 
that
  triggers the unstoppable kwallet dialogs.

I do not actually use the Local account, so after a battle with the kwallet
dialogs, I was able to turn off "Connect on startup" for this account.  Upon a
restart, gajim no longer tries to connect to that account and no longer insists
on getting a password from a wallet.  This lets me get on with using gajim.

However, the Local account still has no savepass parameter, and I know of no way
to provoke gajim to provision one.


There appear to be (at least) three bugs involved here:

 1) The default value for "savepass" should probably be False (or even None, 
with
    a code path that tries to solve the problem of whether or not there is a
    saved password involved).

 2) If accessing a keystore/wallet fails, e.g. because someone hits a Cancel 
button,
    then gajim should take the hint and quit demanding access to a non-existent 
keystore.

 3) There needs to be a mechanism to reset/clear the "savepass" parameter --- 
i.e.,
    a mechanism to tell gajim to _stop_ storing the password in a keystore.

-mm

Reply via email to