Hello community,

here is the log from the commit of package nemo-extensions for openSUSE:Factory 
checked in at 2016-10-10 16:20:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/nemo-extensions (Old)
 and      /work/SRC/openSUSE:Factory/.nemo-extensions.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "nemo-extensions"

Changes:
--------
--- /work/SRC/openSUSE:Factory/nemo-extensions/nemo-extensions.changes  
2016-05-17 17:15:12.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.nemo-extensions.new/nemo-extensions.changes     
2016-10-10 16:20:59.000000000 +0200
@@ -1,0 +2,11 @@
+Wed Oct  5 19:37:54 UTC 2016 - [email protected]
+
+- Add nemo-gtkhash_mbedtls-2.x.patch: Add mbed TLS 2.x+ support.
+- Enable gcrypt in nemo-gtkhash for openSUSE Leap 42.x.
+- Separate locales into nemo-extension-compare-lang,
+  nemo-extension-emblems-lang, nemo-extension-gtkhash-lang,
+  nemo-extension-image-converter-lang, nemo-extension-preview-lang,
+  nemo-extension-pastebin-lang, nemo-extension-repairer-lang,
+  nemo-extension-seahorse-lang, nemo-extension-share-lang.
+
+-------------------------------------------------------------------
@@ -72 +82,0 @@
-

New:
----
  nemo-gtkhash_mbedtls-2.x.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ nemo-extensions.spec ++++++
--- /var/tmp/diff_new_pack.AUGOsy/_old  2016-10-10 16:21:00.000000000 +0200
+++ /var/tmp/diff_new_pack.AUGOsy/_new  2016-10-10 16:21:00.000000000 +0200
@@ -34,6 +34,8 @@
 Patch2:         nemo-seahorse_no-nautilus-conflicts.patch
 # PATCH-FIX-OPENSUSE nemo-dropbox_no-dropbox-bin.patch [email protected] -- 
Strip dropbox binary installation.
 Patch3:         nemo-dropbox_no-dropbox-bin.patch
+# PATCH-FIX-OPENSUSE nemo-gtkhash_mbedtls-2.x.patch [email protected] -- Add 
mbed TLS 2.x+ support.
+Patch4:         nemo-gtkhash_mbedtls-2.x.patch
 BuildRequires:  docutils
 BuildRequires:  gettext-runtime
 BuildRequires:  gnome-common
@@ -45,7 +47,7 @@
 BuildRequires:  mhash-devel
 BuildRequires:  nemo-devel
 BuildRequires:  openssl-devel
-BuildRequires:  pkg-config
+BuildRequires:  pkgconfig
 BuildRequires:  python-devel
 BuildRequires:  python-distutils-extra
 BuildRequires:  python-gtk-devel
@@ -69,7 +71,7 @@
 BuildRequires:  pkgconfig(nss)
 BuildRequires:  pkgconfig(pygobject-3.0)
 BuildRequires:  pkgconfig(webkitgtk-3.0)
-%if 0%{?suse_version} > 1320 || (0%{?suse_version} == 1315 && 0%{?is_opensuse})
+%if 0%{?suse_version} > 1320 || (0%{?sle_version} >= 120100 && 
0%{?is_opensuse})
 BuildRequires:  mbedtls-devel
 %endif
 
@@ -111,6 +113,7 @@
 Requires:       python-gtk
 Requires:       python-nemo = %{version}
 Requires:       python-xdg
+Recommends:     nemo-extension-compare-lang
 # nemo-compare was last used in openSUSE 13.2.
 Provides:       nemo-compare = %{version}
 Obsoletes:      nemo-compare < %{version}
@@ -124,6 +127,8 @@
 you can choose your favourite compare tool for one-on-one,
 three-way and multi-compare situations.
 
+%lang_package -n nemo-extension-compare
+
 %package -n nemo-extension-dropbox
 Summary:        DropBox support for the Nemo Filemanager
 License:        GPL-3.0+
