summaryrefslogtreecommitdiffstats
path: root/opensuse/tdebase/media-cryptosupport.diff
diff options
context:
space:
mode:
authorRobert Xu <robxu9@gmail.com>2011-08-24 17:26:04 -0400
committerRobert Xu <robxu9@gmail.com>2011-08-24 17:26:04 -0400
commit93c66bf8bb8ac0124ae1800cbaaeb814742bfac5 (patch)
tree2551422a7981b35684110fae090223b7a1b6d73f /opensuse/tdebase/media-cryptosupport.diff
parent425774d7d1d663e08bb06050924f2eeca9147bba (diff)
downloadtde-packaging-93c66bf8bb8ac0124ae1800cbaaeb814742bfac5.tar.gz
tde-packaging-93c66bf8bb8ac0124ae1800cbaaeb814742bfac5.zip
dbus-1-tqt -> libdbus-tqt-1-0 AND tdelibs import (unchanged)
Diffstat (limited to 'opensuse/tdebase/media-cryptosupport.diff')
-rw-r--r--opensuse/tdebase/media-cryptosupport.diff31
1 files changed, 31 insertions, 0 deletions
diff --git a/opensuse/tdebase/media-cryptosupport.diff b/opensuse/tdebase/media-cryptosupport.diff
new file mode 100644
index 000000000..e9b4fb58d
--- /dev/null
+++ b/opensuse/tdebase/media-cryptosupport.diff
@@ -0,0 +1,31 @@
+Index: kioslave/media/mediamanager/halbackend.cpp
+===================================================================
+--- kioslave/media/mediamanager/halbackend.cpp.orig
++++ kioslave/media/mediamanager/halbackend.cpp
+@@ -214,10 +214,26 @@ void HALBackend::AddDevice(const char *u
+ {
+ /* We only list volume that have a filesystem or volume that have an audio track*/
+ if ( libhal_device_get_property_QString(m_halContext, udi, "volume.fsusage") != "filesystem" &&
++ libhal_device_get_property_QString(m_halContext, udi, "volume.fsusage") != "crypto" &&
+ !libhal_device_get_property_bool(m_halContext, udi, "volume.disc.has_audio", NULL) &&
+ !libhal_device_get_property_bool(m_halContext, udi, "volume.disc.is_blank", NULL) )
+ return;
+
++ /* For crypto_LUKS devices check its dm-device, if it is already mounted*/
++ if ( libhal_device_get_property_QString(m_halContext, udi, "volume.fstype") == "crypto_LUKS" &&
++ !libhal_device_get_property_bool(m_halContext, udi, "volume.ignore", NULL) ) {
++ int num;
++ char **dm_uuid = libhal_manager_find_device_string_match(m_halContext, "volume.crypto_luks.clear.backing_volume",udi,&num,NULL);
++ /* if a dm device is found the volume is already decrypted */
++ if (num == 0) {
++ // TODO: Check for kryptomedia binary.
++ KProcess proc;
++ proc << "kryptomedia" << udi;
++ proc.start(KProcess::DontCare);
++ return;
++ }
++ }
++
+ /* Query drive udi */
+ QString driveUdi = libhal_device_get_property_QString(m_halContext, udi, "block.storage_device");
+ if ( driveUdi.isNull() ) // no storage - no fun