I have made the following changes intended for :
  CE:MW:Shared / libsignon
  CE:MW:Shared / cryptsetup-luks

Please review and accept or decline.
BOSS has already run some checks on this request.
See the "Messages from BOSS" section below.

https://build.pub.meego.com//request/show/7039

Thank You,
Marko Saukko

[This message was auto-generated]

---

Request # 7039:

Messages from BOSS:

State: review at 2012-10-16T14:39:26 by bossbot

Reviews:
       accepted by bossbot : Prechecks succeeded.
       new for CE-maintainers : Please replace this text with a review and 
approve/reject the review (not the SR). BOSS will take care of the rest

Changes:
  submit: Project:MTF:MW / libsignon -> CE:MW:Shared / libsignon
  
changes files:
--------------

++++++ new changes file:
--- libsignon.changes
+++ libsignon.changes
@@ -0,0 +1,64 @@
+* Tue Oct 16 2012 Bernd Wachter <[email protected]> - 8.43
+- Update to latest upstream
+- Clean up package dependencies
+- Add 0001-include-QDebug-to-remotepluginprocess.patch (will be in 8.44)
+
+* Mon Jun 06 2011 Alberto Mardegan <[email protected]> - 8.33
+- Update to latest upstream release
+  + Make dependency on MSSF optional
+  + libsignon-qt: do not make blocking D-Bus calls (BMC#18654)
+  + Move the SIm key authorizer out of the source tree
+  + Key authorizers are now dynamically loadable plugins
+
+* Mon May 02 2011 Alberto Mardegan <[email protected]> - 8.16
+- Update to latest upstream release
+- Do not store encrypted passwords into the SSO DB (BMC#12429)
+- Fix SQL injection vulnerability (BMC#12424)
+- Use MSSF to encrypt D-Bus traffic (BMC#12430)
+- Check peer credentials on AuthSession methods (BMC#12427)
+- Ensure caller of setId() is authorized to use Identity (BMC#12570)
+- Enforce authentication method/mechanism restrictions (BMC#12425)
+- Use MSSF to encrypt signond<->plugin communication (BMC#12435)
+
+* Fri Feb 04 2011 Paolo Capriotti <[email protected]> - 7.2
+- Update to latest upstream version (fixes BMC#13264)
+
+* Thu Jan 27 2011 bart Cerneels <[email protected]> - 6.6
+- Update to latest upstream version (fixes BMC#12974)
+
+* Mon Jan 03 2011 Paolo Capriotti <[email protected]> - 6.1
+- Update to latest upstream version (fixes BMC#11920)
+
+* Tue Nov 23 2010 Alberto Mardegan <[email protected]> - 5.6
+- Fixes: BMC#10782 - Provide more recent version of signon
+- Update to latest upstream release (version 2.0 is now 4 months old)
+- Added named references into Identity API
+- Add configuration file for signond.
+- New libsignon-extentions library for signond plugins
+- Split the credentials DB into a metadata DB and a secrets DB
+
+* Tue Oct 05 2010 Bernd Wachter <[email protected]> - 2.0
+- change qt-devel to pkgconfig(QtCore)
+- add dbus-1 dependency to fix generation of backupifadaptor.h
+
+* Thu Sep 23 2010 Bernd Wachter <[email protected]> - 2.0
+- Change testrunner to testrunner-lite, fixing BMC#6964
+
+* Fri Aug 27 2010 Bernd Wachter <[email protected]> - 2.0
+- Add static library required for linking plugins
+
+* Wed Aug 11 2010 Kaitlin Rupert <[email protected]> - 2.0
+- mkspec files now install to /usr/share due to Qt beta2 update
+
+* Mon Aug 02 2010 Bernd Wachter <[email protected]> - 2.0
+- Update to latest upstream version
+
+* Fri Jul 30 2010 Bernd Wachter <[email protected]> - 1.9
+- Update to latest upstream version
+- Update to newer cryptsetup, remove cellular-qt dependency
+
+* Wed May 05 2010 Bernd Wachter <[email protected]> - 0.1.16
+- Updated to latest harmattan version
+
+* Mon Apr 26 2010 Bernd Wachter - 0.1.14-1+0m6
+- Initial RPM release

new:
----
  0001-include-QDebug-to-remotepluginprocess.patch
  libsignon.changes
  libsignon.spec
  signon-8.43.tar.bz2

spec files:
-----------

++++++ new spec file:
--- libsignon.spec
+++ libsignon.spec
@@ -0,0 +1,146 @@
+%define _name signon
+Name: libsignon
+Version: 8.43
+Release: 1
+Summary: Single Sign On framework
+Group: System/Libraries
+License: LGPLv2.1
+URL: http://gitorious.org/accounts-sso/signon
+Source0: http://accounts-sso.googlecode.com/files/%{_name}-%{version}.tar.bz2
+BuildRequires: doxygen
+#BuildRequires: graphviz
+BuildRequires: pkgconfig(QtCore)
+BuildRequires: libcreds2-devel
+BuildRequires: pkgconfig(dbus-1)
+BuildRequires: pkgconfig(libcryptsetup)
+BuildRequires: pkgconfig(accounts-qt)
+BuildRequires: fdupes
+# TODO: - check if it makes sense to have signoncrypto-functionality (encrypted
+#         dbus messages); if so, we'd need to reintroduce the functionality in
+#         signon, as it has been removed recently
+#BuildRequires: pkgconfig(libsignoncrypto-qt)
+#BuildRequires: pkgconfig(libcrypto)
+#       - add support for pacrunner (NEMO#524)
+#       - check if we have usable testcases
+Patch0: 0001-include-QDebug-to-remotepluginprocess.patch
+
+%description
+%{summary}.
+
+%files
+%defattr(-,root,root,-)
+%{_bindir}/*
+%{_libdir}/*.so.*
+%{_datadir}/dbus-1/services/*
+# is in exampleplugin
+%exclude %{_bindir}/signonclient
+%config %{_sysconfdir}/signond.conf
+%{_libdir}/signon/extensions/libcryptsetup.so
+
+
+%package testplugin
+Summary: Single Sign On test plugins
+Group: System/Libraries
+Requires: %{name} = %{version}-%{release}
+
+%description testplugin
+%{summary}
+
+%files testplugin
+%defattr(-,root,root,-)
+%{_libdir}/%{_name}/libssotest*.so
+
+
+%package passwordplugin
+Summary: Plain Password plugin for Single Sign On
+Group: System/Libraries
+Requires: %{name} = %{version}-%{release}
+
+%description passwordplugin
+%{summary}
+
+%files passwordplugin
+%defattr(-,root,root,-)
+%{_libdir}/%{_name}/libpasswordplugin.so
+
+
+%package exampleplugin
+Summary: Single Sign On example client
+Group: System/Libraries
+Requires: %{name} = %{version}-%{release}
+
+%description exampleplugin
+%{summary}
+
+%files exampleplugin
+%defattr(-,root,root,-)
+%{_libdir}/%{_name}/libexampleplugin.so
+%{_bindir}/signonclient
+
+
+%package devel
+Summary: Development files for signon
+Group: Development/Libraries
+Requires: %{name} = %{version}-%{release}
+
+%description devel
+%{summary}
+
+%files devel
+%defattr(-,root,root,-)
+%{_includedir}/*
+%{_libdir}/*.so
+%{_libdir}/libsignon-plugins.a
+%exclude %{_libdir}/libsignon-qt.a
+%{_libdir}/pkgconfig/*
+%{_datadir}/qt4/mkspecs/*
+%{_datadir}/dbus-1/interfaces/*
+
+
+%package doc
+Summary: Documentation for signon
+Group: Documentation
+
+%description doc
+Doxygen-generated HTML documentation for the signon.
+
+%files doc
+%defattr(-,root,root,-)
+%{_docdir}/signon/*
+%{_docdir}/signon-plugins-dev/*
+%{_docdir}/signon-plugins/*
+
+
+%package qt-doc
+Summary: Documentation for signon-qt
+Group: Documentation
+
+%description qt-doc
+Doxygen-generated HTML documentation for the signon-qt
+
+%files qt-doc
+%defattr(-,root,root,-)
+%{_docdir}/libsignon-qt/*
+%{_docdir}/libsignon-qt-dev/*
+
+
+%prep
+%setup -q -n %{_name}-%{version}
+%patch0 -p1
+
+%build
+qmake %{_name}.pro
+make
+
+
+%install
+make INSTALL_ROOT=%{buildroot} install
+rm -f %{buildroot}/%{_docdir}/libsignon-qt/html/installdox
+rm -f %{buildroot}/%{_docdir}/signon/html/installdox
+rm -f %{buildroot}/%{_docdir}/signon-plugins/html/installdox
+rm -f %{buildroot}/%{_docdir}/saslplugin/html/installdox
+%fdupes %{buildroot}/%{_docdir}
+
+
+%post -p /sbin/ldconfig
+%postun -p /sbin/ldconfig

other changes:
--------------

++++++ 0001-include-QDebug-to-remotepluginprocess.patch (new)
--- 0001-include-QDebug-to-remotepluginprocess.patch
+++ 0001-include-QDebug-to-remotepluginprocess.patch
@@ -0,0 +1,27 @@
+From 028b83b9d97582387635d19ad172e9e2e3ed712e Mon Sep 17 00:00:00 2001
+From: Reto Zingg <[email protected]>
+Date: Tue, 2 Oct 2012 14:24:30 +0300
+Subject: [PATCH] include QDebug to remotepluginprocess
+
+Build is failing otherwise with:
+error: invalid use of incomplete type 'struct QDebug'
+---
+ src/remotepluginprocess/debug.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/remotepluginprocess/debug.h b/src/remotepluginprocess/debug.h
+index 3b22e01..5328b01 100644
+--- a/src/remotepluginprocess/debug.h
++++ b/src/remotepluginprocess/debug.h
+@@ -23,6 +23,8 @@
+ #ifndef REMOTEPLUGINPROCESS_DEBUG_H
+ #define REMOTEPLUGINPROCESS_DEBUG_H
+ 
++#include <QDebug>
++
+ #ifdef DEBUG_ENABLED
+     extern int debugLevel;
+ 
+-- 
+1.7.12.3
+

++++++ signon-8.43.tar.bz2 (new)

  submit: Project:MTF:MW / cryptsetup-luks -> CE:MW:Shared / cryptsetup-luks
  
changes files:
--------------

++++++ new changes file:
--- cryptsetup-luks.changes
+++ cryptsetup-luks.changes
@@ -0,0 +1,31 @@
+* Tue Jun 28 2011 Chris Ferron <[email protected]> - 1.1.3
+- PACKAGE CLEANUP - Removed unnecessary Obsoletes and Provides cryptsetup as 
there is no other packages that Requires or Provides them. 
+
+* Tue Apr 19 2011 Anas Nashif <[email protected]> - 1.1.3
+- Install pkgconfig file into /usr/lib/pkgconfig, not /lib/pkgconfig
+
+* Fri Jul 30 2010 Bernd Wachter <[email protected]> - 1.1.3
+- Add crypt_keyslot_by_passphrase.patch required for signon
+- Remove obsolete cryptsetup-prompt.patch
+
+* Wed Jul 28 2010 Bernd Wachter <[email protected]> - 1.1.3
+- Use the simplified patch sent to upstream
+- Remove explicit gcrypt dependency on -devel
+
+* Mon Jul 26 2010 Bernd Wachter <[email protected]> - 1.1.3
+- Update to 1.1.3
+- Add patch to port cryptsetup-maemo changes to latest cryptsetup
+- Switch to openssl as crypt backend
+
+* Wed Jan 27 2010 Passion Zhao <[email protected]> - 1.1.0-1
+- Update to 1.1.0
+
+* Mon Sep 07 2009 Passion Zhao <[email protected]> - 1.0.7-1
+- Upgrade to 1.0.7, remove obsolete patch cryptsetup-prompt.patch
+
+* Sun Jul 19 2009 Peter J Zhu <[email protected]> - 1.0.6 -3
+- Add BuildRequires of libuuid-devel
+
+* Thu Mar 6 2009 Passion Zhao <[email protected]> - 1.0.6 -3
+- Fix the URL and source url
+

new:
----
  crypt_keyslot_by_passphrase.patch
  cryptsetup-1.1.3.tar.bz2
  cryptsetup-luks.changes
  cryptsetup-luks.spec
  cryptsetup-maemo.patch

spec files:
-----------

++++++ new spec file:
--- cryptsetup-luks.spec
+++ cryptsetup-luks.spec
@@ -0,0 +1,87 @@
+Summary: A utility for setting up encrypted filesystems
+Name: cryptsetup-luks
+Version: 1.1.3
+Release: 1
+License: GPLv2
+Group: Applications/System
+URL: http://code.google.com/p/cryptsetup/downloads/list
+Source: http://cryptsetup.googlecode.com/files/cryptsetup-%{version}.tar.bz2
+BuildRequires: pkgconfig(openssl)
+BuildRequires: pkgconfig(popt)
+BuildRequires: gettext
+BuildRequires: cvs
+BuildRequires: pkgconfig(e2p)
+BuildRequires: pkgconfig(uuid)
+BuildRequires: pkgconfig(devmapper)
+BuildRequires: pkgconfig(libgpg-error)
+Patch0: cryptsetup-maemo.patch
+Patch1: crypt_keyslot_by_passphrase.patch
+
+
+%description
+This package contains cryptsetup, a utility for setting up
+encrypted filesystems using Device Mapper and the dm-crypt target.
+
+
+%package devel
+Group: Development/Libraries
+Requires: %{name} = %{version}-%{release}
+Requires: pkgconfig(uuid)
+Requires: pkgconfig(devmapper)
+Requires: pkgconfig(libgpg-error)
+Summary: Headers and libraries for using encrypted filesystems
+
+
+%description devel
+The cryptsetup-luks-devel package contain libraries and header files
+used for writing code that makes use of encrypted filesystems.
+
+
+%package doc
+Group: Documentation
+Summary: Documentation for %{name}
+
+%description doc
+%{summary}.
+
+
+%prep
+%setup -q -n cryptsetup-%{version}
+%patch0 -p1
+%patch1 -p1
+autoreconf -vfi
+iconv -f latin1 -t utf8 ChangeLog > ChangeLog.new
+mv -f ChangeLog.new ChangeLog
+
+
+%build
+%configure --disable-libdevmapper
+make %{?_smp_mflags}
+
+
+%install
+make install DESTDIR=$RPM_BUILD_ROOT
+rm -rf  $RPM_BUILD_ROOT/%{_libdir}/*.la $RPM_BUILD_ROOT/%{_libdir}/cryptsetup
+
+%find_lang cryptsetup
+
+%post -p /sbin/ldconfig
+%postun -p /sbin/ldconfig
+
+%files -f cryptsetup.lang
+%defattr(-,root,root,-)
+%{_sbindir}/cryptsetup
+%{_libdir}/libcryptsetup.so.*
+
+
+%files doc
+%defattr(-,root,root,-)
+%doc COPYING ChangeLog AUTHORS TODO
+%{_mandir}/man8/cryptsetup.8.gz
+
+
+%files devel
+%defattr(-,root,root,-)
+%{_includedir}/libcryptsetup.h
+%{_libdir}/libcryptsetup.so
+%{_libdir}/pkgconfig/libcryptsetup.pc

other changes:
--------------

++++++ crypt_keyslot_by_passphrase.patch (new)
--- crypt_keyslot_by_passphrase.patch
+++ crypt_keyslot_by_passphrase.patch
@@ -0,0 +1,73 @@
+diff --git a/lib/libcryptsetup.h b/lib/libcryptsetup.h
+index c2cf5fb..13eea7b 100644
+--- a/lib/libcryptsetup.h
++++ b/lib/libcryptsetup.h
+@@ -572,6 +572,13 @@ int crypt_luksDump(struct crypt_options *options);
+ 
+ void crypt_put_options(struct crypt_options *options);
+ 
++int crypt_keyslot_by_passphrase(struct crypt_device *cd,
++                                const char *key_file,
++                                const char *passphrase,
++                                size_t passphrase_size,
++                                unsigned int flags,
++                                char *message);
++
+ #ifdef __cplusplus
+ }
+ #endif
+diff --git a/lib/libcryptsetup.sym b/lib/libcryptsetup.sym
+index d4ed0dc..3a25c53 100644
+--- a/lib/libcryptsetup.sym
++++ b/lib/libcryptsetup.sym
+@@ -58,6 +58,7 @@ CRYPTSETUP_1.0 {
+               crypt_luksUUID;
+               crypt_isLuks;
+               crypt_luksDump;
++              crypt_keyslot_by_passphrase;
+ 
+               crypt_put_options;
+       local:
+diff --git a/lib/setup.c b/lib/setup.c
+index 0fcf912..4750d06 100644
+--- a/lib/setup.c
++++ b/lib/setup.c
+@@ -756,6 +756,38 @@ int crypt_remove_device(struct crypt_options *options)
+ 
+ }
+ 
++int crypt_keyslot_by_passphrase(struct crypt_device *cd,
++                              const char *key_file,
++                              const char *passphrase,
++                              size_t passphrase_size,
++                              unsigned int flags,
++                              char *message)
++{
++      struct luks_masterkey *mk;
++      char *password = NULL;
++      unsigned int passwordLen;
++      int keyIndex;
++
++      if (passphrase) {
++              keyIndex = LUKS_open_key_with_hdr(cd->device, CRYPT_ANY_SLOT, 
passphrase,
++                                                passphrase_size, &cd->hdr, 
&mk, cd);
++      }
++      else {
++              get_key(message,&password,&passwordLen, 0, key_file,
++                      cd->timeout, flags, cd);
++              if(!password)
++                      return -EINVAL;
++
++              keyIndex = LUKS_open_key_with_hdr(cd->device, CRYPT_ANY_SLOT, 
password,
++                                                passwordLen, &cd->hdr, &mk, 
cd);
++      }
++
++      LUKS_dealloc_masterkey(mk);
++      safe_free(password);
++
++      return keyIndex;
++}
++
+ /* OPTIONS: device, cipher, hash, align_payload, key_size (master key), 
key_slot
+  *          new_key_file, iteration_time, timeout, flags, icb */
+ int crypt_luksFormat(struct crypt_options *options)

++++++ cryptsetup-1.1.3.tar.bz2 (new)

++++++ cryptsetup-maemo.patch (new)
--- cryptsetup-maemo.patch
+++ cryptsetup-maemo.patch
@@ -0,0 +1,934 @@
+diff --git a/configure.in b/configure.in
+index 936d165..3d45361 100644
+--- a/configure.in
++++ b/configure.in
+@@ -31,6 +31,8 @@ AC_HEADER_STDC
+ AC_CHECK_HEADERS(fcntl.h malloc.h inttypes.h sys/ioctl.h sys/mman.h \
+       ctype.h unistd.h locale.h)
+ 
++PKG_PROG_PKG_CONFIG([0.22])
++
+ AC_CHECK_HEADERS(uuid/uuid.h,,[AC_MSG_ERROR('You need the uuid library')])
+ AC_CHECK_HEADER(libdevmapper.h,,[AC_MSG_ERROR('You need the device-mapper 
library')])
+ 
+@@ -40,8 +42,6 @@ AC_SUBST(UUID_LIBS, $LIBS)
+ LIBS=$saved_LIBS
+ 
+ 
+-AM_PATH_LIBGCRYPT(1.1.42,,[AC_MSG_ERROR('You need the gcrypt library')])
+-
+ AC_CHECK_FUNCS([posix_memalign])
+ 
+ AC_C_CONST
+@@ -73,6 +73,51 @@ AC_ARG_ENABLE(shared-library,
+ enable_shared_library=yes)
+ AM_CONDITIONAL(STATIC_LIBRARY, test x$enable_shared_library = xno)
+ 
++AC_ARG_ENABLE(plugins,
++[  --enable-plugins        disable shared library plugins],,enable_plugins=no)
++if test "x$enable_plugins" = xyes; then
++      AC_DEFINE(USE_PLUGINS, 1, [Define if you wish to use the plugin loader])
++fi
++
++AC_ARG_ENABLE(, [
++Modules:
++  --with-MODULE[[=shared]]  builds the module MODULE as a shared library 
plugin
++],,)
++
++AC_ARG_ENABLE(all,
++[  --disable-all           disable all modules built by 
default],,enable_all=default)
++
++AC_ARG_ENABLE(gcrypt,
++[  --disable-gcrypt        disable gcrypt support [[default=no]]], ,
++      enable_gcrypt=yes)
++if test x$enable_gcrypt = xyes; then
++      AC_CHECK_LIB(gcrypt, gcry_check_version, have_gcrypt=yes, 
have_gcrypt=no)
++fi
++AM_CONDITIONAL(BUILD_LIBGCRYPT, test x$have_gcrypt = xyes)
++AM_CONDITIONAL(SHARED_LIBGCRYPT,
++      test x$enable_shared_library = xyes -a x$have_gcrypt = xyes)
++if test x$have_gcrypt = xyes; then
++      LIBGCRYPT_CFLAGS="`libgcrypt-config --cflags`"
++      LIBGCRYPT_LIBS="`libgcrypt-config --libs`"
++      AC_SUBST(LIBGCRYPT_CFLAGS)
++      AC_SUBST(LIBGCRYPT_LIBS)
++fi
++
++AC_ARG_ENABLE(openssl,
++[  --disable-openssl       disable openssl support [[default=no]]], ,
++      enable_openssl=yes)
++if test x$enable_openssl = xyes; then
++      PKG_CHECK_MODULES([OPENSSL], [libcrypto >= 0.9.8], AC_CHECK_LIB(crypto, 
SHA512, have_openssl=yes, have_openssl=no),
++                                                          have_openssl=no)
++fi
++AM_CONDITIONAL(BUILD_OPENSSL, test x$have_openssl = xyes)
++AM_CONDITIONAL(SHARED_OPENSSL,
++      test x$enable_shared_library = xyes -a x$have_openssl = xyes)
++
++if test x$have_gcrypt != xyes -a x$have_openssl != xyes; then
++      AC_MSG_ERROR('You need openSSL or/and gcrypt library as a crypto 
backend')
++fi
++
+ AC_ARG_ENABLE(selinux,
+ [  --disable-selinux       disable selinux support [[default=auto]]],[], [])
+ 
+@@ -87,6 +132,7 @@ if AC_RUN_LOG([pkg-config --exists --print-errors 
devmapper]); then
+       fi
+       PKG_CHECK_MODULES([DEVMAPPER], [devmapper >= 1.02.03])
+       LIBS="$LIBS $DEVMAPPER_LIBS"
++      AC_SUBST(LIBDEVMAPPER_CFLAGS)
+ else
+       AC_CHECK_LIB(devmapper, dm_task_set_name,,
+               [AC_MSG_ERROR('You need the device-mapper library')])
+@@ -95,6 +141,9 @@ else
+       DEVMAPPER_LIBS=$LIBS
+ fi
+ 
++AM_CONDITIONAL(BUILD_LIBDEVMAPPER, test x$build_static = xyes)
++AM_CONDITIONAL(SHARED_LIBDEVMAPPER, test x$build_shared = xyes)
++
+ AC_CHECK_DECLS([DM_UDEV_DISABLE_DISK_RULES_FLAG], [have_cookie=yes], 
[have_cookie=no], [#include <libdevmapper.h>])
+ if test "x$enable_udev" = xyes; then
+       if test "x$have_cookie" = xno; then
+diff --git a/lib/Makefile.am b/lib/Makefile.am
+index 6068751..11b915f 100644
+--- a/lib/Makefile.am
++++ b/lib/Makefile.am
+@@ -3,6 +3,30 @@ moduledir = $(libdir)/cryptsetup
+ pkgconfigdir = $(libdir)/pkgconfig
+ pkgconfig_DATA = libcryptsetup.pc
+ 
++if BUILD_LIBGCRYPT
++_LIBGCRYPT_LIBADD = @LIBGCRYPT_LIBS@
++_LIBGCRYPT_SOURCES = gcrypt.c
++_LIBGCRYPT_CFLAGS = -DBUILTIN_GCRYPT
++endif
++libcrypto_gcrypt_la_SOURCES = gcrypt.c
++libcrypto_gcrypt_la_LDFLAGS = -avoid-version -module
++libcrypto_gcrypt_la_LIBADD = @LIBGCRYPT_LIBS@
++if SHARED_LIBGCRYPT
++_LIBGCRYPT_SHLIB = libcrypto_gcrypt.la
++endif
++
++if BUILD_OPENSSL
++_OPENSSL_LIBADD = @OPENSSL_LIBS@
++_OPENSSL_SOURCES = openssl.c
++_OPENSSL_CFLAGS = -DBUILTIN_OPENSSL
++endif
++libcrypto_openssl_la_SOURCES = openssl.c
++libcrypto_openssl_la_LDFLAGS = -avoid-version -module
++libcrypto_openssl_la_LIBADD = @OPENSSL_LIBS@
++if SHARED_OPENSSL
++_OPENSSL_SHLIB = libcrypto_openssl.la
++endif
++
+ INCLUDES = \
+       -I$(top_srcdir)                         \
+       -I$(top_srcdir)/luks                    \
+@@ -13,10 +37,21 @@ INCLUDES = \
+       -DVERSION=\""$(VERSION)"\"              \
+       -D_GNU_SOURCE                           \
+       -D_LARGEFILE64_SOURCE                   \
+-      -D_FILE_OFFSET_BITS=64
++      -D_FILE_OFFSET_BITS=64                  \
++      @LIBDEVMAPPER_CFLAGS@                   \
++      $(_LIBDEVMAPPER_CFLAGS)                 \
++      @LIBGCRYPT_CFLAGS@                      \
++      $(_LIBGCRYPT_CFLAGS)                    \
++      @OPENSSL_CFLAGS@                        \
++      $(_OPENSSL_CFLAGS)
+ 
+ lib_LTLIBRARIES = libcryptsetup.la
+ 
++module_LTLIBRARIES = \
++      $(_LIBDEVMAPPER_SHLIB)                  \
++      $(_LIBGCRYPT_SHLIB)                     \
++      $(_OPENSSL_SHLIB)
++
+ if STATIC_LIBRARY
+ _STATIC_LIBRARY = -static
+ endif
+@@ -28,9 +63,12 @@ libcryptsetup_la_LDFLAGS = \
+       -Wl,--version-script=$(top_srcdir)/lib/libcryptsetup.sym \
+       -version-info @LIBCRYPTSETUP_VERSION_INFO@
+ 
+-libcryptsetup_la_CFLAGS = -Wall @LIBGCRYPT_CFLAGS@
++libcryptsetup_la_CFLAGS = -Wall
+ 
+ libcryptsetup_la_LIBADD = \
++      $(_LIBDEVMAPPER_LIBADD)                 \
++      $(_LIBGCRYPT_LIBADD)                    \
++      $(_OPENSSL_LIBADD)                      \
+       @UUID_LIBS@                             \
+       @DEVMAPPER_LIBS@                        \
+       @LIBGCRYPT_LIBS@                        \
+@@ -46,7 +84,9 @@ libcryptsetup_la_SOURCES = \
+       utils_debug.c                           \
+       backends.c                              \
+       libdevmapper.c                          \
+-      gcrypt.c
++      $(_LIBDEVMAPPER_SOURCES)                \
++      $(_LIBGCRYPT_SOURCES)                   \
++      $(_OPENSSL_SOURCES)
+ 
+ include_HEADERS = libcryptsetup.h
+ 
+diff --git a/lib/backends.c b/lib/backends.c
+index e2c441d..27e20a1 100644
+--- a/lib/backends.c
++++ b/lib/backends.c
+@@ -7,9 +7,31 @@
+ #include "internal.h"
+ 
+ extern struct hash_backend hash_gcrypt_backend;
++extern struct hash_backend hash_openssl_backend;
++extern struct setup_backend setup_libdevmapper_backend;
++
++#ifdef USE_PLUGINS
++static void init_plugins(void)
++{
++}
++#else /* USE_PLUGINS */
++#     define init_plugins()   do { } while(0)
++#endif /* USE_PLUGINS */
+ 
+ static struct hash_backend *hash_backends[] = {
++#ifdef BUILTIN_GCRYPT
+       &hash_gcrypt_backend,
++#endif
++#ifdef BUILTIN_OPENSSL
(735 more lines skipped)



Reply via email to