@@ -144,6 +149,7 @@
 Group:          System/GUI/Other
 Requires:       nemo >= %{_version}
 Requires:       python-gobject
+Recommends:     nemo-extension-emblems-lang
 # nemo-emblems was last used in openSUSE 13.2.
 Provides:       nemo-emblems = %{version}
 Obsoletes:      nemo-emblems < %{version}
@@ -156,6 +162,8 @@
 Change a directory or a file emblem in Nemo, the Cinnamon desktop
 file manager.
 
+%lang_package -n nemo-extension-emblems
+
 %package -n nemo-extension-fileroller
 Summary:        Fileroller support for the Nemo Filemanager
 License:        GPL-3.0+
@@ -175,6 +183,7 @@
 License:        GPL-2.0+
 Group:          System/GUI/Other
 Requires:       nemo >= %{_version}
+Recommends:     nemo-extension-gtkhash-lang
 # nemo-gtkhash was last used in openSUSE 13.2.
 Obsoletes:      nemo-gtkhash < %{version}
 Provides:       nemo-gtkhash = %{version}
@@ -186,12 +195,15 @@
 Currently supported hash functions include MD5, MD6, SHA1, SHA256,
 SHA512, RIPEMD, TIGER and WHIRLPOOL.
 
+%lang_package -n nemo-extension-gtkhash
+
 %package -n nemo-extension-image-converter
 Summary:        Nemo extension to mass resize or rotate images
 License:        GPL-2.0+
 Group:          System/GUI/Other
 Requires:       ImageMagick
 Requires:       nemo >= %{_version}
+Recommends:     nemo-extension-converter-lang
 # nemo-image-converter was last used in openSUSE 13.2.
 Provides:       nemo-image-converter = %{version}
 Obsoletes:      nemo-image-converter < %{version}
@@ -202,6 +214,8 @@
 image size and file name. A click on "Resize" finally resizes the
 image(s) using ImageMagick's convert tool.
 
+%lang_package -n nemo-extension-image-converter
+
 %package -n nemo-extension-pastebin
 Summary:        Pastebin extension for Nemo file manager
 License:        GPL-2.0+
@@ -209,6 +223,7 @@
 Requires:       nemo >= %{_version}
 Requires:       python-gobject
 Requires:       python-xdg
+Recommends:     nemo-extension-pastebin-lang
 # nemo-pastebin was last used in openSUSE 13.2.
 Provides:       nemo-pastebin = %{version}
 Obsoletes:      nemo-pastebin < %{version}
@@ -222,12 +237,15 @@
 nemo-pastebin is an extension for the Nemo file manager, which
 allows users to send files to pastebins just a right-click away.
 
+%lang_package -n nemo-extension-pastebin
+
 %package -n nemo-extension-preview
 Summary:        A quick previewer for Nemo file manager
 License:        GPL-2.0+
 Group:          System/GUI/Other
 Requires:       gstreamer-plugins-good
 Requires:       nemo >= %{_version}
+Recommends:     nemo-extension-preview-lang
 # nemo-preview was last used in openSUSE 13.2.
 Obsoletes:      nemo-preview < %{version}
 Provides:       nemo-extension-preview-devel = %{version}
@@ -237,6 +255,8 @@
 This is NemoPreview, a quick previewer for Nemo, the Cinnamon
 desktop file manager.
 
+%lang_package -n nemo-extension-preview
+
 %package -n nemo-extension-rabbitvcs
 Summary:        RabbitVCS extension for Nemo file manager
 License:        GPL-3.0+
@@ -258,6 +278,7 @@
 License:        GPL-2.0+
 Group:          System/GUI/Other
 Requires:       nemo >= %{_version}
+Recommends:     nemo-extension-repairer-lang
 # nemo-repairer was last used in openSUSE 13.2.
 Provides:       nemo-repairer = %{version}
 Obsoletes:      nemo-repairer < %{version}
