[packages/signon] - new - cryptsetup patch to build with new (1.6+) cryptsetup API

qboosh qboosh at pld-linux.org
Fri Jan 24 19:09:27 CET 2014


commit ebbcaab24f291bcc94d449e6d32d31f7975b075b
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Fri Jan 24 19:10:37 2014 +0100

    - new
    - cryptsetup patch to build with new (1.6+) cryptsetup API

 signon-cryptsetup.patch | 373 ++++++++++++++++++++++++++++++++++++++++++++++++
 signon.spec             | 216 ++++++++++++++++++++++++++++
 2 files changed, 589 insertions(+)
---
diff --git a/signon.spec b/signon.spec
new file mode 100644
index 0000000..39ffa82
--- /dev/null
+++ b/signon.spec
@@ -0,0 +1,216 @@
+# TODO: qt5 version of bindings as libsignon-qt5-*
+Summary:	Single Sign On libraries and daemon
+Summary(pl.UTF-8):	Biblioteki i demon Single Sign On
+Name:		signon
+Version:	8.55
+Release:	1
+License:	LGPL v2.1
+Group:		Libraries
+#Source0Download: http://code.google.com/p/accounts-sso/downloads/list
+Source0:	http://accounts-sso.googlecode.com/files/%{name}-%{version}.tar.bz2
+# Source0-md5:	4e6092c2981d55442200cbd9263d49d2
+Patch0:		%{name}-cryptsetup.patch
+URL:		http://code.google.com/p/accounts-sso/
+BuildRequires:	QtCore-devel >= 4
+BuildRequires:	QtDBus-devel >= 4
+BuildRequires:	QtGui-devel >= 4
+BuildRequires:	QtNetwork-devel >= 4
+BuildRequires:	QtSql-devel >= 4
+BuildRequires:	QtXml-devel >= 4
+BuildRequires:	cryptsetup-devel
+BuildRequires:	doxygen
+BuildRequires:	pkgconfig
+BuildRequires:	qt4-build >= 4
+BuildRequires:	qt4-qmake >= 4
+Requires:	%{name}-libs = %{version}-%{release}
+BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+%description
+Single Sign On libraries and daemon.
+
+%description -l pl.UTF-8
+Biblioteki i demon Single Sign On.
+
+%package libs
+Summary:	Single Sign On Qt-based libraries
+Summary(pl.UTF-8):	Biblioteki Single Sign On oparte na Qt
+Group:		Libraries
+
+%description libs
+Single Sign On Qt-based libraries.
+
+%description libs -l pl.UTF-8
+Biblioteki Single Sign On oparte na Qt.
+
+%package devel
+Summary:	Development files for Single Sign On libraries
+Summary(pl.UTF-8):	Pliki programistyczne bibliotek Single Sign On
+Group:		Development/Libraries
+Requires:	%{name}-libs = %{version}-%{release}
+Requires:	QtCore-devel >= 4
+Requires:	QtDBus-devel >= 4
+Requires:	QtSql-devel >= 4
+
+%description devel
+Development files for Single Sign On libraries.
+
+%description devel -l pl.UTF-8
+Pliki programistyczne bibliotek Single Sign On.
+
+%package apidocs
+Summary:	API documentation for Single Sign On daemon and libraries
+Summary(pl.UTF-8):	Dokumentacja API demona i bibliotek Single Sign On
+Group:		Documentation
+
+%description apidocs
+API documentation for Single Sign On daemon and libraries.
+
+%description apidocs -l pl.UTF-8
+Dokumentacja API demona i bibliotek Single Sign On.
+
+%package -n libsignon-qt
+Summary:	Client library for the Single Sign On daemon - Qt 4 bindings
+Summary(pl.UTF-8):	Biblioteka kliencka demona Single Sign On - wiązania Qt 4
+Group:		Libraries
+
+%description -n libsignon-qt
+Client library for the Single Sign On daemon - Qt 4 bindings.
+
+%description -n libsignon-qt -l pl.UTF-8
+Biblioteka kliencka demona Single Sign On - wiązania Qt 4.
+
+%package -n libsignon-qt-devel
+Summary:	Header files for Single Sign On daemon Qt 4 client library
+Summary(pl.UTF-8):	Pliki nagłówkowe biblioteki klienckiej Qt 4 demona Single Sign On
+Group:		Development/Libraries
+Requires:	QtCore-devel >= 4
+Requires:	libsignon-qt = %{version}-%{release}
+
+%description -n libsignon-qt-devel
+Header files for Single Sign On daemon Qt 4 client library.
+
+%description -n libsignon-qt-devel -l pl.UTF-8
+Pliki nagłówkowe biblioteki klienckiej Qt 4 demona Single Sign On.
+
+%package -n libsignon-qt-static
+Summary:	Static libsignon-qt library
+Summary(pl.UTF-8):	Statyczna biblioteka libsignon-qt
+Group:		Development/Libraries
+Requires:	libsignon-qt-devel = %{version}-%{release}
+
+%description -n libsignon-qt-static
+Static libsignon-qt library.
+
+%description -n libsignon-qt-static -l pl.UTF-8
+Statyczna biblioteka libsignon-qt.
+
+%package -n libsignon-qt-apidocs
+Summary:	API documentation for Single Sign On daemon Qt client library
+Summary(pl.UTF-8):	Dokumentacja API biblioteki klienckiej Qt demona Single Sign On
+Group:		Documentation
+
+%description -n libsignon-qt-apidocs
+API documentation for Single Sign On daemon Qt client library.
+
+%description -n libsignon-qt-apidocs -l pl.UTF-8
+Dokumentacja API biblioteki klienckiej Qt demona Single Sign On.
+
+%prep
+%setup -q
+%patch0 -p1
+
+%build
+qmake-qt4 signon.pro \
+	CONFIG+=cryptsetup \
+	QMAKE_CXX="%{__cxx}" \
+	QMAKE_CXXFLAGS_RELEASE="%{rpmcxxflags}" \
+	QMAKE_LFLAGS_RELEASE="%{rpmldflags}"
+	
+%{__make}
+
+%install
+rm -rf $RPM_BUILD_ROOT
+
+%{__make} install \
+	INSTALL_ROOT=$RPM_BUILD_ROOT
+
+# useless symlinks
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/lib*.so.1.?
+
+install -d $RPM_BUILD_ROOT%{_docdir}/signon-apidocs-%{version} \
+	$RPM_BUILD_ROOT%{_examplesdir}/signon-%{version}
+%{__mv} $RPM_BUILD_ROOT%{_docdir}/libsignon-qt/html $RPM_BUILD_ROOT%{_docdir}/libsignon-qt-apidocs-%{version}
+%{__mv} $RPM_BUILD_ROOT%{_docdir}/signon/html $RPM_BUILD_ROOT%{_docdir}/signon-apidocs-%{version}/signon
+%{__mv} $RPM_BUILD_ROOT%{_docdir}/signon-plugins/html $RPM_BUILD_ROOT%{_docdir}/signon-apidocs-%{version}/signon-plugins
+%{__mv} $RPM_BUILD_ROOT%{_docdir}/signon-plugins-dev/example $RPM_BUILD_ROOT%{_examplesdir}/signon-%{version}/signon-plugins
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%post	libs -p /sbin/ldconfig
+%postun	libs -p /sbin/ldconfig
+
+%post	-n libsignon-qt -p /sbin/ldconfig
+%postun	-n libsignon-qt -p /sbin/ldconfig
+
+%files
+%defattr(644,root,root,755)
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/signond.conf
+%attr(755,root,root) %{_bindir}/signond
+%attr(755,root,root) %{_bindir}/signonpluginprocess
+%dir %{_libdir}/signon
+%attr(755,root,root) %{_libdir}/signon/libexampleplugin.so
+%attr(755,root,root) %{_libdir}/signon/libpasswordplugin.so
+%attr(755,root,root) %{_libdir}/signon/libssotestplugin.so
+%attr(755,root,root) %{_libdir}/signon/libssotest2plugin.so
+%dir %{_libdir}/signon/extensions
+%attr(755,root,root) %{_libdir}/signon/extensions/libcryptsetup.so
+%{_datadir}/dbus-1/services/com.google.code.AccountsSSO.SingleSignOn.service
+%{_datadir}/dbus-1/services/com.nokia.SingleSignOn.Backup.service
+
+%files libs
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libsignon-extension.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libsignon-extension.so.1
+%attr(755,root,root) %{_libdir}/libsignon-plugins-common.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libsignon-plugins-common.so.1
+
+%files devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libsignon-extension.so
+%attr(755,root,root) %{_libdir}/libsignon-plugins-common.so
+%{_libdir}/libsignon-plugins.a
+%{_includedir}/signon-extension
+%{_includedir}/signon-plugins
+%{_includedir}/signond
+%{_pkgconfigdir}/SignOnExtension.pc
+%{_pkgconfigdir}/signon-plugins.pc
+%{_pkgconfigdir}/signon-plugins-common.pc
+%{_pkgconfigdir}/signond.pc
+%{_datadir}/dbus-1/interfaces/com.google.code.AccountsSSO.SingleSignOn.AuthService.xml
+%{_datadir}/dbus-1/interfaces/com.google.code.AccountsSSO.SingleSignOn.AuthSession.xml
+%{_datadir}/dbus-1/interfaces/com.google.code.AccountsSSO.SingleSignOn.Identity.xml
+
+%files apidocs
+%defattr(644,root,root,755)
+%{_docdir}/signon-apidocs-%{version}
+%{_examplesdir}/signon-%{version}
+
+%files -n libsignon-qt
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libsignon-qt.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libsignon-qt.so.1
+
+%files -n libsignon-qt-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libsignon-qt.so
+%{_includedir}/signon-qt
+%{_pkgconfigdir}/libsignon-qt.pc
+
+%files -n libsignon-qt-static
+%defattr(644,root,root,755)
+%{_libdir}/libsignon-qt.a
+
+%files -n libsignon-qt-apidocs
+%defattr(644,root,root,755)
+%{_docdir}/libsignon-qt-apidocs-%{version}
diff --git a/signon-cryptsetup.patch b/signon-cryptsetup.patch
new file mode 100644
index 0000000..d90014a
--- /dev/null
+++ b/signon-cryptsetup.patch
@@ -0,0 +1,373 @@
+--- signon-8.55/src/extensions/cryptsetup/crypto-handlers.cpp.orig	2013-10-31 13:01:15.000000000 +0100
++++ signon-8.55/src/extensions/cryptsetup/crypto-handlers.cpp	2014-01-23 21:03:12.441998956 +0100
+@@ -26,6 +26,7 @@
+ #include <errno.h>
+ #include <fcntl.h>
+ #include <stdlib.h>
++#include <unistd.h>
+ #include <libcryptsetup.h>
+ 
+ #include <QDataStream>
+@@ -236,6 +237,31 @@ bool LosetupHandler::releaseDevice(const
+ 
+ /*  -------------------- CrytpsetupHandler implementation ------------------ */
+ 
++// no longer used or defined by libcryptsetup, but used internally
++#define MYCRYPT_FLAG_VERIFY               (1 << 0)
++#define MYCRYPT_FLAG_READONLY             (1 << 1)
++#define MYCRYPT_FLAG_VERIFY_IF_POSSIBLE   (1 << 2)
++#define MYCRYPT_FLAG_VERIFY_ON_DELKEY     (1 << 3)
++#define MYCRYPT_FLAG_NON_EXCLUSIVE_ACCESS (1 << 4)
++
++struct my_crypt_options {
++	const char *name;
++	const char *device;
++	const char *cipher;
++	const char *hash;
++	const char *key_file;
++	const char *new_key_file;
++	int key_size;
++	unsigned int flags;
++	int key_slot;
++	uint64_t iteration_time;
++	uint64_t timeout;
++	size_t align_payload;
++	int tries;
++	int (*icb_yesDialog)(char *msg);
++	void (*icb_log)(int klass, char *msg);
++};
++
+ /*
+     Callbacks for the interface callbacks struct in crypt_options struct.
+ */
+@@ -272,28 +298,29 @@ static int yesDialog_wrapper(const char
+     return xyesDialog((char*)msg);
+ }
+ 
+-int crypt_luksFormatBinary(struct crypt_options *options,
++int crypt_luksFormatBinary(struct my_crypt_options *options,
+                            const char *pwd,
+                            unsigned int pwdLen)
+ {
+     struct crypt_device *cd = NULL;
+     struct crypt_params_luks1 cp = {
+         options->hash,
+-        options->align_payload
++        options->align_payload,
++	NULL
+     };
+     int r;
+ 
+     if ((r = crypt_init(&cd, options->device)))
+         return -EINVAL;
+ 
+-    crypt_set_log_callback(cd, log_wrapper, (void*) options->icb->log);
++    crypt_set_log_callback(cd, log_wrapper, (void*) options->icb_log);
+     crypt_set_confirm_callback(cd, yesDialog_wrapper,
+-                               (void*) options->icb->yesDialog);
++                               (void*) options->icb_yesDialog);
+ 
+     crypt_set_timeout(cd, options->timeout);
+     crypt_set_password_retry(cd, options->tries);
+     crypt_set_iterarion_time(cd, options->iteration_time ?: 1000);
+-    crypt_set_password_verify(cd, options->flags & CRYPT_FLAG_VERIFY);
++    crypt_set_password_verify(cd, options->flags & MYCRYPT_FLAG_VERIFY);
+ 
+     r = crypt_format(cd, CRYPT_LUKS1,
+                      SIGNON_LUKS_CIPHER_NAME, SIGNON_LUKS_CIPHER_MODE,
+@@ -313,7 +340,7 @@ out:
+ bool CryptsetupHandler::formatFile(const QByteArray &key,
+                                    const QString &deviceName)
+ {
+-    struct crypt_options options;
++    struct my_crypt_options options;
+ 
+     options.key_size = SIGNON_LUKS_KEY_SIZE / 8;
+     options.key_slot = SIGNON_LUKS_BASE_KEYSLOT;
+@@ -336,10 +363,8 @@ bool CryptsetupHandler::formatFile(const
+     options.timeout = 0;
+     options.align_payload = 0;
+ 
+-    static struct interface_callbacks cmd_icb;
+-    cmd_icb.yesDialog = 0;
+-    cmd_icb.log = 0;
+-    options.icb = &cmd_icb;
++    options.icb_yesDialog = 0;
++    options.icb_log = 0;
+ 
+     TRACE() << "Device: [" << options.device << "]";
+     TRACE() << "Key size:" << key.length();
+@@ -360,7 +385,7 @@ bool CryptsetupHandler::formatFile(const
+     return (ret == 0);
+ }
+ 
+-int crypt_luksOpenBinary(struct crypt_options *options,
++int crypt_luksOpenBinary(struct my_crypt_options *options,
+                          const char *pwd, unsigned int pwdLen)
+ {
+     struct crypt_device *cd = NULL;
+@@ -370,24 +395,24 @@ int crypt_luksOpenBinary(struct crypt_op
+     if ((r = crypt_init(&cd, options->device)))
+         return -EINVAL;
+ 
+-    crypt_set_log_callback(cd, log_wrapper, (void*) options->icb->log);
++    crypt_set_log_callback(cd, log_wrapper, (void*) options->icb_log);
+     crypt_set_confirm_callback(cd, yesDialog_wrapper,
+-                               (void*) options->icb->yesDialog);
++                               (void*) options->icb_yesDialog);
+ 
+     crypt_set_timeout(cd, options->timeout);
+     crypt_set_password_retry(cd, options->tries);
+     crypt_set_iterarion_time(cd, options->iteration_time ?: 1000);
+-    crypt_set_password_verify(cd, options->flags & CRYPT_FLAG_VERIFY);
++    crypt_set_password_verify(cd, options->flags & MYCRYPT_FLAG_VERIFY);
+ 
+     if ((r = crypt_load(cd, CRYPT_LUKS1, NULL))) {
+         crypt_free(cd);
+         return r;
+     }
+ 
+-    if (options->flags & CRYPT_FLAG_READONLY)
++    if (options->flags & MYCRYPT_FLAG_READONLY)
+         flags |= CRYPT_ACTIVATE_READONLY;
+ 
+-    if (options->flags & CRYPT_FLAG_NON_EXCLUSIVE_ACCESS)
++    if (options->flags & MYCRYPT_FLAG_NON_EXCLUSIVE_ACCESS)
+         flags |= CRYPT_ACTIVATE_NO_UUID;
+ 
+     if (options->key_file)
+@@ -405,7 +430,7 @@ bool CryptsetupHandler::openFile(const Q
+                                  const QString &deviceName,
+                                  const QString &deviceMap)
+ {
+-    struct crypt_options options;
++    struct my_crypt_options options;
+ 
+     char *localDeviceMap = (char *)malloc(deviceMap.length() + 1);
+     Q_ASSERT(localDeviceMap != NULL);
+@@ -433,10 +458,8 @@ bool CryptsetupHandler::openFile(const Q
+     options.tries = 0;
+     options.flags = 0;
+ 
+-    static struct interface_callbacks cmd_icb;
+-    cmd_icb.yesDialog = yesDialog;
+-    cmd_icb.log = cmdLineLog;
+-    options.icb = &cmd_icb;
++    options.icb_yesDialog = yesDialog;
++    options.icb_log = cmdLineLog;
+ 
+     TRACE() << "Device [" << options.device << "]";
+     TRACE() << "Map name [" << options.name << "]";
+@@ -461,23 +484,34 @@ bool CryptsetupHandler::openFile(const Q
+     return (ret == 0);
+ }
+ 
++int crypt_removeDevice(struct my_crypt_options *options)
++{
++    struct crypt_device *cd = NULL;
++
++    int r;
++
++    if ((r = crypt_init_by_name(&cd, options->name)))
++        return -EINVAL;
++    r = crypt_deactivate(cd, options->name);
++    crypt_free(cd);
++    return r;
++}
++
+ bool CryptsetupHandler::closeFile(const QString &deviceMap)
+ {
+-    struct crypt_options options;
++    struct my_crypt_options options;
+ 
+     char *localDeviceMap = (char *)malloc(deviceMap.length() + 1);
+     Q_ASSERT(localDeviceMap != NULL);
+     strcpy(localDeviceMap, deviceMap.toLatin1().constData());
+     options.name = localDeviceMap;
+ 
+-    static struct interface_callbacks cmd_icb;
+-    cmd_icb.yesDialog = yesDialog;
+-    cmd_icb.log = cmdLineLog;
+-    options.icb = &cmd_icb;
++    options.icb_yesDialog = yesDialog;
++    options.icb_log = cmdLineLog;
+ 
+     TRACE() << "Map name [" << options.name << "]";
+ 
+-    int ret = crypt_remove_device(&options);
++    int ret = crypt_removeDevice(&options);
+ 
+     if (ret != 0)
+         TRACE() << "Cryptsetup remove API call result:" << ret <<
+@@ -496,7 +530,7 @@ bool CryptsetupHandler::removeFile(const
+     return false;
+ }
+ 
+-int crypt_luksAddKeyBinary(struct crypt_options *options,
++int crypt_luksAddKeyBinary(struct my_crypt_options *options,
+                            const char *pwd, unsigned int pwdLen,
+                            const char *newPwd, unsigned int newPwdLen)
+ {
+@@ -506,14 +540,14 @@ int crypt_luksAddKeyBinary(struct crypt_
+     if ((r = crypt_init(&cd, options->device)))
+         return -EINVAL;
+ 
+-    crypt_set_log_callback(cd, log_wrapper, (void*) options->icb->log);
++    crypt_set_log_callback(cd, log_wrapper, (void*) options->icb_log);
+     crypt_set_confirm_callback(cd, yesDialog_wrapper,
+-                               (void*) options->icb->yesDialog);
++                               (void*) options->icb_yesDialog);
+ 
+     crypt_set_timeout(cd, options->timeout);
+     crypt_set_password_retry(cd, options->tries);
+     crypt_set_iterarion_time(cd, options->iteration_time ?: 1000);
+-    crypt_set_password_verify(cd, options->flags & CRYPT_FLAG_VERIFY);
++    crypt_set_password_verify(cd, options->flags & MYCRYPT_FLAG_VERIFY);
+ 
+     if ((r = crypt_load(cd, CRYPT_LUKS1, NULL))) {
+         crypt_free(cd);
+@@ -534,7 +568,7 @@ bool CryptsetupHandler::addKeySlot(const
+                                    const QByteArray &key,
+                                    const QByteArray &existingKey)
+ {
+-    struct crypt_options options;
++    struct my_crypt_options options;
+ 
+     options.key_size = SIGNON_LUKS_KEY_SIZE / 8;
+     options.cipher = SIGNON_LUKS_CIPHER;
+@@ -553,10 +587,8 @@ bool CryptsetupHandler::addKeySlot(const
+     options.timeout = 0;
+     options.tries = 0;
+ 
+-    static struct interface_callbacks cmd_icb;
+-    cmd_icb.yesDialog = yesDialog;
+-    cmd_icb.log = cmdLineLog;
+-    options.icb = &cmd_icb;
++    options.icb_yesDialog = yesDialog;
++    options.icb_log = cmdLineLog;
+ 
+     int ret = crypt_luksAddKeyBinary(&options,
+                                      existingKey.constData(),
+@@ -573,7 +605,9 @@ bool CryptsetupHandler::addKeySlot(const
+     return (ret == 0);
+ }
+ 
+-int crypt_luksRemoveKeyBinary(struct crypt_options *options,
++#if 0
++// there is no passphrase -> keyslot function in cryptsetup 1.6+
++int crypt_luksRemoveKeyBinary(struct my_crypt_options *options,
+                               const char *pwdToRemove,
+                               unsigned int pwdToRemoveLen)
+ {
+@@ -584,14 +618,14 @@ int crypt_luksRemoveKeyBinary(struct cry
+     if ((r = crypt_init(&cd, options->device)))
+         return -EINVAL;
+ 
+-    crypt_set_log_callback(cd, log_wrapper, (void*) options->icb->log);
++    crypt_set_log_callback(cd, log_wrapper, (void*) options->icb_log);
+     crypt_set_confirm_callback(cd, yesDialog_wrapper,
+-                               (void*) options->icb->yesDialog);
++                               (void*) options->icb_yesDialog);
+ 
+     crypt_set_timeout(cd, options->timeout);
+     crypt_set_password_retry(cd, options->tries);
+     crypt_set_iterarion_time(cd, options->iteration_time ?: 1000);
+-    crypt_set_password_verify(cd, options->flags & CRYPT_FLAG_VERIFY);
++    crypt_set_password_verify(cd, options->flags & MYCRYPT_FLAG_VERIFY);
+ 
+     if ((r = crypt_load(cd, CRYPT_LUKS1, NULL))) {
+         crypt_free(cd);
+@@ -615,7 +649,7 @@ bool CryptsetupHandler::removeKeySlot(co
+                                       const QByteArray &key,
+                                       const QByteArray &remainingKey)
+ {
+-    struct crypt_options options;
++    struct my_crypt_options options;
+ 
+     options.key_size = SIGNON_LUKS_KEY_SIZE / 8;
+     options.cipher = SIGNON_LUKS_CIPHER;
+@@ -632,10 +666,8 @@ bool CryptsetupHandler::removeKeySlot(co
+     options.flags = 0;
+     options.timeout = 0;
+ 
+-    static struct interface_callbacks cmd_icb;
+-    cmd_icb.yesDialog = yesDialog;
+-    cmd_icb.log = cmdLineLog;
+-    options.icb = &cmd_icb;
++    options.icb_yesDialog = yesDialog;
++    options.icb_log = cmdLineLog;
+ 
+     int ret = crypt_luksRemoveKeyBinary(&options, key.constData(), key.length());
+ 
+@@ -648,6 +680,7 @@ bool CryptsetupHandler::removeKeySlot(co
+ 
+     return (ret == 0);
+ }
++#endif
+ 
+ bool CryptsetupHandler::loadDmMod()
+ {
+--- signon-8.55/src/extensions/cryptsetup/crypto-handlers.h.orig	2013-10-31 13:01:15.000000000 +0100
++++ signon-8.55/src/extensions/cryptsetup/crypto-handlers.h	2014-01-23 21:24:59.128610786 +0100
+@@ -241,6 +241,7 @@ struct CryptsetupHandler
+                            const QByteArray &key,
+                            const QByteArray &existingKey);
+ 
++#if 0
+     /*!
+      * Removes a key ocupying an encryption header slot
+      * @param  deviceName, name of the device.
+@@ -251,6 +252,7 @@ struct CryptsetupHandler
+     static bool removeKeySlot(const QString &deviceName,
+                               const QByteArray &key,
+                               const QByteArray &remainingKey);
++#endif
+ 
+     /*!
+      * Loads the `dm_mod` kernel module
+--- signon-8.55/src/extensions/cryptsetup/crypto-manager.cpp.orig	2013-10-31 13:01:15.000000000 +0100
++++ signon-8.55/src/extensions/cryptsetup/crypto-manager.cpp	2014-01-23 21:31:33.931927551 +0100
+@@ -452,6 +452,7 @@ bool CryptoManager::addEncryptionKey(con
+     return false;
+ }
+ 
++#if 0
+ bool CryptoManager::removeEncryptionKey(const SignOn::Key &key,
+                                         const SignOn::Key &remainingKey)
+ {
+@@ -466,6 +467,7 @@ bool CryptoManager::removeEncryptionKey(
+         "header.";
+     return false;
+ }
++#endif
+ 
+ bool CryptoManager::encryptionKeyInUse(const SignOn::Key &key)
+ {
+--- signon-8.55/src/extensions/cryptsetup/crypto-manager.h.orig	2013-10-31 13:01:15.000000000 +0100
++++ signon-8.55/src/extensions/cryptsetup/crypto-manager.h	2014-01-23 21:31:01.741928902 +0100
+@@ -146,6 +146,7 @@ public:
+     bool addEncryptionKey(const SignOn::Key &key,
+                           const SignOn::Key &existingKey);
+ 
++#if 0
+     /*!
+      * Releases an existing used keyslot in the LUKS partition's header.
+      * @param key The key to be removed.
+@@ -155,6 +156,7 @@ public:
+      */
+     bool removeEncryptionKey(const SignOn::Key &key,
+                              const SignOn::Key &remainingKey);
++#endif
+ 
+ private:
+     bool setFileSystemType(const QString &type);
+--- signon-8.55/src/extensions/cryptsetup/misc.cpp.orig	2013-10-31 13:01:15.000000000 +0100
++++ signon-8.55/src/extensions/cryptsetup/misc.cpp	2014-01-23 21:16:57.151964347 +0100
+@@ -25,6 +25,7 @@
+ 
+ extern "C" {
+     #include <errno.h>
++    #include <unistd.h>
+     #include <sys/stat.h>
+ }
+ 
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/signon.git/commitdiff/ebbcaab24f291bcc94d449e6d32d31f7975b075b



More information about the pld-cvs-commit mailing list