Accepting request 570233 from home:enzokiel:branches:multimedia:libs

- Update to version 6.0.0:
  * restrict the number of symbols to be exposed to the
    shared-object
  * remove dvdinput_error function
  * improve compatibility with some DVDs (notably the eOne ones)
  * fix write after free in ifoFree functions
  * fix possible buffer overflow in open
  * additional checks on DVDReadBytes arguments
  * fix leaks
- Removed libdvdread-no-internal-crypto.patch because it's not
  applied anymore.

OBS-URL: https://build.opensuse.org/request/show/570233
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/libdvdread?expand=0&rev=26
This commit is contained in:
Tomáš Chvátal
2018-01-27 14:13:07 +00:00
committed by Git OBS Bridge
parent 49242b9829
commit 54a300803c
7 changed files with 26 additions and 147 deletions

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:321cdf2dbdc83c96572bc583cd27d8c660ddb540ff16672ecb28607d018ed82b
size 394885

View File

@@ -1,7 +0,0 @@
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iEYEABECAAYFAlUSv18ACgkQcYBxO+WNGtyMxgCgwQxM50ARzxHnj4MyWuLI1LKE
G58AoI/Lucjs0VBZZkmCjQKg8VEk+mSZ
=/Kcn
-----END PGP SIGNATURE-----

3
libdvdread-6.0.0.tar.bz2 Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b33b1953b4860545b75f6efc06e01d9849e2ea4f797652263b0b4af6dd10f935
size 394627

View File

@@ -0,0 +1,6 @@
-----BEGIN PGP SIGNATURE-----
iF0EABECAB0WIQRl98a0IGvQV6frc3hxgHE75Y0a3AUCWl/CXgAKCRBxgHE75Y0a
3F/3AJ9QnMbfr7cWIN64gW2SfuzHrFZpiACgl970rnPZtoEEN0CfUOuw2vMMz70=
=9mCd
-----END PGP SIGNATURE-----

View File