@@ -268,6 +289,8 @@
 file whose filename uses wrong encoding, so that you cannot read the
 filename in Nemo.
 
+%lang_package -n nemo-extension-repairer
+
 You can find a candidate for filename in context menu or submenu.
 This extension also provides a decoded name for URL encoded filename.
 
@@ -277,6 +300,7 @@
 Group:          System/GUI/Other
 Requires:       nautilus-extension-seahorse >= 3.0
 Requires:       nemo >= %{_version}
+Recommends:     nemo-extension-seahorse-lang
 Supplements:    packageand(nemo:seahorse)
 # nemo-seahorse was last used in openSUSE 13.2.
 Provides:       nemo-seahorse = %{version}
@@ -284,13 +308,16 @@
 
 %description -n nemo-extension-seahorse
 seahorse nemo is an extension for nemo which allows encryption
-and decryption of OpenPGP files using GnuPG
+and decryption of OpenPGP files using GnuPG.
+
+%lang_package -n nemo-extension-seahorse
 
 %package -n nemo-extension-share
 Summary:        Samba share extension for Nemo file manager
 License:        GPL-2.0+
 Group:          System/GUI/Other
 Requires:       nemo >= %{_version}
+Recommends:     nemo-extension-share-lang
 Recommends:     samba
 Supplements:    packageand(nemo:samba)
 # nemo-share was last used in openSUSE 13.2.
@@ -301,6 +328,8 @@
 Nemo Share allows you to quickly share a folder from the Cinnamon
 Nemo file manager without requiring root access.
 
+%lang_package -n nemo-extension-share
+
 %package -n nemo-extension-terminal
 Summary:        Nemo extension to enable an embedded terminal
 License:        GPL-3.0+
@@ -328,6 +357,7 @@
 %patch1
 %patch2
 %patch3
+%patch4
 # Remove spurious executable permission.
 chmod a-x nemo-audio-tab/COPYING.GPL3 nemo-emblems/COPYING.GPL3
 
@@ -339,7 +369,7 @@
         %configure \
           --disable-static
     fi
-    [ -f Makefile ] && make %{?_smp_mflags}
+    [ -f Makefile ] && make %{?_smp_mflags} V=1
     [ -f setup.py ] && ./setup.py build
     popd
 done
@@ -350,19 +380,19 @@
   --disable-static      \
   --enable-linux-crypto \
   --enable-libcrypto    \
-%if 0%{?suse_version} >= 1320
+%if 0%{?suse_version} >= 1320 || (0%{?sle_version} >= 120100 && 
0%{?is_opensuse})
   --enable-gcrypt       \
 %else
   --disable-gcrypt      \
 %endif
-%if 0%{?suse_version} > 1320 || (0%{?suse_version} == 1315 && 0%{?is_opensuse})
+%if 0%{?suse_version} > 1320 || (0%{?sle_version} >= 120100 && 
0%{?is_opensuse})
   --enable-polarssl     \
 %endif
   --enable-nettle       \
   --enable-nss          \
   --enable-mhash        \
   --enable-nemo
-make %{?_smp_mflags}
+make %{?_smp_mflags} V=1
 popd
 
 %install
@@ -376,23 +406,23 @@
 done
 
 # For nemo-extension-audio-tab.
-install -Dm 0644 nemo-audio-tab/nemo-extension/nemo-audio-tab.py \
+install -Dpm 0644 nemo-audio-tab/nemo-extension/nemo-audio-tab.py \
   %{buildroot}%{_datadir}/nemo-python/extensions/nemo-audio-tab.py
-install -Dm 0755 nemo-audio-tab/nemo-extension/nemo-audio-tab.glade \
+install -Dpm 0755 nemo-audio-tab/nemo-extension/nemo-audio-tab.glade \
   %{buildroot}%{_datadir}/nemo-python/extensions/nemo-audio-tab.glade
 
 # For nemo-extension-compare.
 # "gtk-preferences icon isn't in hicolor-icon-theme, why not Meld?
 sed -i 's/^\(Icon=\).*$/\1meld/' 
