New GnuPG backend for the KDE Wallet!

The classical KDE Wallet uses blowfish algorithm to encrypt sensitive data before writing it to disk. The key used for the encryption is a user-defined password that sometimes is even left empty by the user!

GnuPG offers some very strong encryption algorithms and uses passphrase-protected long keys. But I’m not going to talk about GPG here. I’ll rather tell you that I just added a new backend in kwalletd allowing for GPG-encrypted wallets! The code is fully functional and I actually configured my KDE session to use it! So here are the screenshots.

gpg-kwalletmanager

gpg-kdewallet-system-settings

As you can see, I now have a “testgpg” wallet that is selected as the system-default wallet. So what, you’d say? Well, I’d answer, as you can see there’s no apparent difference when using these wallets, and that’s expected behavior. Things changes however when you try to create a new wallet. There are two ways to do that. The usual way is in system settings, where user would click the “New…” button you see in the second screenshot. That will pop-up a wizard that I adjusted to let the user choose between the more secure GPG-backend or the classical, blowfish-based, backend.

After clicking “New…”, user is prompted for the new wallet’s name, as usual, then here is the redesigned “new wallet wizard”:

disclaimer: I’m not an english-native, so wording may not be the best in the following screenshots. Feel free to adjust the strings in the sources ūüėČ

gpg-kwalletwizard1

gpg-kwalletwizard2

gpg-kwalletwizard3

The screenshots above show the case where an encryption capable GPG key was found on the system. If the user do not have such a key, then the last page changes to this:

gpg-kwalletwizard3

(the different color comes from the different color-scheme my test user has in it’s kde session)

And that’s all it takes!

If using KWalletManager, the wizard is slightly different (I don’t know why kwalletd uses two code paths for wallet creation, but I choose to keep this original behavior):

  • Choose “File > New wallet…”
  • Enter the new wallet’s name
  • Next, the following wizard will show:

gpg-newwallet1

gpg-newwallet2

That’s it for this case too!

kwalletd will use GPG when storing wallets and when opening them. The same KDE session can handle simultaneously both file formats. kwalletd will transparently detect the file format and load the correct backend to handle it. So you can do as I did:

  • Create a new GPG-based wallet (using one of the previous described methods)
  • Fire KWalletManager and
    • Select your old wallet then choose “File > Export as XML…” to create an XML file with your sensitive data
    • Select the GPG-based wallet then choose “File > Import XML…”, then choose the file you just saved
    • NOTE: “File > Import wallet…” should also work, but in that case you should choose the .kwl file corresponding to your old wallet, located in ~/.kde/share/apps/kwallet
  • Go to System Settings > Account Details > KDE Wallet and select the newly created, GPG-based, wallet from the “select wallet to use as default” combo box
  • gpg-encrypt the XML file to keep a back-up

What about file sizes? Well, on my system, the new GPG-based wallet show a dramatic drop in file size for storing the exact same data:

/home/valentin/.kde/share/apps/kwallet
$ ll
total 80
-rw------- 1 valentin valentin 60664 Aug 15 16:54 kdewallet.kwl
-rw------- 1 valentin valentin 19329 Aug 15 18:56 testgpg.kwl

The performance difference is not noticeable. There’s only a slight lag on first GPG library initialization.

IMPORTANT NOTE: the passphrase dialog only shows once. Even if the wallet is closed after initial open, subsequent opening will occur silently during the same KDE session! That’s great news for those annoyed by the kwallet password prompt in the middle of the KDE session.

Eager to test the code? I’d be glad to hear your feedback, as this code should be thoroughly tested and reviewed before letting it go to master. I’ll soon post a review-request on the official mailing list. The code is available under the kde-runtime’s branch named kwalletd-gpg. The new features are compiled-in only if your system has QGpgme, part of kdepimlibs, which in turn requires gnupg and gpgme.

A final word: those of us who own a FSFE Fellowship Smart Card now have a new cool usage for it!

Watson

Watson, the revolutionary answering machine from IBM that beat a human in TV show Jeopardy! is build on SuSE Linux and uses lots of free software. Take a look to the keynote below. Starting from minute 10:00 a general presentation of Watson starts, then later on Grady Booch describes the architecture of the system.
It’s also described on wikipedia.

ibmrational on livestream.com. Broadcast Live Free

git cherry-pick : la cerise sur le gateau

Le nouveau syst√®me de gestion des versions cr√©√© par Linus n’a plus besoin d’√™tre pr√©sent√©. Il est tr√®s pratique et cela se voit dans sa vitesse d’adoption. Mais la petite commande “cherry-pick” me fait r√©agir. C’est trop pratique ! Elle permet de reporter un jeu de modifications d’une branche vers une autre sans passer par la case “checkout de la branche cible + fusion”. Cette commande est tellement puissante qu’il est plus long de la d√©crire que de la mettre √† l’oeuvre. Voir l’article (en anglais) que j’ai √©crit sur la techbase KDE.

