rev 5344 - in branches/etch/packages/kdelibs/debian: . patches

Josh Metzler jdmetz-guest at alioth.debian.org
Wed Jan 17 16:01:12 CET 2007


Author: jdmetz-guest
Date: 2007-01-17 16:01:11 +0100 (Wed, 17 Jan 2007)
New Revision: 5344

Added:
   branches/etch/packages/kdelibs/debian/patches/44_sync_kwallet_changes.diff
Modified:
   branches/etch/packages/kdelibs/debian/changelog
Log:
Sync all kwallet changes immediately to avoid losing passwords

Modified: branches/etch/packages/kdelibs/debian/changelog
===================================================================
--- branches/etch/packages/kdelibs/debian/changelog	2007-01-17 14:31:26 UTC (rev 5343)
+++ branches/etch/packages/kdelibs/debian/changelog	2007-01-17 15:01:11 UTC (rev 5344)
@@ -4,8 +4,13 @@
   * Add libc6-dbg to kdelibs-dbg dependencies on amd64. It seems to be
     needed to get a useful backtrace from drkonqi on this arch.
 
- -- Debian Qt/KDE Maintainers <debian-qt-kde at lists.debian.org>  Sun, 31 Dec 2006 18:43:34 +0200
+  +++ Changes by Josh Metzler:
+  * Add 44_sync_kwallet_changes to make kwallet write changes to disk
+    immediately, avoiding losing passwords if kwallet doesn't shutdown
+    cleanly.  (Closes: #407272)
 
+ -- Debian Qt/KDE Maintainers <debian-qt-kde at lists.debian.org>  Wed, 17 Jan 2007 09:55:20 -0500
+
 kdelibs (4:3.5.5a.dfsg.1-5) unstable; urgency=low
 
   +++ Changes by Sune Vuorela:

Added: branches/etch/packages/kdelibs/debian/patches/44_sync_kwallet_changes.diff
===================================================================
--- branches/etch/packages/kdelibs/debian/patches/44_sync_kwallet_changes.diff	2007-01-17 14:31:26 UTC (rev 5343)
+++ branches/etch/packages/kdelibs/debian/patches/44_sync_kwallet_changes.diff	2007-01-17 15:01:11 UTC (rev 5344)
@@ -0,0 +1,106 @@
+--- kdelibs-3.5.5a.dfsg.1/kio/misc/kwalletd/kwalletd.cpp	2006-10-01 13:33:33.000000000 -0400
++++ kdelibs-3.5.5a.dfsg.1/kio/misc/kwalletd/kwalletd.cpp	2007-01-17 09:50:00.000000000 -0500
+@@ -829,6 +829,12 @@
+ 
+ 	if ((b = getWallet(friendlyDCOPPeerName(), handle))) {
+ 		bool rc = b->removeFolder(f);
++		// write changes to disk immediately
++		QByteArray p;
++		QString wallet = b->walletName();
++		p.duplicate(_passwords[wallet].data(), _passwords[wallet].length());
++		b->sync(p);
++		p.fill(0);
+ 		QByteArray data;
+ 		QDataStream ds(data, IO_WriteOnly);
+ 		ds << b->walletName();
+@@ -845,6 +851,12 @@
+ 
+ 	if ((b = getWallet(friendlyDCOPPeerName(), handle))) {
+ 		bool rc = b->createFolder(f);
++		// write changes to disk immediately
++		QByteArray p;
++		QString wallet = b->walletName();
++		p.duplicate(_passwords[wallet].data(), _passwords[wallet].length());
++		b->sync(p);
++		p.fill(0);
+ 		QByteArray data;
+ 		QDataStream ds(data, IO_WriteOnly);
+ 		ds << b->walletName();
+@@ -987,6 +999,12 @@
+ 		e.setValue(value);
+ 		e.setType(KWallet::Wallet::Map);
+ 		b->writeEntry(&e);
++		// write changes to disk immediately
++		QByteArray p;
++		QString wallet = b->walletName();
++		p.duplicate(_passwords[wallet].data(), _passwords[wallet].length());
++		b->sync(p);
++		p.fill(0);
+ 		emitFolderUpdated(b->walletName(), folder);
+ 		return 0;
+ 	}
+@@ -1005,6 +1023,12 @@
+ 		e.setValue(value);
+ 		e.setType(KWallet::Wallet::EntryType(entryType));
+ 		b->writeEntry(&e);
++		// write changes to disk immediately
++		QByteArray p;
++		QString wallet = b->walletName();
++		p.duplicate(_passwords[wallet].data(), _passwords[wallet].length());
++		b->sync(p);
++		p.fill(0);
+ 		emitFolderUpdated(b->walletName(), folder);
+ 		return 0;
+ 	}
+@@ -1023,6 +1047,12 @@
+ 		e.setValue(value);
+ 		e.setType(KWallet::Wallet::Stream);
+ 		b->writeEntry(&e);
++		// write changes to disk immediately
++		QByteArray p;
++		QString wallet = b->walletName();
++		p.duplicate(_passwords[wallet].data(), _passwords[wallet].length());
++		b->sync(p);
++		p.fill(0);
+ 		emitFolderUpdated(b->walletName(), folder);
+ 		return 0;
+ 	}
+@@ -1041,6 +1071,12 @@
+ 		e.setValue(value);
+ 		e.setType(KWallet::Wallet::Password);
+ 		b->writeEntry(&e);
++		// write changes to disk immediately
++		QByteArray p;
++		QString wallet = b->walletName();
++		p.duplicate(_passwords[wallet].data(), _passwords[wallet].length());
++		b->sync(p);
++		p.fill(0);
+ 		emitFolderUpdated(b->walletName(), folder);
+ 		return 0;
+ 	}
+@@ -1090,6 +1126,12 @@
+ 		}
+ 		b->setFolder(folder);
+ 		bool rc = b->removeEntry(key);
++		// write changes to disk immediately
++		QByteArray p;
++		QString wallet = b->walletName();
++		p.duplicate(_passwords[wallet].data(), _passwords[wallet].length());
++		b->sync(p);
++		p.fill(0);
+ 		emitFolderUpdated(b->walletName(), folder);
+ 		return rc ? 0 : -3;
+ 	}
+@@ -1183,6 +1225,12 @@
+ 	if ((b = getWallet(friendlyDCOPPeerName(), handle))) {
+ 		b->setFolder(folder);
+ 		int rc = b->renameEntry(oldName, newName);
++		// write changes to disk immediately
++		QByteArray p;
++		QString wallet = b->walletName();
++		p.duplicate(_passwords[wallet].data(), _passwords[wallet].length());
++		b->sync(p);
++		p.fill(0);
+ 		emitFolderUpdated(b->walletName(), folder);
+ 		return rc;
+ 	}




More information about the pkg-kde-commits mailing list