nemo-compare/data/nemo-compare-preferences.desktop
 
-install -Dm 0755 nemo-compare/data/nemo-compare-preferences.desktop \
+install -Dpm 0755 nemo-compare/data/nemo-compare-preferences.desktop \
   %{buildroot}%{_datadir}/applications/nemo-compare-preferences.desktop
-install -Dm 0755 nemo-compare/src/nemo-compare.py \
+install -Dpm 0755 nemo-compare/src/nemo-compare.py \
   %{buildroot}%{_datadir}/nemo-compare/nemo-compare.py
-install -Dm 0755 nemo-compare/src/utils.py 
%{buildroot}%{_datadir}/nemo-compare/utils.py
-install -Dm 0755 nemo-compare/src/nemo-compare-preferences.py \
+install -Dpm 0755 nemo-compare/src/utils.py 
%{buildroot}%{_datadir}/nemo-compare/utils.py
+install -Dpm 0755 nemo-compare/src/nemo-compare-preferences.py \
   %{buildroot}%{_datadir}/nemo-compare/nemo-compare-preferences.py
-install -Dm 0644 nemo-compare/debian/nemo-compare-preferences.1 \
+install -Dpm 0644 nemo-compare/debian/nemo-compare-preferences.1 \
   %{buildroot}%{_mandir}/man1/nemo-compare-preferences.1
 
 mkdir -p %{buildroot}%{_bindir}/ %{buildroot}%{_datadir}/nemo-python/
@@ -418,13 +448,13 @@
 mv -f %{buildroot}%{_datadir}/doc/nemo-python/ 
%{buildroot}%{_docdir}/nemo-python/
 
 # For nemo-extension-rabbitvcs.
-install -Dm 0644 nemo-rabbitvcs/RabbitVCS.py \
+install -Dpm 0644 nemo-rabbitvcs/RabbitVCS.py \
   %{buildroot}%{_datadir}/nemo-python/extensions/RabbitVCS.py
 
 # For nemo-extension-terminal.
 pushd nemo-terminal
 mkdir -p %{buildroot}%{_datadir}/nemo-terminal/