Sur la nouvelle proposition de loi européenne

Une nouvelle proposition de loi europ√©enne cherche √† rendre responsables les √©diteurs de logiciels pour les d√©fauts de leurs produits. L’id√©e en soit n’est pas mauvaise et l’explication passe, comme beaucoup de fois, dans la comparaison d’un logiciel avec une voiture : dans les rares cas o√Ļ une voiture est sortie de l’usine avec un d√©faut de conception alors elle est rappel√©e pour une r√©paration sur les frais de son constructeur. Tel n’est pas le cas avec les logiciels, qui de surcroit sont “pouss√©s” sur le march√© avant m√™me que toutes les erreurs de programmation ne soient corrig√©es.
 
Mais quid des contributeurs aux logiciels libres. Que vont-ils faire ? Des contributeurs importants, tel qu’Alan Cox sont contre, mais moi j’ai l’impression que la nouvelle loi n’emp√™chera pas les passionn√©s de partager leur code. Qu’en pensez-vous ?

Faut-il vraiment des distributions Linux nationales ?

Ces derniers jours ont √©t√© marqu√©s (en plus de la crise √©conomique) par des annonces int√©ressantes c√īt√© logiciels libres. Le Cuba et la Russie ont d√©cid√©, en suivant la Chine, de se d√©faire de leur d√©pendance du syst√®me Windows, qui est, admettons-le, potentiellement dangereux lorsqu’il est largement adopt√© par une administration. Imaginez que quelqu’un, via les mises √† jour automatiques, d√©sactive d’un coup tout les ordinateurs d’un minist√®re. Par ailleurs, cet avec un coup de mise √† jour que le service Skype (concurrent de Windows Communicator) a d√©j√† √©t√© mis hors service une fois.

Mais, parce qu’il y a un mais, pourquoi donc cr√©er encore deux autres distributions Linux ? Et surtout pourquoi nationales ? Cela va, √† mon sens, √† l’encontre de l’esprit Linux qui est par excellence humain, donc sans fronti√®res. Tant les distributions orient√©es sur un domaine, telles que les distributions destin√©es aux √©tudiants d’une √©cole, ont un sens, tant les distributions orient√©es sur une nation n’ont pas de sens. L’internationalisation et la localisation des distributions sont l√† pour pour √ßa. Je ne vois pas ce que l’on pourrait y ajouter (ou enlever) de plus. A moins que je me trompe ? Qu’en pensez-vous ?

Retour à SuSE

J’ai commenc√© √† utiliser Linux il y a d√©j√† quelques ann√©es avec la distribution SuSE. Il s’agit d’une oeuvre europ√©enne qui fait face sans probl√®me aux distributions am√©ricaines.
Depuis, j’avais c√©d√© au charmes et au message d’unit√© de la distribution KUbuntu. Mais voil√† que je n’arrive pas √† installer la derni√®re version 8.10 sur mon syst√®me AMD X2 ! Je ne suis pas du tout le seul dans cette situation et il semble que cela ne se produise que sur cette distribution. L’impossibilit√© de passer √† cette nouvelle distribution devient g√™nante pour moi, car j’essaie de contribuer un peu √† KDE4.
Alors, je viens d’installer la toute nouvelle openSuSE 11.1, fournie “out of the box” avec KDE4.1 et l√†, je ne peux que la recommander ! L’installation s’est bien d√©roul√©e, la configuration de ma carte graphique a √©t√© plus facile que sous Ubuntu. Et, cerise sur le g√Ęteau, il existe des paquetages de d√©veloppement KDE4 tout pr√™ts ! Plus besoin de tout t√©l√©charger et compiler √† la main !

Inédit : CodeWeavers offre CrossOver suite à un pari

Voici l’article.

Il s’agit du patron de CodeWeavers, l’entreprise qui am√©liore Wine sous le nom de CrossOver avec le but final de nous permettre l’installation et l’ex√©cution des programmes Windows sous Linux. Il a perdu son pari avec l’administration Bush, car le prix de l’essence dans sa ville a baiss√© d’une mani√®re significative. Mais je ne vais pas vous traduire l’article, vous n’avez pas besoin, n’est-ce pas ūüôā Il est plein d’humour…

Chrome serait-il le moteur de la prochaine plate-forme ?

Voici un point de vue assez int√©ressant, √† mon sens, sur la nouvelle application Chrome. Personnellement, j’ai aussi l’impression que MS n’avait pas fait de grands efforts pour faire avancer le Web, dans lequel il n’a jamais cru. Je me rappelle bien qu’en 1998 Bill Gates disait que l’internet ne pr√©sentait aucun int√©r√™t pour les utilisateur de Windows.