Merge branch 'upstream' into tizen 53/288453/1
authorKarol Lewandowski <k.lewandowsk@samsung.com>
Thu, 16 Feb 2023 15:20:54 +0000 (16:20 +0100)
committerKarol Lewandowski <k.lewandowsk@samsung.com>
Thu, 16 Feb 2023 15:21:53 +0000 (16:21 +0100)
This commit upgrades cryptsetup to v2.3.7, which fixes CVE-2021-4122.

Change-Id: I6713b388b25475e6f796368eca7ceadd600acccb

COPYING.GPL-2.0+ [moved from COPYING with 100% similarity]
COPYING.LGPL-2.1+ [moved from COPYING.LGPL with 100% similarity]
Makefile.am
autogen.sh [new file with mode: 0755]
configure.ac
lib/utils_loop.c
packaging/cryptsetup.manifest [new file with mode: 0644]
packaging/cryptsetup.spec [new file with mode: 0644]

similarity index 100%
rename from COPYING
rename to COPYING.GPL-2.0+
similarity index 100%
rename from COPYING.LGPL
rename to COPYING.LGPL-2.1+
index de0d2a2..a5ccaa8 100644 (file)
@@ -12,8 +12,8 @@ AM_CPPFLAGS = \
         -DPREFIX=\""$(prefix)"\"                \
         -DSYSCONFDIR=\""$(sysconfdir)"\"        \
         -DVERSION=\""$(VERSION)"\"
-AM_CFLAGS = -Wall
-AM_LDFLAGS =
+AM_CFLAGS = -Wall -fPIE
+AM_LDFLAGS = -pie
 
 LDADD = $(LTLIBINTL) -lm
 