-install -Dm 0755 src/nemo_terminal.py \
+install -Dpm 0755 src/nemo_terminal.py \
   %{buildroot}%{_datadir}/nemo-python/extensions/nemo_terminal.py
 cp -a src/*.xml %{buildroot}%{_datadir}/glib-2.0/schemas/
 cp -a pixmap/*.png %{buildroot}%{_datadir}/nemo-terminal/
@@ -508,7 +538,7 @@
 %{_datadir}/nemo-python/extensions/nemo-audio-tab.*
 %{python_sitelib}/nemo_audio_tab-*
 
-%files -n nemo-extension-compare -f nemo-compare.lang
+%files -n nemo-extension-compare
 %defattr(-,root,root)
 %doc nemo-compare/nemo-compare/COPYING* nemo-compare/debian/changelog
 %{_bindir}/nemo-compare-preferences
@@ -517,23 +547,29 @@
 %{_datadir}/applications/nemo-compare-preferences.desktop
 %{_mandir}/man1/nemo-compare-preferences.1%{?ext_man}
 
+%files -n nemo-extension-compare-lang -f nemo-compare.lang
+%defattr(-,root,root)
+
 %files -n nemo-extension-dropbox
 %defattr(-,root,root)
 %doc nemo-dropbox/AUTHORS nemo-dropbox/COPYING nemo-dropbox/debian/changelog
 %{_libdir}/nemo/extensions-3.0/libnemo-dropbox.so
 
-%files -n nemo-extension-emblems -f nemo-emblems.lang
+%files -n nemo-extension-emblems
 %defattr(-,root,root)
 %doc nemo-emblems/COPYING* nemo-emblems/debian/changelog
 %{_datadir}/nemo-python/extensions/nemo-emblems.py
 %{python_sitelib}/nemo_emblems-*
 
+%files -n nemo-extension-emblems-lang -f nemo-emblems.lang
+%defattr(-,root,root)
+
 %files -n nemo-extension-fileroller
 %defattr(-,root,root)
 %doc nemo-fileroller/COPYING nemo-fileroller/debian/changelog
 %{_libdir}/nemo/extensions-3.0/libnemo-fileroller.so
 
-%files -n nemo-extension-gtkhash -f nemo-gtkhash.lang
+%files -n nemo-extension-gtkhash
 %defattr(-,root,root)
 %doc nemo-gtkhash/AUTHORS nemo-gtkhash/COPYING nemo-gtkhash/debian/changelog
 %{_bindir}/gtkhash
@@ -541,13 +577,19 @@
 %{_datadir}/nemo-gtkhash/
 %{_datadir}/glib-2.0/schemas/*gtkhash*.gschema.xml
 
-%files -n nemo-extension-image-converter -f nemo-image-converter.lang
+%files -n nemo-extension-gtkhash-lang -f nemo-gtkhash.lang
+%defattr(-,root,root)
+
+%files -n nemo-extension-image-converter
 %defattr(-,root,root)
 %doc nemo-image-converter/AUTHORS nemo-image-converter/COPYING 
nemo-image-converter/debian/changelog
 %{_libdir}/nemo/extensions-3.0/libnemo-image-converter.so
 %{_datadir}/nemo-image-converter/
 
-%files -n nemo-extension-pastebin -f nemo-pastebin.lang
+%files -n nemo-extension-image-converter-lang -f nemo-image-converter.lang
+%defattr(-,root,root)
+
+%files -n nemo-extension-pastebin
 %defattr(-,root,root)
 %doc nemo-pastebin/COPYING nemo-pastebin/debian/changelog
 %{_bindir}/nemo-pastebin.py
@@ -558,7 +600,10 @@
 %{_datadir}/pixmaps/nemo-pastebin.*
 %{_datadir}/glib-2.0/schemas/nemo-pastebin.gschema.xml
 
-%files -n nemo-extension-preview -f nemo-preview.lang
+%files -n nemo-extension-pastebin-lang -f nemo-pastebin.lang
+%defattr(-,root,root)
+
+%files -n nemo-extension-preview
 %defattr(-,root,root)
 %doc nemo-preview/AUTHORS nemo-preview/COPYING nemo-preview/debian/changelog
 %{_bindir}/nemo-preview
@@ -567,29 +612,41 @@
 %{_datadir}/nemo-preview/
 %{_datadir}/dbus-1/services/org.nemo.Preview.service
 
+%files -n nemo-extension-preview-lang -f nemo-preview.lang
+%defattr(-,root,root)
+
 %files -n nemo-extension-rabbitvcs
 %defattr(-,root,root)
 %doc nemo-rabbitvcs/AUTHORS nemo-rabbitvcs/COPYING 
nemo-rabbitvcs/debian/changelog
 %{_datadir}/nemo-python/extensions/RabbitVCS.py
 
-%files -n nemo-extension-repairer -f nemo-filename-repairer.lang
+%files -n nemo-extension-repairer
 %defattr(-,root,root)
 %doc nemo-repairer/AUTHORS nemo-repairer/COPYING nemo-repairer/COPYING 
nemo-repairer/README
 %{_bindir}/nemo-filename-repairer
 %{_libdir}/nemo/extensions-3.0/libnemo-filename-repairer.so
 %{_datadir}/nemo-filename-repairer/
 
-%files -n nemo-extension-seahorse -f nemo-seahorse.lang
+%files -n nemo-extension-repairer-lang -f nemo-filename-repairer.lang
+%defattr(-,root,root)
+
+%files -n nemo-extension-seahorse
 %defattr(-,root,root)
 %doc nemo-seahorse/COPYING nemo-seahorse/debian/changelog
 %{_libdir}/nemo/extensions-3.0/libnemo-seahorse.so
 
-%files -n nemo-extension-share -f nemo-share.lang
+%files -n nemo-extension-seahorse-lang -f nemo-seahorse.lang
+%defattr(-,root,root)
+
+%files -n nemo-extension-share
 %defattr(-,root,root)
 %doc nemo-share/AUTHORS nemo-share/COPYING nemo-share/debian/changelog
 %{_libdir}/nemo/extensions-3.0/libnemo-share.so
 %{_datadir}/nemo-share/
 
+%files -n nemo-extension-share-lang -f nemo-share.lang
+%defattr(-,root,root)
+
 %files -n nemo-extension-terminal
 %defattr(-,root,root)
 %doc nemo-terminal/AUTHORS nemo-terminal/COPYING nemo-terminal/debian/changelog

++++++ nemo-gtkhash_mbedtls-2.x.patch ++++++
--- nemo-gtkhash.orig/configure.ac
+++ nemo-gtkhash/configure.ac
@@ -144,13 +144,25 @@ AC_ARG_ENABLE([polarssl],
 AC_MSG_RESULT(["${enable_polarssl}"])
 AM_CONDITIONAL([ENABLE_POLARSSL], [test "${enable_polarssl}" = "yes"])
 AC_DEFINE([ENABLE_POLARSSL], [0], [Use PolarSSL])
+AC_DEFINE([HAVE_MBEDTLS_2_0_0], [0], [Have mbed TLS 2.x+])
 
 if test "${enable_polarssl}" = "yes" ; then
-       AC_CHECK_HEADER([polarssl/md.h], [:], [AC_MSG_ERROR([polarssl headers 
not found])])
-       AC_CHECK_LIB([polarssl], [md_update], [:], [AC_MSG_ERROR([polarssl 
library not found])])
-       POLARSSL_LIBS="-lpolarssl"
+       AC_CHECK_HEADER([mbedtls/md.h], [have_mbedtls_2_0_0="yes"], 
[have_mbedtls_2_0_0="no"])
+       AC_CHECK_HEADER([polarssl/md.h], [have_mbedtls_1_3_0="yes"], 
[have_mbedtls_1_3_0="no"])
+       if test "${have_mbedtls_2_0_0}" != "yes" && test 
"${have_mbedtls_1_3_0}" != "yes"; then
+               AC_MSG_ERROR([mbedtls headers not found])
+       fi
+       if test "${have_mbedtls_2_0_0}" = "yes"; then
+               AC_CHECK_LIB([mbedcrypto], [mbedtls_md_update], [:], 
[AC_MSG_ERROR([mbedtls library not found])])
+               POLARSSL_LIBS="-lmbedcrypto"
+               hash_libs="${hash_libs} mbedtls"
+               AC_DEFINE([HAVE_MBEDTLS_2_0_0], [1])
+       else
+               AC_CHECK_LIB([polarssl], [md_update], [:], 
[AC_MSG_ERROR([mbedtls library not found])])
+               POLARSSL_LIBS="-lpolarssl"
+               hash_libs="${hash_libs} polarssl"
+       fi
        AC_SUBST([POLARSSL_LIBS])
-       hash_libs="${hash_libs} polarssl"
        AC_DEFINE([ENABLE_POLARSSL], [1])
 fi
 
@@ -365,6 +377,7 @@ nss_funcs="
        SHA1 SHA256 SHA384 SHA512"
 polarssl_funcs="
        MD2 MD4 MD5
+       RIPEMD160
        SHA1 SHA224 SHA256 SHA384 SHA512"
 zlib_funcs="
        CRC32
--- nemo-gtkhash.orig/src/hash/hash-lib-polarssl.c
+++ nemo-gtkhash/src/hash/hash-lib-polarssl.c
@@ -25,7 +25,11 @@
 #include <stdbool.h>
 #include <stdint.h>
 #include <glib.h>
+#if HAVE_MBEDTLS_2_0_0
+#include <mbedtls/md.h>
+#else
 #include <polarssl/md.h>
+#endif
 
 #include "hash-lib-polarssl.h"
 #include "hash-lib.h"
@@ -34,35 +38,83 @@
 #define LIB_DATA ((struct hash_lib_polarssl_s *)func->lib_data)
 
 struct hash_lib_polarssl_s {
+#if HAVE_MBEDTLS_2_0_0
+       mbedtls_md_context_t ctx;
+#else
        md_context_t ctx;
+#endif
 };
 
-static bool gtkhash_hash_lib_polarssl_set_type(const enum hash_func_e id, 
md_type_t *type)
+static bool gtkhash_hash_lib_polarssl_set_type(const enum hash_func_e id,
+#if HAVE_MBEDTLS_2_0_0
+       mbedtls_md_type_t *type)
+#else
+       md_type_t *type)
+#endif
 {
        switch (id) {
                case HASH_FUNC_MD2:
+#if HAVE_MBEDTLS_2_0_0
+                       *type = MBEDTLS_MD_MD2;
+#else
                        *type = POLARSSL_MD_MD2;
+#endif
                        break;
                case HASH_FUNC_MD4:
+#if HAVE_MBEDTLS_2_0_0
+                       *type = MBEDTLS_MD_MD4;
+#else
                        *type = POLARSSL_MD_MD4;
+#endif
                        break;
                case HASH_FUNC_MD5:
+#if HAVE_MBEDTLS_2_0_0
+                       *type = MBEDTLS_MD_MD5;
+#else
                        *type = POLARSSL_MD_MD5;
+#endif
+                       break;
+               case HASH_FUNC_RIPEMD160:
+#if HAVE_MBEDTLS_2_0_0
+                       *type = MBEDTLS_MD_RIPEMD160;
+#else
+                       *type = POLARSSL_MD_RIPEMD160;
+#endif
                        break;
                case HASH_FUNC_SHA1:
+#if HAVE_MBEDTLS_2_0_0
+                       *type = MBEDTLS_MD_SHA1;
+#else
                        *type = POLARSSL_MD_SHA1;
+#endif
                        break;
                case HASH_FUNC_SHA224:
+#if HAVE_MBEDTLS_2_0_0
+                       *type = MBEDTLS_MD_SHA224;
+#else
                        *type = POLARSSL_MD_SHA224;
+#endif
                        break;
                case HASH_FUNC_SHA256:
+#if HAVE_MBEDTLS_2_0_0
+                       *type = MBEDTLS_MD_SHA256;
+#else
                        *type = POLARSSL_MD_SHA256;
+#endif
                        break;
                case HASH_FUNC_SHA384:
+#if HAVE_MBEDTLS_2_0_0
+                       *type = MBEDTLS_MD_SHA384;
+#else
                        *type = POLARSSL_MD_SHA384;
+#endif
                        break;
                case HASH_FUNC_SHA512:
+#if HAVE_MBEDTLS_2_0_0
+                       *type = MBEDTLS_MD_SHA512;
+#else
                        *type = POLARSSL_MD_SHA512;
+#endif
                        break;
                default:
                        return false;
@@ -71,14 +123,29 @@ static bool gtkhash_hash_lib_polarssl_se
        return true;
 }
 
+
 bool gtkhash_hash_lib_polarssl_is_supported(const enum hash_func_e id)
 {
-       struct hash_lib_polarssl_s data;
+#if HAVE_MBEDTLS_2_0_0
+       mbedtls_md_type_t type;
+#else
        md_type_t type;
-
+#endif
        if (!gtkhash_hash_lib_polarssl_set_type(id, &type))
                return false;
 
+       struct hash_lib_polarssl_s data;
+#if HAVE_MBEDTLS_2_0_0
+       mbedtls_md_init(&data.ctx);
+
+       const mbedtls_md_info_t *info = mbedtls_md_info_from_type(type);
+       if (mbedtls_md_setup(&data.ctx, info, 0) != 0) {
+               mbedtls_md_free(&data.ctx);
+               return false;
+       }
+
+       mbedtls_md_free(&data.ctx);
+#else
        if (md_init_ctx(&data.ctx, md_info_from_type(type)) != 0)
                return false;
 
@@ -86,6 +153,7 @@ bool gtkhash_hash_lib_polarssl_is_suppor
                g_assert_not_reached();
                return false;
        }
+#endif
 
        return true;
 }
@@ -93,34 +161,67 @@ bool gtkhash_hash_lib_polarssl_is_suppor
 void gtkhash_hash_lib_polarssl_start(struct hash_func_s *func)
 {
        func->lib_data = g_new(struct hash_lib_polarssl_s, 1);
+#if HAVE_MBEDTLS_2_0_0
+       mbedtls_md_type_t type;
+#else
        md_type_t type;
+#endif
 
        if (!gtkhash_hash_lib_polarssl_set_type(func->id, &type))
                g_assert_not_reached();
 
+#if HAVE_MBEDTLS_2_0_0
+       mbedtls_md_init(&LIB_DATA->ctx);
+
+       const mbedtls_md_info_t *info = mbedtls_md_info_from_type(type);
+       if (mbedtls_md_setup(&LIB_DATA->ctx, info, 0) != 0)
+               g_assert_not_reached();
+
+       if (mbedtls_md_starts(&LIB_DATA->ctx) != 0)
+               g_assert_not_reached();
+
+#else
        if (md_init_ctx(&LIB_DATA->ctx, md_info_from_type(type)) != 0)
                g_assert_not_reached();
 
        if (md_starts(&LIB_DATA->ctx) != 0)
                g_assert_not_reached();
+#endif
 }
 
 void gtkhash_hash_lib_polarssl_update(struct hash_func_s *func,
        const uint8_t *buffer, const size_t size)
 {
+#if HAVE_MBEDTLS_2_0_0
+       mbedtls_md_update(&LIB_DATA->ctx, buffer, size);
+#else
        md_update(&LIB_DATA->ctx, buffer, size);
+#endif
 }
 
 void gtkhash_hash_lib_polarssl_stop(struct hash_func_s *func)
 {
+#if HAVE_MBEDTLS_2_0_0
+       mbedtls_md_free(&LIB_DATA->ctx);
+#else
        if (md_free_ctx(&LIB_DATA->ctx) != 0)
                g_assert_not_reached();
+#endif
        g_free(LIB_DATA);
 }
 
 uint8_t *gtkhash_hash_lib_polarssl_finish(struct hash_func_s *func,
        size_t *size)
 {
+#if HAVE_MBEDTLS_2_0_0
+       *size = mbedtls_md_get_size(LIB_DATA->ctx.md_info);
+       uint8_t *digest = g_malloc(*size);
+
+       if (mbedtls_md_finish(&LIB_DATA->ctx, digest) != 0)
+               g_assert_not_reached();
+
+       mbedtls_md_free(&LIB_DATA->ctx);
+#else
        *size = LIB_DATA->ctx.md_info->size;
        uint8_t *digest = g_malloc(*size);
 
@@ -129,6 +230,7 @@ uint8_t *gtkhash_hash_lib_polarssl_finis
 
        if (md_free_ctx(&LIB_DATA->ctx) != 0)
                g_assert_not_reached();
+#endif
        g_free(LIB_DATA);
 
        return digest;

Reply via email to