@@ -1,133 +0,0 @@
--- src/dvd_reader.c.orig
+++ src/dvd_reader.c
@@ -32,6 +32,7 @@
#include <unistd.h>
#include <limits.h>
#include <dirent.h>
+#include <openssl/evp.h>
/* misc win32 helpers */
#ifdef WIN32
@@ -68,7 +69,6 @@ static inline int _private_gettimeofday(
#include "dvdread/dvd_udf.h"
#include "dvd_input.h"
#include "dvdread/dvd_reader.h"
-#include "md5.h"
#define DEFAULT_UDF_CACHE_LEVEL 1
@@ -1326,7 +1326,7 @@ ssize_t DVDFileSize( dvd_file_t *dvd_fil
int DVDDiscID( dvd_reader_t *dvd, unsigned char *discid )
{
- struct md5_ctx ctx;
+ EVP_MD_CTX *ctx;
int title;
int nr_of_files = 0;
@@ -1336,7 +1336,9 @@ int DVDDiscID( dvd_reader_t *dvd, unsign
/* Go through the first 10 IFO:s, in order,
* and md5sum them, i.e VIDEO_TS.IFO and VTS_0?_0.IFO */
- md5_init_ctx( &ctx );
+ ctx = EVP_MD_CTX_create();
+ EVP_DigestInit_ex(ctx, EVP_md5(), NULL);
+
for( title = 0; title < 10; title++ ) {
dvd_file_t *dvd_file = DVDOpenFile( dvd, title, DVD_READ_INFO_FILE );
if( dvd_file != NULL ) {
@@ -1360,15 +1362,14 @@ int DVDDiscID( dvd_reader_t *dvd, unsign
free( buffer_base );
return -1;
}
-
- md5_process_bytes( buffer, file_size, &ctx );
-
+ EVP_DigestUpdate(ctx, buffer, file_size);
DVDCloseFile( dvd_file );
free( buffer_base );
nr_of_files++;
}
}
- md5_finish_ctx( &ctx, discid );
+ EVP_DigestFinal_ex(ctx, discid, NULL);
+ EVP_MD_CTX_destroy(ctx);
if(!nr_of_files)
return -1;
--- src/Makefile.am.orig
+++ src/Makefile.am
@@ -2,17 +2,17 @@ include $(top_srcdir)/misc/Makefile.comm
includedir = ${prefix}/include/dvdread
-AM_CPPFLAGS = -I$(top_srcdir)/src
+AM_CPPFLAGS = -include $(top_builddir)/config.h -I$(top_srcdir)/src
lib_LTLIBRARIES = libdvdread.la
libdvdread_la_SOURCES = dvd_reader.c nav_read.c ifo_read.c \
- dvd_input.c dvd_udf.c md5.c nav_print.c ifo_print.c bitreader.c \
- bswap.h dvd_input.h dvdread_internal.h dvd_udf.h md5.h bitreader.h
+ dvd_input.c dvd_udf.c nav_print.c ifo_print.c bitreader.c \
+ bswap.h dvd_input.h dvdread_internal.h dvd_udf.h bitreader.h
-libdvdread_la_LIBADD = $(DYNAMIC_LD_LIBS)
+libdvdread_la_LIBADD = $(DYNAMIC_LD_LIBS) $(OPENSSL_LIBS)
-libdvdread_la_LDFLAGS = -version-info $(DVDREAD_LT_CURRENT):$(DVDREAD_LT_REVISION):$(DVDREAD_LT_AGE) \
+libdvdread_la_LDFLAGS = -no-undefined -version-info $(DVDREAD_LT_CURRENT):$(DVDREAD_LT_REVISION):$(DVDREAD_LT_AGE) \
-export-symbols-regex "(^dvd.*|^nav.*|^ifo.*|^DVD.*|^UDF.*)"
include_HEADERS = dvdread/dvd_reader.h dvdread/nav_read.h dvdread/ifo_read.h \
--- configure.ac.orig
+++ configure.ac
@@ -82,10 +82,9 @@ dnl ------------------------------------
dnl Checks for programs.
dnl --------------------------------------------------------------
dnl Save CFLAGS, AC_ISC_POSIX set some unwanted default CFLAGS
-saved_CFLAGS="$CFLAGS"
-AC_ISC_POSIX
-CFLAGS="$saved_CFLAGS"
-AC_PROG_CC
+AC_PROG_CC_STDC
+AC_USE_SYSTEM_EXTENSIONS
+AC_SYS_LARGEFILE
AC_PROG_MAKE_SET
AC_PROG_INSTALL
AC_PROG_LN_S
@@ -95,17 +94,7 @@ dnl Libtool
dnl --------------------------------------------------------------
dnl LT_PREREQ only available in libtool-2.2+
dnl LT_PREREQ([1.4.0])
-AC_LIBTOOL_DLOPEN
-AC_DISABLE_STATIC
-AC_PROG_LIBTOOL
-AC_SUBST(LIBTOOL_DEPS)
-if ${CONFIG_SHELL} ./libtool --features | grep "enable static" >/dev/null; then
- STATIC="-static"
-else
- STATIC=
-fi
-AC_SUBST(STATIC)
-
+LT_INIT([disable-static pic-only])
dnl --------------------------------------------------------------
dnl Checks for header files.
dnl --------------------------------------------------------------
@@ -158,14 +147,11 @@ case $host in
;;
esac
+PKG_CHECK_MODULES(OPENSSL, openssl)
dnl ---------------------------------------------
dnl cflags
dnl ---------------------------------------------
dnl Common cflags for all platforms
-CFLAGS="-O3 -Wall -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE $CFLAGS"
-DEBUG_CFLAGS="-g -DDEBUG $CFLAGS"
-
-AC_SUBST(DEBUG_CFLAGS)
dnl ---------------------------------------------
dnl Check for doxygen (dynamic documentation generator)

View File

@@ -1,3 +1,18 @@
-------------------------------------------------------------------
Sat Jan 27 13:01:45 UTC 2018 - j.lorenzen@kabelmail.de
- Update to version 6.0.0:
* restrict the number of symbols to be exposed to the
shared-object
* remove dvdinput_error function
* improve compatibility with some DVDs (notably the eOne ones)
* fix write after free in ifoFree functions
* fix possible buffer overflow in open
* additional checks on DVDReadBytes arguments
* fix leaks
- Removed libdvdread-no-internal-crypto.patch because it's not
applied anymore.
-------------------------------------------------------------------
Thu Sep 24 19:21:21 UTC 2015 - mpluskal@suse.com

View File

@@ -1,7 +1,7 @@
#
# spec file for package libdvdread
#
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
Name: libdvdread
Version: 5.0.3
Version: 6.0.0
Release: 0
Summary: Library for Reading DVD Video Images
License: GPL-2.0+
@@ -27,7 +27,6 @@ Source0: http://download.videolan.org/videolan/%{name}/%{version}/%{name}
Source1: http://download.videolan.org/videolan/%{name}/%{version}/%{name}-%{version}.tar.bz2.asc
Source2: %{name}.keyring
Source3: baselibs.conf
Patch2: libdvdread-no-internal-crypto.patch
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: libtool
@@ -61,7 +60,6 @@ libdvdread.
%prep
%setup -q
#patch2
%build
autoreconf -fiv