kwallet and QCA

nf2 nf2 at
Wed Jun 4 20:54:11 BST 2008

Aaron J. Seigo wrote:
> On Wednesday 04 June 2008, nf2 wrote:
>> all has no advantages compared to just adopting and improving *one*
>> existing implementation.
> there are scenarios where adopting an implementation and improving it is the 
> better option, and scenarios where it isn't.
> it is impossible to have this discussion in vague terms and have any 
> meaningful outcome. so let's just not =)
> instead, let's discuss specifics scenarios. in this case the idea of adopting 
> libgnome-keyring. having looked at it, the api is really horrid (though 
> presumably that would be "fixed" by an API layer on top of it) and it seems to 
> offer only a subset of kwallet's features.

I wouldn't call it "horrid", and i'm not sure about the "subset". But it 
has a slightly different object model. Lets try to find out (but i'm not 
an expert on this, so forgive me if i'm wrong):

multiple Wallets --> multiple Keyrings
every Wallet/Keyring contains multiple Folders/Items

I guess the standard Folders in KWallet (PasswordFolder and 
FormDataFolder) are used for the Web-Browser?

Inside the Folders/Items both Systems provide Maps of Entries/Attributes 
(with String keys).

* In Kwallet those Entries can be of the following Types: Password, 
String, Map, ByteArray

* In Keyring only String and Int are supported at the moment (but this 
could probably be extended easily), and there is only one Password per Item.

+--- (n) Wallets
      +----- (n) Folders
               +----- (n) Entries (Password, String, Map or ByteArray)

+---- (n) Keyrings
       +---- (n) Items
              +-------(1) ItemInfo (type and Password)
              +------ (n) Attributes (String or Integer)

Keyring seems to have ACL on the Item level (and generally more 
sophisticated regarding access control), and KWallet seems more flexible 
regarding the data-types that can be stored.

I think the crunchpoint are those "object models" - which are similar 
but not in the details, how they are used or supposed to be used, how 
they can be mapped into a management UI (like gnome-keyring-manager)...


More information about the kde-core-devel mailing list