From 93c66bf8bb8ac0124ae1800cbaaeb814742bfac5 Mon Sep 17 00:00:00 2001 From: Robert Xu Date: Wed, 24 Aug 2011 17:26:04 -0400 Subject: dbus-1-tqt -> libdbus-tqt-1-0 AND tdelibs import (unchanged) --- opensuse/tdebase/media-cryptosupport.diff | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 opensuse/tdebase/media-cryptosupport.diff (limited to 'opensuse/tdebase/media-cryptosupport.diff') 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 -- cgit v1.2.1