diff --git a/autogen.sh b/autogen.sh
new file mode 100755 (executable)
index 0000000..ffc3002
--- /dev/null
@@ -0,0 +1,90 @@
+#!/bin/sh
+# Run this to generate all the initial makefiles, etc.
+
+srcdir=`dirname $0`
+PKG_NAME="cryptsetup"
+
+DIE=0
+
+(autopoint --version) < /dev/null > /dev/null 2>&1 || {
+  echo
+  echo "**Error**: You must have autopoint installed."
+  echo "Download the appropriate package for your distribution,"
+  echo "or see http://www.gnu.org/software/gettext"
+  DIE=1
+}
+
+(autoconf --version) < /dev/null > /dev/null 2>&1 || {
+  echo
+  echo "**Error**: You must have autoconf installed to."
+  echo "Download the appropriate package for your distribution,"
+  echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
+  DIE=1
+}
+
+(grep "^AM_PROG_LIBTOOL" $srcdir/configure.ac >/dev/null) && {
+  (libtool --version) < /dev/null > /dev/null 2>&1 || {
+    echo
+    echo "**Error**: You must have libtool installed."
+    echo "Get ftp://ftp.gnu.org/pub/gnu/"
+    echo "(or a newer version if it is available)"
+    DIE=1
+  }
+}
+
+(automake --version) < /dev/null > /dev/null 2>&1 || {
+  echo
+  echo "**Error**: You must have automake installed."
+  echo "Get ftp://ftp.gnu.org/pub/gnu/"
+  echo "(or a newer version if it is available)"
+  DIE=1
+  NO_AUTOMAKE=yes
+}
+
+
+# if no automake, don't bother testing for aclocal
+test -n "$NO_AUTOMAKE" || (aclocal --version) < /dev/null > /dev/null 2>&1 || {
+  echo
+  echo "**Error**: Missing aclocal.  The version of automake"
+  echo "installed doesn't appear recent enough."
+  echo "Get ftp://ftp.gnu.org/pub/gnu/"
+  echo "(or a newer version if it is available)"
+  DIE=1
+}
+
+if test "$DIE" -eq 1; then
+  exit 1
+fi
+
+if test -z "$*"; then
+  echo
+  echo "**Warning**: I am going to run 'configure' with no arguments."
+  echo "If you wish to pass any to it, please specify them on the"
+  echo \'$0\'" command line."
+fi
+
+echo
+echo "Generate build-system by:"
+echo "   autopoint:  $(autopoint --version | head -1)"
+echo "   aclocal:    $(aclocal --version | head -1)"
+echo "   autoconf:   $(autoconf --version | head -1)"
+echo "   automake:   $(automake --version | head -1)"
+echo "   libtoolize: $(libtoolize --version | head -1)"
+echo
+
+
+set -e
+autopoint --force $AP_OPTS
+libtoolize --force --copy
+aclocal -I m4 $AL_OPTS
+autoheader $AH_OPTS
+automake --add-missing --copy --gnu $AM_OPTS
+autoconf $AC_OPTS
+
+if test x$NOCONFIGURE = x; then
+  echo Running $srcdir/configure $conf_flags "$@" ...
+  $srcdir/configure $conf_flags "$@" \
+  && echo Now type \`make\' to compile $PKG_NAME
+else
+  echo Skipping configure process.
+fi
index e88be7a..8f74740 100644 (file)
@@ -251,7 +251,7 @@ AC_DEFUN([CONFIGURE_GCRYPT], [
 ])
 
 AC_DEFUN([CONFIGURE_OPENSSL], [
-       PKG_CHECK_MODULES([OPENSSL], [openssl >= 0.9.8],,
+       PKG_CHECK_MODULES([OPENSSL], [openssl1.1 >= 0.9.8],,
                AC_MSG_ERROR([You need openssl library.]))
        CRYPTO_CFLAGS=$OPENSSL_CFLAGS
        CRYPTO_LIBS=$OPENSSL_LIBS
index 9e68072..b5394de 100644 (file)
@@ -33,6 +33,9 @@
 # include <sys/sysmacros.h>     /* for major, minor */
 #endif
 #include <linux/loop.h>
+#ifdef HAVE_SYS_SYSMACROS_H
+#include <sys/sysmacros.h>     /* for major, minor */
+#endif
 
 #include "utils_loop.h"
 
diff --git a/packaging/cryptsetup.manifest b/packaging/cryptsetup.manifest
new file mode 100644 (file)
index 0000000..808c7a9
--- /dev/null
@@ -0,0 +1,6 @@
+<manifest>
+        <request>
+                <domain name="_"/>
+        </request>
+</manifest>
+
diff --git a/packaging/cryptsetup.spec b/packaging/cryptsetup.spec
new file mode 100644 (file)
index 0000000..0ebeaea
--- /dev/null
@@ -0,0 +1,122 @@
+Name:     cryptsetup
+Summary:  The cryptsetup
+Version:  2.3.7
+Release:  1
+License:  GPL-2.0+
+Group:    Base/Device Management
+URL:      http://code.google.com/p/cryptsetup/
+Source0:  %{name}-%{version}.tar.xz
+Source1:  cryptsetup.manifest
+
+BuildRequires: linux-kernel-headers
+BuildRequires: device-mapper-devel
+BuildRequires: libgpg-error-devel
+BuildRequires: libgcrypt-devel
+BuildRequires: libuuid-devel
+BuildRequires: util-linux
+BuildRequires: popt-devel
+BuildRequires: automake
+BuildRequires: gettext
+BuildRequires: pkgconfig(json-c)
+BuildRequires: pkgconfig(libssl1.1)
+BuildRequires: pkgconfig(blkid)
+
+Requires:      libgpg-error
+Requires:      device-mapper
+Requires:      libgcrypt
+
+%description
+setup cryptographic volumes for dm-crypt (including LUKS extension)
+
+%package devel
+Summary:    The cryptsetup development package
+Group:      Development/Libraries
+License:    GPL-2.0+
+Requires:   %{name} = %{version}-%{release}
+
+%description devel
+cryptsetup development package
+
+%package locale
+License:    GPL-2.0+
+Summary:    The cryptsetup locale package
+Group:      Base/Device Management
+Requires:   %{name} = %{version}-%{release}
+
+%description locale
+locale package for cryptsetup
+
+%package doc 
+License:    GPL-2.0+
+Summary:    The cryptsetup doc package
+Group:      Base/Device Management
+Requires:   %{name} = %{version}-%{release}
+
+%description doc
+doc package for cryptsetup
+
+%prep
+%setup -q
+cp %{SOURCE1} ./%{name}.manifest
+
+%build
+cp %{SOURCE1} .
+
+chmod +x ./autogen.sh
+./autogen.sh --prefix=%{_prefix} -localedir=%{_datarootdir}/locale -libdir=%{_libdir} \
+             --disable-cryptsetup-reencrypt --disable-integritysetup
+
+make %{?jobs:-j%jobs}
+
+%install
+rm -rf %{buildroot}
+%make_install
+
+%clean
+
+%post -p /sbin/ldconfig
+
+%postun -p /sbin/ldconfig
+
+%files
+%manifest %{name}.manifest
+%license COPYING.GPL-2.0+
+%{_libdir}/libcryptsetup.so.*
+%{_prefix}/lib/tmpfiles.d/cryptsetup.conf
+%{_sbindir}/cryptsetup
+%{_sbindir}/veritysetup
+
+%files devel
+%manifest %{name}.manifest
+%license COPYING.GPL-2.0+
+%{_includedir}/libcryptsetup.h
+%{_libdir}/libcryptsetup.so
+%{_libdir}/pkgconfig/libcryptsetup.pc
+
+%files locale
+%manifest %{name}.manifest
+%license COPYING.GPL-2.0+
+%{_datarootdir}/locale/cs/LC_MESSAGES/cryptsetup.mo
+%{_datarootdir}/locale/da/LC_MESSAGES/cryptsetup.mo
+%{_datarootdir}/locale/de/LC_MESSAGES/cryptsetup.mo
+%{_datarootdir}/locale/es/LC_MESSAGES/cryptsetup.mo
+%{_datarootdir}/locale/fi/LC_MESSAGES/cryptsetup.mo
+%{_datarootdir}/locale/fr/LC_MESSAGES/cryptsetup.mo
+%{_datarootdir}/locale/id/LC_MESSAGES/cryptsetup.mo
+%{_datarootdir}/locale/it/LC_MESSAGES/cryptsetup.mo
+%{_datarootdir}/locale/ja/LC_MESSAGES/cryptsetup.mo
+%{_datarootdir}/locale/nl/LC_MESSAGES/cryptsetup.mo
+%{_datarootdir}/locale/pl/LC_MESSAGES/cryptsetup.mo
+%{_datarootdir}/locale/pt_BR/LC_MESSAGES/cryptsetup.mo
+%{_datarootdir}/locale/ru/LC_MESSAGES/cryptsetup.mo
+%{_datarootdir}/locale/sr/LC_MESSAGES/cryptsetup.mo
+%{_datarootdir}/locale/sv/LC_MESSAGES/cryptsetup.mo
+%{_datarootdir}/locale/uk/LC_MESSAGES/cryptsetup.mo
+%{_datarootdir}/locale/vi/LC_MESSAGES/cryptsetup.mo
+%{_datarootdir}/locale/zh_CN/LC_MESSAGES/cryptsetup.mo
+
+%files doc
+%manifest %{name}.manifest
+%license COPYING.GPL-2.0+
+%{_mandir}/man8/cryptsetup.8.gz
+%{_mandir}/man8/veritysetup.8.gz