Update multimedia/mythtv and related ports to 29.1 [1]
Convert multimedia/mythtv-frontend to a slave port of multimedia/mythtv which should make future updates much easier. Upstream security patches have been added to address known vulnerabilities in the bundled ffmpeg 3.2. PR: 225652 (initial patches to update to 29.0) [1] Submitted by: <lucylangthorne55@gmail.com> [1] Differential Revision: https://reviews.freebsd.org/D14563
This commit is contained in:
parent
fc45dfb12d
commit
db032688df
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=465529
@ -2,9 +2,8 @@
|
||||
# $FreeBSD$
|
||||
|
||||
PORTNAME= mythmusic
|
||||
PORTVERSION= 0.27.5
|
||||
DISTVERSIONPREFIX= v
|
||||
PORTREVISION= 1
|
||||
DISTVERSION= 29.1
|
||||
CATEGORIES= audio
|
||||
PKGNAMEPREFIX= mythplugin-
|
||||
|
||||
@ -14,30 +13,34 @@ COMMENT= Music playing plugin for MythTV
|
||||
LICENSE= GPLv2
|
||||
LICENSE_FILE= ${WRKSRC}/COPYING
|
||||
|
||||
LIB_DEPENDS= libcdio.so:sysutils/libcdio \
|
||||
libFLAC.so:audio/flac \
|
||||
LIB_DEPENDS= libFLAC.so:audio/flac \
|
||||
libmp3lame.so:audio/lame \
|
||||
libogg.so:audio/libogg \
|
||||
libvorbis.so:audio/libvorbis \
|
||||
libtag.so:audio/taglib \
|
||||
libfftw3f.so:math/fftw3-float
|
||||
BUILD_DEPENDS= mythfrontend:multimedia/mythtv
|
||||
libmyth-29.so:multimedia/mythtv
|
||||
|
||||
USE_GITHUB= yes
|
||||
GH_ACCOUNT= MythTV
|
||||
GH_PROJECT= mythtv
|
||||
USE_LDCONFIG= yes
|
||||
USE_QT5= buildtools_build core gui qmake_build sql xml
|
||||
|
||||
HAS_CONFIGURE= yes
|
||||
CONFIGURE_ARGS= --prefix="${PREFIX}" --disable-all \
|
||||
--enable-mythmusic
|
||||
DESTDIRNAME= INSTALL_ROOT
|
||||
PLIST_SUB= MYTHSHARE="share/mythtv"
|
||||
WRKSRC_SUBDIR= mythplugins
|
||||
|
||||
USE_QT4= linguist_build moc_build qmake_build rcc_build uic_build
|
||||
HAS_CONFIGURE= yes
|
||||
USE_LDCONFIG= ${PREFIX}/lib/mythtv/plugins
|
||||
DESTDIRNAME= INSTALL_ROOT
|
||||
OPTIONS_DEFINE= CDIO FFTW
|
||||
|
||||
PLIST_SUB= MYTHSHARE="share/mythtv"
|
||||
CDIO_LIB_DEPENDS= libcdio.so:sysutils/libcdio \
|
||||
libcdio_paranoia.so:sysutils/libcdio-paranoia
|
||||
CDIO_CONFIGURE_ENABLE= cdio
|
||||
|
||||
QMAKESPEC?= ${LOCALBASE}/share/qt4/mkspecs/freebsd-g++
|
||||
|
||||
CONFIGURE_ARGS= --prefix="${PREFIX}" --disable-all \
|
||||
--enable-mythmusic --enable-fftw --enable-opengl
|
||||
FFTW_DESC= FFTW3-based visualizations
|
||||
FFTW_LIB_DEPENDS= libfftw3.so:math/fftw3
|
||||
FFTW_CONFIGURE_ENABLE= fftw
|
||||
|
||||
post-patch:
|
||||
@${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \
|
||||
@ -46,4 +49,7 @@ post-patch:
|
||||
@${REINPLACE_CMD} -e 's|/usr/include|${LOCALBASE}/include|g' \
|
||||
${WRKSRC}/configure
|
||||
|
||||
post-install:
|
||||
${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/mythtv/plugins/libmythmusic.so
|
||||
|
||||
.include <bsd.port.mk>
|
||||
|
@ -1,2 +1,3 @@
|
||||
SHA256 (MythTV-mythtv-v0.27.5_GH0.tar.gz) = 7e625f94332effeadfba8e7ae7c98d44a83bfc25b7c59e39adce67dc2f4e1e1b
|
||||
SIZE (MythTV-mythtv-v0.27.5_GH0.tar.gz) = 85652939
|
||||
TIMESTAMP = 1520813358
|
||||
SHA256 (MythTV-mythtv-v29.1_GH0.tar.gz) = 04a84eb0ded2d2b123624ab2b2e1b8cf824ff4bf8216e452b2516deb929082b2
|
||||
SIZE (MythTV-mythtv-v29.1_GH0.tar.gz) = 105616234
|
||||
|
@ -1,4 +1,4 @@
|
||||
--- configure.orig 2015-06-16 16:03:30 UTC
|
||||
--- configure.orig 2018-02-01 11:15:37 UTC
|
||||
+++ configure
|
||||
@@ -227,6 +227,10 @@ add_cxxflags(){
|
||||
append ECXXFLAGS "$@"
|
||||
@ -11,22 +11,27 @@
|
||||
check_cxx(){
|
||||
log check_cxx "$@"
|
||||
cat > $TMPCXX
|
||||
@@ -561,6 +565,10 @@ OPENGLV=$(cat mythconfig.mak | grep -e "
|
||||
EXTRALIBS=$(cat mythconfig.mak | grep -e "^EXTRALIBS=")
|
||||
EXTRALIBS=${EXTRALIBS#EXTRALIBS=}
|
||||
@@ -559,6 +563,10 @@ CXXPPFLAGS=${CXXPPFLAGS#CXXPPFLAGS=}
|
||||
OPENGLV=$(cat mythconfig.mak | grep -e "^CONFIG_OPENGL_VIDEO=yes")
|
||||
OPENGLES=$(cat mythconfig.mak | grep -e "^HAVE_GLES2_GL2_H=yes")
|
||||
|
||||
+add_cppflags "-I${prefix}/include"
|
||||
+add_cxxflags "-I${prefix}/include"
|
||||
+add_ldflags "-L${prefix}/lib"
|
||||
+
|
||||
if is_qmake4 $qmake || is_qmake4 qmake-qt4; then
|
||||
if is_qmake4 qmake-qt4; then
|
||||
qmake=qmake-qt4
|
||||
@@ -657,6 +665,7 @@ if enabled music ; then
|
||||
EXTRALIBS=$(cat mythconfig.mak | grep -e "^EXTRALIBS=")
|
||||
EXTRALIBS=${EXTRALIBS#EXTRALIBS=}
|
||||
|
||||
@@ -689,8 +697,10 @@ if enabled music ; then
|
||||
echo "MythMusic requires FLAC."
|
||||
fi
|
||||
|
||||
+ enable cdio
|
||||
if ! check_lib cdio/cdio.h cdio_open -lcdio || ! check_lib cdio/cdda.h cdio_cddap_open -lcdio_cdda || ! check_lib cdio/paranoia.h cdio_paranoia_init -lcdio_paranoia ; then
|
||||
disable cdio
|
||||
- if ! check_lib cdio/cdio.h cdio_open -lcdio || ! check_lib cdio/cdda.h cdio_cddap_open -lcdio_cdda || ! check_lib cdio/paranoia.h cdio_paranoia_init -lcdio_paranoia ; then
|
||||
- disable cdio
|
||||
+ if enabled cdio; then
|
||||
+ if ! check_lib cdio/cdio.h cdio_open -lcdio || ! check_lib cdio/paranoia/cdda.h cdio_cddap_open -lcdio_cdda || ! check_lib cdio/paranoia/paranoia.h cdio_paranoia_init -lcdio_paranoia ; then
|
||||
+ disable cdio
|
||||
+ fi
|
||||
fi
|
||||
|
||||
if ! check_lib lame/lame.h lame_init -lmp3lame ; then
|
||||
|
@ -0,0 +1,13 @@
|
||||
libcdio-paranoia header location changed after moving to separate project circa 2012
|
||||
|
||||
--- mythmusic/mythmusic/cddecoder.cpp.orig 2018-02-01 11:15:37 UTC
|
||||
+++ mythmusic/mythmusic/cddecoder.cpp
|
||||
@@ -14,7 +14,7 @@
|
||||
#include <QString>
|
||||
|
||||
// libcdio
|
||||
-#include <cdio/cdda.h>
|
||||
+#include <cdio/paranoia/cdda.h>
|
||||
#include <cdio/logging.h>
|
||||
|
||||
// MythTV
|
@ -0,0 +1,15 @@
|
||||
libcdio-paranoia header location changed after moving to separate project circa 2012
|
||||
|
||||
--- mythmusic/mythmusic/cddecoder.h.orig 2018-02-01 11:15:37 UTC
|
||||
+++ mythmusic/mythmusic/cddecoder.h
|
||||
@@ -11,8 +11,8 @@ using std::vector;
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_CDIO
|
||||
-# include <cdio/cdda.h>
|
||||
-# include <cdio/paranoia.h>
|
||||
+# include <cdio/paranoia/cdda.h>
|
||||
+# include <cdio/paranoia/paranoia.h>
|
||||
#endif
|
||||
|
||||
class MusicMetadata;
|
@ -0,0 +1,25 @@
|
||||
libcdio-paranoia header location changed after moving to separate project circa 2012
|
||||
Fix warning: logical not is only applied to the left hand side of comparison
|
||||
|
||||
--- mythmusic/mythmusic/cdrip.cpp.orig 2018-02-01 11:15:37 UTC
|
||||
+++ mythmusic/mythmusic/cdrip.cpp
|
||||
@@ -8,8 +8,8 @@
|
||||
|
||||
#include "config.h"
|
||||
#ifdef HAVE_CDIO
|
||||
-# include <cdio/cdda.h>
|
||||
-# include <cdio/paranoia.h>
|
||||
+# include <cdio/paranoia/cdda.h>
|
||||
+# include <cdio/paranoia/paranoia.h>
|
||||
#endif //def HAVE_CDIO
|
||||
|
||||
// C++ includes
|
||||
@@ -219,7 +219,7 @@ void CDRipperThread::run(void)
|
||||
{
|
||||
RunProlog();
|
||||
|
||||
- if (!m_tracks->size() > 0)
|
||||
+ if (!(m_tracks->size() > 0))
|
||||
{
|
||||
RunEpilog();
|
||||
return;
|
12
audio/mythplugin-mythmusic/files/patch-settings.pro
Normal file
12
audio/mythplugin-mythmusic/files/patch-settings.pro
Normal file
@ -0,0 +1,12 @@
|
||||
Prevent linking to unneccessary libraries
|
||||
|
||||
--- settings.pro.orig 2018-02-25 02:52:28 UTC
|
||||
+++ settings.pro
|
||||
@@ -34,6 +34,7 @@ QMAKE_CXXFLAGS += $$ARCHFLAGS
|
||||
QMAKE_CXXFLAGS += $$CONFIG_DIRECTFB_CXXFLAGS
|
||||
QMAKE_CXXFLAGS_SHLIB = -DPIC -fPIC
|
||||
QMAKE_CXXFLAGS += $$ECXXFLAGS
|
||||
+QMAKE_LFLAGS += -Wl,--as-needed
|
||||
|
||||
profile:!win32:!macx:CONFIG += debug
|
||||
|
@ -25,7 +25,6 @@ lib/mythtv/plugins/libmythmusic.so
|
||||
%%MYTHSHARE%%/i18n/mythmusic_sv.qm
|
||||
%%MYTHSHARE%%/music_settings.xml
|
||||
%%MYTHSHARE%%/musicmenu.xml
|
||||
%%MYTHSHARE%%/mythmusic/streams.xml
|
||||
%%MYTHSHARE%%/themes/default-wide/mm-titlelines.png
|
||||
%%MYTHSHARE%%/themes/default-wide/mm_blackhole_border.png
|
||||
%%MYTHSHARE%%/themes/default-wide/mm_volume_background.png
|
||||
|
@ -1,88 +1,14 @@
|
||||
# Created by: Bernhard Froehlich <decke@bluelife.at>
|
||||
# $FreeBSD$
|
||||
|
||||
PORTNAME= mythtv-frontend
|
||||
DISTVERSIONPREFIX= v
|
||||
DISTVERSION= 0.27.5
|
||||
PORTEPOCH= 1
|
||||
CATEGORIES= multimedia
|
||||
PORTREVISION= 0
|
||||
PKGNAMESUFFIX= -${SLAVEPORT}
|
||||
|
||||
MAINTAINER= ports@FreeBSD.org
|
||||
COMMENT= MythTV is a homebrew PVR project
|
||||
COMMENT= MythTV is a homebrew PVR project (frontend only)
|
||||
|
||||
LICENSE= GPLv2
|
||||
LICENSE_FILE= ${WRKSRC}/COPYING
|
||||
MASTERDIR= ${.CURDIR}/../../multimedia/mythtv
|
||||
SLAVEPORT= frontend
|
||||
PLIST= ${.CURDIR}/pkg-plist
|
||||
|
||||
BUILD_DEPENDS= ${LOCALBASE}/include/linux/videodev2.h:multimedia/v4l_compat \
|
||||
yasm:devel/yasm
|
||||
LIB_DEPENDS= libmp3lame.so:audio/lame \
|
||||
libfreetype.so:print/freetype2 \
|
||||
libtag.so:audio/taglib \
|
||||
libxml2.so:textproc/libxml2
|
||||
|
||||
CONFLICTS= mythtv-[0-9]*
|
||||
|
||||
USE_GITHUB= yes
|
||||
GH_ACCOUNT= MythTV
|
||||
GH_PROJECT= mythtv
|
||||
|
||||
WRKSRC_SUBDIR= ${GH_PROJECT}
|
||||
|
||||
ONLY_FOR_ARCHS= i386 amd64
|
||||
NOPRECIOUSMAKEVARS= # don't override $(ARCH) in ffmpeg makefiles
|
||||
USES= gmake libtool pkgconfig
|
||||
USE_QT4= gui sql network script linguist_build l10n sql-mysql_run \
|
||||
moc_build qmake_build rcc_build uic_build
|
||||
QT_NONSTANDARD= yes
|
||||
HAS_CONFIGURE= yes
|
||||
USE_LDCONFIG= ${PREFIX}/lib/mythtv/filters
|
||||
REINPLACE_ARGS= -i ""
|
||||
DESTDIRNAME= INSTALL_ROOT
|
||||
|
||||
DATADIR= ${PREFIX}/share/mythtv
|
||||
|
||||
MAKE_ENV= QTDIR="${PREFIX}" \
|
||||
QMAKESPEC="${QMAKESPEC}"
|
||||
|
||||
CPPFLAGS+= ${QTCPPFLAGS}
|
||||
CONFIGURE_ENV+= QMAKESPEC="${QMAKESPEC}" MOC="${MOC}" \
|
||||
QTDIR="${PREFIX}" \
|
||||
PKG_CONFIG_PATH="${LOCALBASE}/libdata/pkgconfig"
|
||||
LDFLAGS+= -L${LOCALBASE}/lib
|
||||
|
||||
CONFIGURE_ARGS= --prefix="${PREFIX}" --cc="${CC}" --cxx="${CXX}" --libxml2-path="${LOCALBASE}/include/libxml2" \
|
||||
--disable-audio-alsa --disable-indev=alsa --disable-outdev=alsa --disable-mythlogserver \
|
||||
--disable-firewire --disable-hdhomerun --disable-v4l2 --disable-ivtv --disable-hdpvr \
|
||||
--disable-dvb --enable-opengl-video --without-bindings=perl,python,php
|
||||
|
||||
QMAKESPEC?= ${LOCALBASE}/share/qt4/mkspecs/freebsd-g++
|
||||
|
||||
DESKTOP_ENTRIES="MythTV Frontend" "MythTV is a homebrew PVR project" "" \
|
||||
"mythfrontend" "AudioVideo;Video;" false
|
||||
|
||||
OPTIONS_DEFINE= OPENGL JACK PULSEAUDIO VDPAU
|
||||
OPTIONS_DEFAULT= OPENGL
|
||||
|
||||
JACK_LIB_DEPENDS= libjack.so:audio/jack
|
||||
JACK_CONFIGURE_ENABLE= audio-jack
|
||||
|
||||
PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio
|
||||
PULSEAUDIO_CONFIGURE_ENABLE= audio-pulseoutput
|
||||
|
||||
VDPAU_LIB_DEPENDS= libvdpau.so:multimedia/libvdpau
|
||||
VDPAU_CONFIGURE_ENABLE= vdpau
|
||||
|
||||
OPENGL_CONFIGURE_ENABLE= opengl-video
|
||||
OPENGL_USE= QT4=opengl
|
||||
|
||||
post-patch:
|
||||
@${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \
|
||||
${WRKSRC}/configure \
|
||||
${WRKSRC}/libs/libmythtv/libmythtv.pro \
|
||||
${WRKSRC}/bindings/perl/MythTV/Recording.pm \
|
||||
${WRKSRC}/programs/mythtranscode/replex/Makefile.standalone \
|
||||
${WRKSRC}/programs/scripts/database/mythconverg_backup.pl \
|
||||
${WRKSRC}/programs/scripts/database/mythconverg_restore.pl \
|
||||
${WRKSRC}/programs/mythcommflag/mythcommflag-analyze
|
||||
|
||||
.include <bsd.port.mk>
|
||||
.include "${MASTERDIR}/Makefile"
|
||||
|
@ -1,3 +0,0 @@
|
||||
TIMESTAMP = 1513802652
|
||||
SHA256 (MythTV-mythtv-v0.27.5_GH0.tar.gz) = 7e625f94332effeadfba8e7ae7c98d44a83bfc25b7c59e39adce67dc2f4e1e1b
|
||||
SIZE (MythTV-mythtv-v0.27.5_GH0.tar.gz) = 85652939
|
@ -1,78 +0,0 @@
|
||||
--- configure.orig 2013-09-18 20:06:08.000000000 +0000
|
||||
+++ configure 2013-10-18 11:11:10.000000000 +0000
|
||||
@@ -846,28 +846,28 @@
|
||||
log check_cc "$@"
|
||||
cat > $TMPC
|
||||
log_file $TMPC
|
||||
- check_cmd $cc $CPPFLAGS $CFLAGS "$@" $CC_C $(cc_o $TMPO) $TMPC
|
||||
+ check_cmd $cc $CPPFLAGS $CFLAGS -I${prefix}/include "$@" $CC_C $(cc_o $TMPO) $TMPC
|
||||
}
|
||||
|
||||
check_cxx(){
|
||||
log check_cxx "$@"
|
||||
cat > $TMPCPP
|
||||
log_file $TMPCPP
|
||||
- check_cmd $cxx $CPPFLAGS $CXXFLAGS "$@" $CXX_C -o $TMPO $TMPCPP
|
||||
+ check_cmd $cxx $CPPFLAGS $CXXFLAGS -I${prefix}/include "$@" $CXX_C -o $TMPO $TMPCPP
|
||||
}
|
||||
|
||||
check_ecxx(){
|
||||
log check_cxx "$@"
|
||||
cat > $TMPCPP
|
||||
log_file $TMPCPP
|
||||
- check_cmd $cxx $CPPFLAGS $CXXFLAGS $ECXXFLAGS "$@" $CXX_C -o $TMPO $TMPCPP
|
||||
+ check_cmd $cxx $CPPFLAGS $CXXFLAGS $ECXXFLAGS -I${prefix}/include "$@" $CXX_C -o $TMPO $TMPCPP
|
||||
}
|
||||
|
||||
check_cpp(){
|
||||
log check_cpp "$@"
|
||||
cat > $TMPC
|
||||
log_file $TMPC
|
||||
- check_cmd $cc $CPPFLAGS $CFLAGS "$@" $(cc_e $TMPO) $TMPC
|
||||
+ check_cmd $cc $CPPFLAGS $CFLAGS -I${prefix}/include "$@" $(cc_e $TMPO) $TMPC
|
||||
}
|
||||
|
||||
as_o(){
|
||||
@@ -2539,7 +2539,7 @@
|
||||
|
||||
# machine
|
||||
arch_default=$(uname -m)
|
||||
-cpu="generic"
|
||||
+cpu="i686"
|
||||
processor=`uname -p 2>/dev/null`
|
||||
processor_flags=""
|
||||
tune="generic"
|
||||
@@ -3931,7 +3931,7 @@
|
||||
i686|pentiumpro|pentium[23]|pentium-m|athlon|athlon-tbird|athlon-4|athlon-[mx]p|athlon64*|k8*|opteron*|athlon-fx|core2|corei7*|amdfam10|barcelona|atom|bdver*)
|
||||
cpuflags="-march=$cpu"
|
||||
enable cmov
|
||||
- enable fast_cmov
|
||||
+ disable fast_cmov
|
||||
;;
|
||||
# targets that do support conditional mov but on which it's slow
|
||||
pentium4|pentium4m|prescott|nocona)
|
||||
@@ -4102,7 +4102,6 @@
|
||||
append CCONFIG "freebsd"
|
||||
# Workaround compile errors from missing u_int/uint def
|
||||
CPPFLAGS=`echo $CPPFLAGS | sed 's/-D_POSIX_C_SOURCE=200112//'`
|
||||
- disable ivtv
|
||||
enable backend
|
||||
;;
|
||||
bsd/os)
|
||||
@@ -6383,6 +6382,7 @@
|
||||
QMAKE_LIBDIR_QT-=${sysroot}${libdir}
|
||||
QMAKE_LIBDIR-=${sysroot}${libdir}
|
||||
LATE_LIBS+=-L${sysroot}${libdir}
|
||||
+FREETYPE_CFLAGS-= -I/usr/local/include
|
||||
EOF
|
||||
|
||||
#echo "endif # FFMPEG_CONFIG_MAK" >> $TMPMAK
|
||||
@@ -6435,7 +6435,7 @@
|
||||
BINDIR=\$(INSTALL_ROOT)$bindir
|
||||
DATADIR=\$(INSTALL_ROOT)$datadir
|
||||
MANDIR=\$(INSTALL_ROOT)$mandir
|
||||
-CFLAGS=${CFLAGS} -w
|
||||
+CFLAGS=${CFLAGS} -I/usr/local/include -w
|
||||
endif # FFMPEG_CONFIG_MAK
|
||||
EOF
|
||||
|
@ -1,22 +0,0 @@
|
||||
--- external/FFmpeg/configure.orig 2010-08-23 18:54:20.000000000 +0200
|
||||
+++ external/FFmpeg/configure 2010-11-01 21:13:19.000000000 +0100
|
||||
@@ -1528,8 +1528,8 @@
|
||||
nm_opts='-g'
|
||||
|
||||
# machine
|
||||
-arch_default=$(uname -m)
|
||||
-cpu="generic"
|
||||
+arch_default=$(uname -p)
|
||||
+cpu="i686"
|
||||
|
||||
# OS
|
||||
target_os_default=$(tolower $(uname -s))
|
||||
@@ -2108,7 +2108,7 @@
|
||||
i686|pentiumpro|pentium[23]|pentium-m|athlon|athlon-tbird|athlon-4|athlon-[mx]p|athlon64|k8|opteron|athlon-fx|core2|amdfam10|barcelona)
|
||||
cpuflags="-march=$cpu"
|
||||
enable cmov
|
||||
- enable fast_cmov
|
||||
+ disable fast_cmov
|
||||
;;
|
||||
# targets that do support conditional mov but on which it's slow
|
||||
pentium4|pentium4m|prescott|nocona)
|
@ -1,11 +0,0 @@
|
||||
--- external/FFmpeg/libavcodec/x86/ac3dsp_init.c.orig 2013-09-18 20:06:08.000000000 +0000
|
||||
+++ external/FFmpeg/libavcodec/x86/ac3dsp_init.c 2013-10-18 11:58:01.000000000 +0000
|
||||
@@ -51,7 +51,7 @@
|
||||
extern void ff_ac3_extract_exponents_sse2 (uint8_t *exp, int32_t *coef, int nb_coefs);
|
||||
extern void ff_ac3_extract_exponents_ssse3(uint8_t *exp, int32_t *coef, int nb_coefs);
|
||||
|
||||
-#if ARCH_X86_32 && defined(__INTEL_COMPILER)
|
||||
+#if ARCH_X86_32 && (defined(__INTEL_COMPILER) || defined(__clang__))
|
||||
# undef HAVE_7REGS
|
||||
# define HAVE_7REGS 0
|
||||
#endif
|
@ -1,10 +0,0 @@
|
||||
--- external/zeromq/src/Makefile.am.orig 2015-11-16 14:31:23.735432710 +0000
|
||||
+++ external/zeromq/src/Makefile.am 2015-11-16 14:28:48.465433398 +0000
|
||||
@@ -1,6 +1,6 @@
|
||||
lib_LTLIBRARIES = libmythzmq.la
|
||||
|
||||
-pkgconfigdir = $(libdir)/pkgconfig
|
||||
+pkgconfigdir = $(PKG_CONFIG_PATH)
|
||||
pkgconfig_DATA = libmythzmq.pc
|
||||
|
||||
include_HEADERS = ../include/zmq.h ../include/zmq.hpp ../include/zmq_utils.h
|
@ -1,11 +0,0 @@
|
||||
--- libs/libmyth/remoteutil.h.orig 2013-09-18 16:06:08.000000000 -0400
|
||||
+++ libs/libmyth/remoteutil.h 2014-01-22 08:26:34.000000000 -0500
|
||||
@@ -8,6 +8,7 @@
|
||||
using namespace std;
|
||||
|
||||
#include "mythexp.h"
|
||||
+#include <sys/types.h>
|
||||
|
||||
class ProgramInfo;
|
||||
class MythEvent;
|
||||
|
@ -1,11 +0,0 @@
|
||||
--- libs/libmythdvdnav/dvdnav/dvdnav.c.orig 2012-03-18 12:13:45.805789048 +0100
|
||||
+++ libs/libmythdvdnav/dvdnav/dvdnav.c 2012-03-18 12:12:47.166812027 +0100
|
||||
@@ -33,7 +33,7 @@
|
||||
#include <limits.h>
|
||||
#include <string.h>
|
||||
#include <sys/time.h>
|
||||
-#include "dvdnav/dvdnav.h"
|
||||
+#include "dvdnav.h"
|
||||
#include <dvdread/dvd_reader.h>
|
||||
#include <dvdread/nav_types.h>
|
||||
#include <dvdread/ifo_types.h> /* For vm_cmd_t */
|
@ -1,29 +0,0 @@
|
||||
--- libs/libmythtv/recorders/dvbstreamhandler.cpp.orig 2012-03-05 03:31:31.000000000 +0100
|
||||
+++ libs/libmythtv/recorders/dvbstreamhandler.cpp 2012-03-18 11:24:44.309770699 +0100
|
||||
@@ -614,7 +614,7 @@
|
||||
{
|
||||
struct dmx_pes_filter_params pesFilterParams;
|
||||
memset(&pesFilterParams, 0, sizeof(struct dmx_pes_filter_params));
|
||||
- pesFilterParams.pid = (__u16) _pid;
|
||||
+ pesFilterParams.pid = (uint16_t) _pid;
|
||||
pesFilterParams.input = DMX_IN_FRONTEND;
|
||||
pesFilterParams.output = DMX_OUT_TS_TAP;
|
||||
pesFilterParams.flags = DMX_IMMEDIATE_START;
|
||||
@@ -634,7 +634,7 @@
|
||||
{
|
||||
struct dmx_sct_filter_params sctFilterParams;
|
||||
memset(&sctFilterParams, 0, sizeof(struct dmx_sct_filter_params));
|
||||
- switch ( (__u16) _pid )
|
||||
+ switch ( (uint16_t) _pid )
|
||||
{
|
||||
case 0x0: // PAT
|
||||
sctFilterParams.filter.filter[0] = 0;
|
||||
@@ -670,7 +670,7 @@
|
||||
sctFilterParams.filter.mask[0] = 0x00;
|
||||
break;
|
||||
}
|
||||
- sctFilterParams.pid = (__u16) _pid;
|
||||
+ sctFilterParams.pid = (uint16_t) _pid;
|
||||
sctFilterParams.timeout = 0;
|
||||
sctFilterParams.flags = DMX_IMMEDIATE_START;
|
||||
|
@ -1,11 +0,0 @@
|
||||
--- libs/libmythtv/videoout_vdpau.cpp.orig 2010-02-27 06:58:11.000000000 +0100
|
||||
+++ libs/libmythtv/videoout_vdpau.cpp 2010-04-06 17:40:50.000000000 +0200
|
||||
@@ -395,7 +395,7 @@
|
||||
if (frame)
|
||||
{
|
||||
// FIXME for 0.23. This should be triggered from AFD by a seek
|
||||
- if ((abs(frame->frameNumber - framesPlayed) > 8))
|
||||
+ if ((labs(frame->frameNumber - framesPlayed) > 8))
|
||||
ClearReferenceFrames();
|
||||
new_frame = (framesPlayed != frame->frameNumber + 1);
|
||||
framesPlayed = frame->frameNumber + 1;
|
@ -1,19 +0,0 @@
|
||||
--- libs/libmythui/mythgesture.cpp.orig 2013-09-18 16:06:08.000000000 -0400
|
||||
+++ libs/libmythui/mythgesture.cpp 2014-01-22 08:20:33.000000000 -0500
|
||||
@@ -28,6 +28,7 @@
|
||||
|
||||
#include "mythgesture.h"
|
||||
|
||||
+#include <cstdlib>
|
||||
#include <cmath>
|
||||
#include <algorithm>
|
||||
|
||||
@@ -283,7 +284,7 @@
|
||||
int dely = p.y() - points.back().y();
|
||||
|
||||
/* step by the greatest delta direction */
|
||||
- if (abs(delx) > abs(dely))
|
||||
+ if (std::abs(delx) > std::abs(dely))
|
||||
{
|
||||
float iy = points.back().y();
|
||||
|
@ -1,9 +0,0 @@
|
||||
--- libs/libmythui/mythpainter.cpp.orig 2013-09-18 16:06:08.000000000 -0400
|
||||
+++ libs/libmythui/mythpainter.cpp 2014-01-22 08:18:40.000000000 -0500
|
||||
@@ -1,5 +1,6 @@
|
||||
#include <stdint.h>
|
||||
#include <algorithm>
|
||||
+#include <cstdlib>
|
||||
|
||||
// QT headers
|
||||
#include <QRect>
|
@ -1,11 +0,0 @@
|
||||
--- libs/libmythupnp/mmulticastsocketdevice.h.orig 2013-09-18 16:06:08.000000000 -0400
|
||||
+++ libs/libmythupnp/mmulticastsocketdevice.h 2014-01-22 08:24:26.000000000 -0500
|
||||
@@ -18,6 +18,7 @@
|
||||
# include <ws2tcpip.h>
|
||||
# endif
|
||||
#else
|
||||
+# include <sys/types.h>
|
||||
# include <sys/socket.h>
|
||||
# include <netinet/in.h>
|
||||
# include <netinet/ip.h>
|
||||
|
@ -1,12 +0,0 @@
|
||||
--- programs/programs.pro.orig 2012-03-19 06:39:10.000000000 +0100
|
||||
+++ programs/programs.pro 2012-03-21 23:55:00.883069453 +0100
|
||||
@@ -11,9 +11,4 @@
|
||||
!mingw: SUBDIRS += mythtranscode/replex
|
||||
}
|
||||
|
||||
-using_backend {
|
||||
- SUBDIRS += mythbackend mythfilldatabase mythtv-setup scripts
|
||||
- SUBDIRS += mythmetadatalookup
|
||||
-}
|
||||
-
|
||||
using_mythtranscode: SUBDIRS += mythtranscode
|
@ -1,6 +0,0 @@
|
||||
MythTV is a "Personal Video Recorder", i.e. a computer-based video
|
||||
recorder. It supports pausing and rewinding live TV, multiple tuner
|
||||
cards, hardware or software video compression, onscreen program guides
|
||||
and a distributed architecture.
|
||||
|
||||
WWW: http://www.mythtv.org/
|
@ -15,21 +15,14 @@ bin/mythshutdown
|
||||
bin/mythtranscode
|
||||
bin/mythutil
|
||||
bin/mythwelcome
|
||||
include/mythtv/QJson/Parser
|
||||
include/mythtv/QJson/QObjectHelper
|
||||
include/mythtv/QJson/Serializer
|
||||
include/mythtv/QJson/parser.h
|
||||
include/mythtv/QJson/parserrunnable.h
|
||||
include/mythtv/QJson/qjson_export.h
|
||||
include/mythtv/QJson/qobjecthelper.h
|
||||
include/mythtv/QJson/serializer.h
|
||||
include/mythtv/QJson/serializerrunnable.h
|
||||
include/mythtv/audioconvert.h
|
||||
include/mythtv/audiooutput.h
|
||||
include/mythtv/audiooutputsettings.h
|
||||
include/mythtv/audiooutpututil.h
|
||||
include/mythtv/audiosettings.h
|
||||
include/mythtv/autodeletedeque.h
|
||||
include/mythtv/blockinput.h
|
||||
include/mythtv/bluray/array.h
|
||||
include/mythtv/bluray/attributes.h
|
||||
include/mythtv/bluray/bdid_parse.h
|
||||
include/mythtv/bluray/bdparse.h
|
||||
@ -37,10 +30,11 @@ include/mythtv/bluray/bits.h
|
||||
include/mythtv/bluray/bluray.h
|
||||
include/mythtv/bluray/clpi_data.h
|
||||
include/mythtv/bluray/clpi_parse.h
|
||||
include/mythtv/bluray/dirs.h
|
||||
include/mythtv/bluray/dl.h
|
||||
include/mythtv/bluray/event_queue.h
|
||||
include/mythtv/bluray/extdata_parse.h
|
||||
include/mythtv/bluray/file.h
|
||||
include/mythtv/bluray/file_mythiowrapper.h
|
||||
include/mythtv/bluray/filesystem.h
|
||||
include/mythtv/bluray/hdmv_insn.h
|
||||
include/mythtv/bluray/hdmv_vm.h
|
||||
@ -50,12 +44,17 @@ include/mythtv/bluray/logging.h
|
||||
include/mythtv/bluray/macro.h
|
||||
include/mythtv/bluray/meta_data.h
|
||||
include/mythtv/bluray/meta_parse.h
|
||||
include/mythtv/bluray/mobj_data.h
|
||||
include/mythtv/bluray/mobj_parse.h
|
||||
include/mythtv/bluray/mobj_print.h
|
||||
include/mythtv/bluray/mount.h
|
||||
include/mythtv/bluray/mpls_parse.h
|
||||
include/mythtv/bluray/mutex.h
|
||||
include/mythtv/bluray/navigation.h
|
||||
include/mythtv/bluray/refcnt.h
|
||||
include/mythtv/bluray/sound_parse.h
|
||||
include/mythtv/bluray/strutl.h
|
||||
include/mythtv/bluray/time.h
|
||||
include/mythtv/bluray/uo_mask_table.h
|
||||
include/mythtv/bonjourregister.h
|
||||
include/mythtv/bswap.h
|
||||
@ -80,18 +79,24 @@ include/mythtv/iso639.h
|
||||
include/mythtv/langsettings.h
|
||||
include/mythtv/lcddevice.h
|
||||
include/mythtv/libavcodec/avcodec.h
|
||||
include/mythtv/libavcodec/avdct.h
|
||||
include/mythtv/libavcodec/avfft.h
|
||||
include/mythtv/libavcodec/d3d11va.h
|
||||
include/mythtv/libavcodec/dirac.h
|
||||
include/mythtv/libavcodec/dv_profile.h
|
||||
include/mythtv/libavcodec/dxva2.h
|
||||
include/mythtv/libavcodec/old_codec_ids.h
|
||||
include/mythtv/libavcodec/jni.h
|
||||
include/mythtv/libavcodec/mediacodec.h
|
||||
include/mythtv/libavcodec/qsv.h
|
||||
include/mythtv/libavcodec/vaapi.h
|
||||
include/mythtv/libavcodec/vda.h
|
||||
include/mythtv/libavcodec/vdpau.h
|
||||
include/mythtv/libavcodec/version.h
|
||||
include/mythtv/libavcodec/videotoolbox.h
|
||||
include/mythtv/libavcodec/vorbis_parser.h
|
||||
include/mythtv/libavcodec/xvmc.h
|
||||
include/mythtv/libavdevice/avdevice.h
|
||||
include/mythtv/libavdevice/version.h
|
||||
include/mythtv/libavfilter/asrc_abuffer.h
|
||||
include/mythtv/libavfilter/avcodec.h
|
||||
include/mythtv/libavfilter/avfilter.h
|
||||
include/mythtv/libavfilter/avfiltergraph.h
|
||||
include/mythtv/libavfilter/buffersink.h
|
||||
@ -102,9 +107,9 @@ include/mythtv/libavformat/avio.h
|
||||
include/mythtv/libavformat/version.h
|
||||
include/mythtv/libavutil/adler32.h
|
||||
include/mythtv/libavutil/aes.h
|
||||
include/mythtv/libavutil/aes_ctr.h
|
||||
include/mythtv/libavutil/attributes.h
|
||||
include/mythtv/libavutil/audio_fifo.h
|
||||
include/mythtv/libavutil/audioconvert.h
|
||||
include/mythtv/libavutil/avassert.h
|
||||
include/mythtv/libavutil/avconfig.h
|
||||
include/mythtv/libavutil/avstring.h
|
||||
@ -113,38 +118,65 @@ include/mythtv/libavutil/base64.h
|
||||
include/mythtv/libavutil/blowfish.h
|
||||
include/mythtv/libavutil/bprint.h
|
||||
include/mythtv/libavutil/bswap.h
|
||||
include/mythtv/libavutil/buffer.h
|
||||
include/mythtv/libavutil/camellia.h
|
||||
include/mythtv/libavutil/cast5.h
|
||||
include/mythtv/libavutil/channel_layout.h
|
||||
include/mythtv/libavutil/common.h
|
||||
include/mythtv/libavutil/cpu.h
|
||||
include/mythtv/libavutil/crc.h
|
||||
include/mythtv/libavutil/des.h
|
||||
include/mythtv/libavutil/dict.h
|
||||
include/mythtv/libavutil/display.h
|
||||
include/mythtv/libavutil/downmix_info.h
|
||||
include/mythtv/libavutil/error.h
|
||||
include/mythtv/libavutil/eval.h
|
||||
include/mythtv/libavutil/ffversion.h
|
||||
include/mythtv/libavutil/fifo.h
|
||||
include/mythtv/libavutil/file.h
|
||||
include/mythtv/libavutil/frame.h
|
||||
include/mythtv/libavutil/hash.h
|
||||
include/mythtv/libavutil/hmac.h
|
||||
include/mythtv/libavutil/hwcontext.h
|
||||
include/mythtv/libavutil/hwcontext_cuda.h
|
||||
include/mythtv/libavutil/hwcontext_dxva2.h
|
||||
include/mythtv/libavutil/hwcontext_qsv.h
|
||||
include/mythtv/libavutil/hwcontext_vaapi.h
|
||||
include/mythtv/libavutil/hwcontext_vdpau.h
|
||||
include/mythtv/libavutil/imgutils.h
|
||||
include/mythtv/libavutil/intfloat.h
|
||||
include/mythtv/libavutil/intfloat_readwrite.h
|
||||
include/mythtv/libavutil/intreadwrite.h
|
||||
include/mythtv/libavutil/lfg.h
|
||||
include/mythtv/libavutil/log.h
|
||||
include/mythtv/libavutil/lzo.h
|
||||
include/mythtv/libavutil/macros.h
|
||||
include/mythtv/libavutil/mastering_display_metadata.h
|
||||
include/mythtv/libavutil/mathematics.h
|
||||
include/mythtv/libavutil/md5.h
|
||||
include/mythtv/libavutil/mem.h
|
||||
include/mythtv/libavutil/old_pix_fmts.h
|
||||
include/mythtv/libavutil/motion_vector.h
|
||||
include/mythtv/libavutil/murmur3.h
|
||||
include/mythtv/libavutil/opt.h
|
||||
include/mythtv/libavutil/parseutils.h
|
||||
include/mythtv/libavutil/pixdesc.h
|
||||
include/mythtv/libavutil/pixelutils.h
|
||||
include/mythtv/libavutil/pixfmt.h
|
||||
include/mythtv/libavutil/random_seed.h
|
||||
include/mythtv/libavutil/rational.h
|
||||
include/mythtv/libavutil/rc4.h
|
||||
include/mythtv/libavutil/replaygain.h
|
||||
include/mythtv/libavutil/ripemd.h
|
||||
include/mythtv/libavutil/samplefmt.h
|
||||
include/mythtv/libavutil/sha.h
|
||||
include/mythtv/libavutil/sha512.h
|
||||
include/mythtv/libavutil/stereo3d.h
|
||||
include/mythtv/libavutil/tea.h
|
||||
include/mythtv/libavutil/threadmessage.h
|
||||
include/mythtv/libavutil/time.h
|
||||
include/mythtv/libavutil/timecode.h
|
||||
include/mythtv/libavutil/timestamp.h
|
||||
include/mythtv/libavutil/tree.h
|
||||
include/mythtv/libavutil/twofish.h
|
||||
include/mythtv/libavutil/version.h
|
||||
include/mythtv/libavutil/xtea.h
|
||||
include/mythtv/libmyth/audioconvert.h
|
||||
@ -167,22 +199,18 @@ include/mythtv/libmyth/mythwidgets.h
|
||||
include/mythtv/libmyth/mythwizard.h
|
||||
include/mythtv/libmyth/netgrabbermanager.h
|
||||
include/mythtv/libmyth/netutils.h
|
||||
include/mythtv/libmyth/oldsettings.h
|
||||
include/mythtv/libmyth/output.h
|
||||
include/mythtv/libmyth/programinfo.h
|
||||
include/mythtv/libmyth/programtypes.h
|
||||
include/mythtv/libmyth/recordingtypes.h
|
||||
include/mythtv/libmyth/remotefile.h
|
||||
include/mythtv/libmyth/remoteutil.h
|
||||
include/mythtv/libmyth/rssparse.h
|
||||
include/mythtv/libmyth/schemawizard.h
|
||||
include/mythtv/libmyth/settings.h
|
||||
include/mythtv/libmyth/standardsettings.h
|
||||
include/mythtv/libmyth/storagegroupeditor.h
|
||||
include/mythtv/libmyth/uitypes.h
|
||||
include/mythtv/libmyth/virtualkeyboard_qt.h
|
||||
include/mythtv/libmyth/visual.h
|
||||
include/mythtv/libmyth/volumebase.h
|
||||
include/mythtv/libmyth/xmlparse.h
|
||||
include/mythtv/libmythbase/autodeletedeque.h
|
||||
include/mythtv/libmythbase/bonjourregister.h
|
||||
include/mythtv/libmythbase/bswap.h
|
||||
@ -196,7 +224,6 @@ include/mythtv/libmythbase/iso3166.h
|
||||
include/mythtv/libmythbase/iso639.h
|
||||
include/mythtv/libmythbase/lcddevice.h
|
||||
include/mythtv/libmythbase/loggingserver.h
|
||||
include/mythtv/libmythbase/mcodecs.h
|
||||
include/mythtv/libmythbase/mthread.h
|
||||
include/mythtv/libmythbase/mthreadpool.h
|
||||
include/mythtv/libmythbase/mythbaseexp.h
|
||||
@ -222,6 +249,7 @@ include/mythtv/libmythbase/mythobservable.h
|
||||
include/mythtv/libmythbase/mythplugin.h
|
||||
include/mythtv/libmythbase/mythpluginapi.h
|
||||
include/mythtv/libmythbase/mythqtcompat.h
|
||||
include/mythtv/libmythbase/mythsession.h
|
||||
include/mythtv/libmythbase/mythsingledownload.h
|
||||
include/mythtv/libmythbase/mythsocket.h
|
||||
include/mythtv/libmythbase/mythsocket_cb.h
|
||||
@ -245,23 +273,44 @@ include/mythtv/libmythbase/version.h
|
||||
include/mythtv/libmythservicecontracts/datacontracthelper.h
|
||||
include/mythtv/libmythservicecontracts/datacontracts/artworkInfo.h
|
||||
include/mythtv/libmythservicecontracts/datacontracts/artworkInfoList.h
|
||||
include/mythtv/libmythservicecontracts/datacontracts/backendInfo.h
|
||||
include/mythtv/libmythservicecontracts/datacontracts/blurayInfo.h
|
||||
include/mythtv/libmythservicecontracts/datacontracts/buildInfo.h
|
||||
include/mythtv/libmythservicecontracts/datacontracts/captureCard.h
|
||||
include/mythtv/libmythservicecontracts/datacontracts/captureCardList.h
|
||||
include/mythtv/libmythservicecontracts/datacontracts/castMember.h
|
||||
include/mythtv/libmythservicecontracts/datacontracts/castMemberList.h
|
||||
include/mythtv/libmythservicecontracts/datacontracts/channelGroup.h
|
||||
include/mythtv/libmythservicecontracts/datacontracts/channelGroupList.h
|
||||
include/mythtv/libmythservicecontracts/datacontracts/channelInfoList.h
|
||||
include/mythtv/libmythservicecontracts/datacontracts/connectionInfo.h
|
||||
include/mythtv/libmythservicecontracts/datacontracts/cutList.h
|
||||
include/mythtv/libmythservicecontracts/datacontracts/cutting.h
|
||||
include/mythtv/libmythservicecontracts/datacontracts/databaseInfo.h
|
||||
include/mythtv/libmythservicecontracts/datacontracts/enum.h
|
||||
include/mythtv/libmythservicecontracts/datacontracts/enumItem.h
|
||||
include/mythtv/libmythservicecontracts/datacontracts/envInfo.h
|
||||
include/mythtv/libmythservicecontracts/datacontracts/frontendActionList.h
|
||||
include/mythtv/libmythservicecontracts/datacontracts/frontendStatus.h
|
||||
include/mythtv/libmythservicecontracts/datacontracts/imageMetadataInfo.h
|
||||
include/mythtv/libmythservicecontracts/datacontracts/imageMetadataInfoList.h
|
||||
include/mythtv/libmythservicecontracts/datacontracts/imageSyncInfo.h
|
||||
include/mythtv/libmythservicecontracts/datacontracts/input.h
|
||||
include/mythtv/libmythservicecontracts/datacontracts/inputList.h
|
||||
include/mythtv/libmythservicecontracts/datacontracts/labelValue.h
|
||||
include/mythtv/libmythservicecontracts/datacontracts/lineup.h
|
||||
include/mythtv/libmythservicecontracts/datacontracts/liveStreamInfo.h
|
||||
include/mythtv/libmythservicecontracts/datacontracts/liveStreamInfoList.h
|
||||
include/mythtv/libmythservicecontracts/datacontracts/logInfo.h
|
||||
include/mythtv/libmythservicecontracts/datacontracts/logMessage.h
|
||||
include/mythtv/libmythservicecontracts/datacontracts/logMessageList.h
|
||||
include/mythtv/libmythservicecontracts/datacontracts/musicMetadataInfo.h
|
||||
include/mythtv/libmythservicecontracts/datacontracts/musicMetadataInfoList.h
|
||||
include/mythtv/libmythservicecontracts/datacontracts/programAndChannel.h
|
||||
include/mythtv/libmythservicecontracts/datacontracts/programGuide.h
|
||||
include/mythtv/libmythservicecontracts/datacontracts/recRule.h
|
||||
include/mythtv/libmythservicecontracts/datacontracts/recRuleFilter.h
|
||||
include/mythtv/libmythservicecontracts/datacontracts/recRuleFilterList.h
|
||||
include/mythtv/libmythservicecontracts/datacontracts/recRuleList.h
|
||||
include/mythtv/libmythservicecontracts/datacontracts/recording.h
|
||||
include/mythtv/libmythservicecontracts/datacontracts/settingList.h
|
||||
@ -278,6 +327,7 @@ include/mythtv/libmythservicecontracts/datacontracts/videoMultiplexList.h
|
||||
include/mythtv/libmythservicecontracts/datacontracts/videoSource.h
|
||||
include/mythtv/libmythservicecontracts/datacontracts/videoSourceList.h
|
||||
include/mythtv/libmythservicecontracts/datacontracts/wolInfo.h
|
||||
include/mythtv/libmythservicecontracts/enums/recStatus.h
|
||||
include/mythtv/libmythservicecontracts/service.h
|
||||
include/mythtv/libmythservicecontracts/serviceexp.h
|
||||
include/mythtv/libmythservicecontracts/services/captureServices.h
|
||||
@ -286,7 +336,10 @@ include/mythtv/libmythservicecontracts/services/contentServices.h
|
||||
include/mythtv/libmythservicecontracts/services/dvrServices.h
|
||||
include/mythtv/libmythservicecontracts/services/frontendServices.h
|
||||
include/mythtv/libmythservicecontracts/services/guideServices.h
|
||||
include/mythtv/libmythservicecontracts/services/imageServices.h
|
||||
include/mythtv/libmythservicecontracts/services/musicServices.h
|
||||
include/mythtv/libmythservicecontracts/services/mythServices.h
|
||||
include/mythtv/libmythservicecontracts/services/rttiServices.h
|
||||
include/mythtv/libmythservicecontracts/services/videoServices.h
|
||||
include/mythtv/libmythui/mythdialogbox.h
|
||||
include/mythtv/libmythui/mythfontproperties.h
|
||||
@ -344,18 +397,20 @@ include/mythtv/libswresample/version.h
|
||||
include/mythtv/libswscale/swscale.h
|
||||
include/mythtv/libswscale/version.h
|
||||
include/mythtv/loggingserver.h
|
||||
include/mythtv/mcodecs.h
|
||||
include/mythtv/metadata/bluraymetadata.h
|
||||
include/mythtv/metadata/cleanup.h
|
||||
include/mythtv/metadata/dbaccess.h
|
||||
include/mythtv/metadata/dirscan.h
|
||||
include/mythtv/metadata/globals.h
|
||||
include/mythtv/metadata/imagemanager.h
|
||||
include/mythtv/metadata/imagemetadata.h
|
||||
include/mythtv/metadata/imagetypes.h
|
||||
include/mythtv/metadata/lyricsdata.h
|
||||
include/mythtv/metadata/metadatacommon.h
|
||||
include/mythtv/metadata/metadatadownload.h
|
||||
include/mythtv/metadata/metadatafactory.h
|
||||
include/mythtv/metadata/metadatagrabber.h
|
||||
include/mythtv/metadata/metadataimagedownload.h
|
||||
include/mythtv/metadata/metadataimagehelper.h
|
||||
include/mythtv/metadata/metaio.h
|
||||
include/mythtv/metadata/metaioavfcomment.h
|
||||
include/mythtv/metadata/metaioflacvorbis.h
|
||||
@ -364,6 +419,7 @@ include/mythtv/metadata/metaiomp4.h
|
||||
include/mythtv/metadata/metaiooggvorbis.h
|
||||
include/mythtv/metadata/metaiotaglib.h
|
||||
include/mythtv/metadata/metaiowavpack.h
|
||||
include/mythtv/metadata/musicfilescanner.h
|
||||
include/mythtv/metadata/musicmetadata.h
|
||||
include/mythtv/metadata/musicutils.h
|
||||
include/mythtv/metadata/mythmetaexp.h
|
||||
@ -376,9 +432,11 @@ include/mythtv/metadata/videometadatalistmanager.h
|
||||
include/mythtv/metadata/videoscan.h
|
||||
include/mythtv/metadata/videoutils.h
|
||||
include/mythtv/metadataimagehelper.h
|
||||
include/mythtv/minilzo.h
|
||||
include/mythtv/mpeg2dec/mpeg2.h
|
||||
include/mythtv/mthread.h
|
||||
include/mythtv/mthreadpool.h
|
||||
include/mythtv/mythavutil.h
|
||||
include/mythtv/mythbaseexp.h
|
||||
include/mythtv/mythcdrom.h
|
||||
include/mythtv/mythcommandlineparser.h
|
||||
@ -399,6 +457,7 @@ include/mythtv/mythdirs.h
|
||||
include/mythtv/mythdownloadmanager.h
|
||||
include/mythtv/mythevent.h
|
||||
include/mythtv/mythexp.h
|
||||
include/mythtv/mythframe.h
|
||||
include/mythtv/mythlocale.h
|
||||
include/mythtv/mythlogging.h
|
||||
include/mythtv/mythmedia.h
|
||||
@ -409,6 +468,7 @@ include/mythtv/mythplugin.h
|
||||
include/mythtv/mythpluginapi.h
|
||||
include/mythtv/mythqtcompat.h
|
||||
include/mythtv/mythrssmanager.h
|
||||
include/mythtv/mythsession.h
|
||||
include/mythtv/mythsingledownload.h
|
||||
include/mythtv/mythsocket.h
|
||||
include/mythtv/mythsocket_cb.h
|
||||
@ -425,7 +485,6 @@ include/mythtv/mythwidgets.h
|
||||
include/mythtv/mythwizard.h
|
||||
include/mythtv/netgrabbermanager.h
|
||||
include/mythtv/netutils.h
|
||||
include/mythtv/oldsettings.h
|
||||
include/mythtv/output.h
|
||||
include/mythtv/playgroup.h
|
||||
include/mythtv/plist.h
|
||||
@ -442,10 +501,11 @@ include/mythtv/schemawizard.h
|
||||
include/mythtv/serverpool.h
|
||||
include/mythtv/settings.h
|
||||
include/mythtv/signalhandling.h
|
||||
include/mythtv/standardsettings.h
|
||||
include/mythtv/storagegroup.h
|
||||
include/mythtv/storagegroupeditor.h
|
||||
include/mythtv/threadedfilewriter.h
|
||||
include/mythtv/uitypes.h
|
||||
include/mythtv/udfread.h
|
||||
include/mythtv/upnp/bufferedsocketdevice.h
|
||||
include/mythtv/upnp/configuration.h
|
||||
include/mythtv/upnp/eventing.h
|
||||
@ -468,6 +528,7 @@ include/mythtv/upnp/upnpcds.h
|
||||
include/mythtv/upnp/upnpcdsobjects.h
|
||||
include/mythtv/upnp/upnpcmgr.h
|
||||
include/mythtv/upnp/upnpdevice.h
|
||||
include/mythtv/upnp/upnphelpers.h
|
||||
include/mythtv/upnp/upnpsubscription.h
|
||||
include/mythtv/upnp/upnptaskcache.h
|
||||
include/mythtv/upnp/upnptaskevent.h
|
||||
@ -476,76 +537,71 @@ include/mythtv/upnp/upnptasksearch.h
|
||||
include/mythtv/upnp/upnputil.h
|
||||
include/mythtv/upnp/wsdl.h
|
||||
include/mythtv/upnp/xmlSerializer.h
|
||||
include/mythtv/upnp/xsd.h
|
||||
include/mythtv/verbosedefs.h
|
||||
include/mythtv/version.h
|
||||
include/mythtv/virtualkeyboard_qt.h
|
||||
include/mythtv/visual.h
|
||||
include/mythtv/volumebase.h
|
||||
include/mythtv/xmlparse.h
|
||||
lib/libmyth-0.27.so
|
||||
lib/libmyth-0.27.so.0
|
||||
lib/libmyth-0.27.so.0.27
|
||||
lib/libmyth-0.27.so.0.27.0
|
||||
lib/libmyth-29.so
|
||||
lib/libmyth-29.so.29
|
||||
lib/libmyth-29.so.29.0
|
||||
lib/libmyth-29.so.29.0.0
|
||||
lib/libmythavcodec.so
|
||||
lib/libmythavcodec.so.54
|
||||
lib/libmythavcodec.so.54.92.100
|
||||
lib/libmythavcodec.so.57
|
||||
lib/libmythavcodec.so.57.64.100
|
||||
lib/libmythavdevice.so
|
||||
lib/libmythavdevice.so.54
|
||||
lib/libmythavdevice.so.54.3.103
|
||||
lib/libmythavdevice.so.57
|
||||
lib/libmythavdevice.so.57.1.100
|
||||
lib/libmythavfilter.so
|
||||
lib/libmythavfilter.so.3
|
||||
lib/libmythavfilter.so.3.42.103
|
||||
lib/libmythavfilter.so.6
|
||||
lib/libmythavfilter.so.6.65.100
|
||||
lib/libmythavformat.so
|
||||
lib/libmythavformat.so.54
|
||||
lib/libmythavformat.so.54.63.104
|
||||
lib/libmythavformat.so.57
|
||||
lib/libmythavformat.so.57.56.100
|
||||
lib/libmythavutil.so
|
||||
lib/libmythavutil.so.52
|
||||
lib/libmythavutil.so.52.18.100
|
||||
lib/libmythbase-0.27.so
|
||||
lib/libmythbase-0.27.so.0
|
||||
lib/libmythbase-0.27.so.0.27
|
||||
lib/libmythbase-0.27.so.0.27.0
|
||||
lib/libmythfreemheg-0.27.so
|
||||
lib/libmythfreemheg-0.27.so.0
|
||||
lib/libmythfreemheg-0.27.so.0.27
|
||||
lib/libmythfreemheg-0.27.so.0.27.0
|
||||
lib/libmythmetadata-0.27.so
|
||||
lib/libmythmetadata-0.27.so.0
|
||||
lib/libmythmetadata-0.27.so.0.27
|
||||
lib/libmythmetadata-0.27.so.0.27.0
|
||||
lib/libmythavutil.so.55
|
||||
lib/libmythavutil.so.55.34.100
|
||||
lib/libmythbase-29.so
|
||||
lib/libmythbase-29.so.29
|
||||
lib/libmythbase-29.so.29.0
|
||||
lib/libmythbase-29.so.29.0.0
|
||||
lib/libmythfreemheg-29.so
|
||||
lib/libmythfreemheg-29.so.29
|
||||
lib/libmythfreemheg-29.so.29.0
|
||||
lib/libmythfreemheg-29.so.29.0.0
|
||||
lib/libmythmetadata-29.so
|
||||
lib/libmythmetadata-29.so.29
|
||||
lib/libmythmetadata-29.so.29.0
|
||||
lib/libmythmetadata-29.so.29.0.0
|
||||
lib/libmythpostproc.so
|
||||
lib/libmythpostproc.so.52
|
||||
lib/libmythpostproc.so.52.2.100
|
||||
lib/libmythprotoserver-0.27.so
|
||||
lib/libmythprotoserver-0.27.so.0
|
||||
lib/libmythprotoserver-0.27.so.0.27
|
||||
lib/libmythprotoserver-0.27.so.0.27.0
|
||||
lib/libmythqjson.so
|
||||
lib/libmythqjson.so.0
|
||||
lib/libmythqjson.so.0.7
|
||||
lib/libmythqjson.so.0.7.1
|
||||
lib/libmythservicecontracts-0.27.so
|
||||
lib/libmythservicecontracts-0.27.so.0
|
||||
lib/libmythservicecontracts-0.27.so.0.27
|
||||
lib/libmythservicecontracts-0.27.so.0.27.0
|
||||
lib/libmythpostproc.so.54
|
||||
lib/libmythpostproc.so.54.1.100
|
||||
lib/libmythprotoserver-29.so
|
||||
lib/libmythprotoserver-29.so.29
|
||||
lib/libmythprotoserver-29.so.29.0
|
||||
lib/libmythprotoserver-29.so.29.0.0
|
||||
lib/libmythservicecontracts-29.so
|
||||
lib/libmythservicecontracts-29.so.29
|
||||
lib/libmythservicecontracts-29.so.29.0
|
||||
lib/libmythservicecontracts-29.so.29.0.0
|
||||
lib/libmythswresample.so
|
||||
lib/libmythswresample.so.0
|
||||
lib/libmythswresample.so.0.17.102
|
||||
lib/libmythswresample.so.2
|
||||
lib/libmythswresample.so.2.3.100
|
||||
lib/libmythswscale.so
|
||||
lib/libmythswscale.so.2
|
||||
lib/libmythswscale.so.2.2.100
|
||||
lib/libmythtv-0.27.so
|
||||
lib/libmythtv-0.27.so.0
|
||||
lib/libmythtv-0.27.so.0.27
|
||||
lib/libmythtv-0.27.so.0.27.0
|
||||
lib/libmythui-0.27.so
|
||||
lib/libmythui-0.27.so.0
|
||||
lib/libmythui-0.27.so.0.27
|
||||
lib/libmythui-0.27.so.0.27.0
|
||||
lib/libmythupnp-0.27.so
|
||||
lib/libmythupnp-0.27.so.0
|
||||
lib/libmythupnp-0.27.so.0.27
|
||||
lib/libmythupnp-0.27.so.0.27.0
|
||||
lib/libmythswscale.so.4
|
||||
lib/libmythswscale.so.4.2.100
|
||||
lib/libmythtv-29.so
|
||||
lib/libmythtv-29.so.29
|
||||
lib/libmythtv-29.so.29.0
|
||||
lib/libmythtv-29.so.29.0.0
|
||||
lib/libmythui-29.so
|
||||
lib/libmythui-29.so.29
|
||||
lib/libmythui-29.so.29.0
|
||||
lib/libmythui-29.so.29.0.0
|
||||
lib/libmythupnp-29.so
|
||||
lib/libmythupnp-29.so.29
|
||||
lib/libmythupnp-29.so.29.0
|
||||
lib/libmythupnp-29.so.29.0.0
|
||||
lib/mythtv/filters/libadjust.so
|
||||
lib/mythtv/filters/libbobdeint.so
|
||||
lib/mythtv/filters/libcrop.so
|
||||
@ -595,99 +651,114 @@ lib/mythtv/filters/libyadif.so
|
||||
%%DATADIR%%/fonts/Tiresias Infofont.ttf
|
||||
%%DATADIR%%/fonts/texgyrechorus-mediumitalic.otf
|
||||
%%DATADIR%%/fonts/tiresias_gpl3.txt
|
||||
%%DATADIR%%/html/3rdParty/jquery/MYTH_README
|
||||
%%DATADIR%%/html/3rdParty/jquery/galleria/LICENSE
|
||||
%%DATADIR%%/html/3rdParty/jquery/galleria/galleria.js
|
||||
%%DATADIR%%/html/3rdParty/jquery/galleria/plugins/flickr/flickr-demo.html
|
||||
%%DATADIR%%/html/3rdParty/jquery/galleria/plugins/flickr/flickr-loader.gif
|
||||
%%DATADIR%%/html/3rdParty/jquery/galleria/plugins/flickr/galleria.flickr.js
|
||||
%%DATADIR%%/html/3rdParty/jquery/galleria/plugins/flickr/galleria.flickr.min.js
|
||||
%%DATADIR%%/html/3rdParty/jquery/galleria/plugins/flickr/loader.gif
|
||||
%%DATADIR%%/html/3rdParty/jquery/galleria/plugins/history/galleria.history.js
|
||||
%%DATADIR%%/html/3rdParty/jquery/galleria/plugins/history/galleria.history.min.js
|
||||
%%DATADIR%%/html/3rdParty/jquery/galleria/plugins/history/history-demo.html
|
||||
%%DATADIR%%/html/3rdParty/jquery/galleria/plugins/picasa/galleria.picasa.js
|
||||
%%DATADIR%%/html/3rdParty/jquery/galleria/plugins/picasa/galleria.picasa.min.js
|
||||
%%DATADIR%%/html/3rdParty/jquery/galleria/plugins/picasa/loader.gif
|
||||
%%DATADIR%%/html/3rdParty/jquery/galleria/plugins/picasa/picasa-demo.html
|
||||
%%DATADIR%%/html/3rdParty/jquery/galleria/themes/classic/README.rst
|
||||
%%DATADIR%%/html/3rdParty/jquery/galleria/themes/classic/classic-demo.html
|
||||
%%DATADIR%%/html/3rdParty/jquery/galleria/themes/classic/classic-loader.gif
|
||||
%%DATADIR%%/html/3rdParty/jquery/galleria/themes/classic/classic-map.png
|
||||
%%DATADIR%%/html/3rdParty/jquery/galleria/themes/classic/galleria.classic.css
|
||||
%%DATADIR%%/html/3rdParty/jquery/galleria/themes/classic/galleria.classic.js
|
||||
%%DATADIR%%/html/3rdParty/jquery/galleria/themes/classic/galleria.classic.min.js
|
||||
%%DATADIR%%/html/3rdParty/jquery/jquery-2.0.3.js
|
||||
%%DATADIR%%/html/3rdParty/jquery/jquery-2.0.3.min.js
|
||||
%%DATADIR%%/html/3rdParty/jquery/jquery-2.1.4.min.js
|
||||
%%DATADIR%%/html/3rdParty/jquery/jqueryContextMenu/js/jquery.contextmenu.js
|
||||
%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/application.png
|
||||
%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/code.png
|
||||
%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/css.png
|
||||
%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/db.png
|
||||
%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/directory.png
|
||||
%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/doc.png
|
||||
%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/file.png
|
||||
%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/film.png
|
||||
%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/flash.png
|
||||
%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/folder_open.png
|
||||
%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/html.png
|
||||
%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/java.png
|
||||
%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/linux.png
|
||||
%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/music.png
|
||||
%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/pdf.png
|
||||
%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/php.png
|
||||
%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/picture.png
|
||||
%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/ppt.png
|
||||
%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/psd.png
|
||||
%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/ruby.png
|
||||
%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/script.png
|
||||
%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/spinner.gif
|
||||
%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/txt.png
|
||||
%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/xls.png
|
||||
%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/zip.png
|
||||
%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/jqueryFileTree.css
|
||||
%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/jqueryFileTree.js
|
||||
%%DATADIR%%/html/3rdParty/jquery/jqueryGrid/css/ui.jqgrid.css
|
||||
%%DATADIR%%/html/3rdParty/jquery/jqueryGrid/js/grid.locale-en.js
|
||||
%%DATADIR%%/html/3rdParty/jquery/jqueryGrid/js/jquery.jqGrid.js
|
||||
%%DATADIR%%/html/3rdParty/jquery/jqueryJScroll/README.md
|
||||
%%DATADIR%%/html/3rdParty/jquery/jqueryJScroll/jquery.jscroll.js
|
||||
%%DATADIR%%/html/3rdParty/jquery/jqueryJScroll/jscroll.jquery.json
|
||||
%%DATADIR%%/html/3rdParty/jquery/jqueryMultiSelect/css/jquery.multiselect.css
|
||||
%%DATADIR%%/html/3rdParty/jquery/jqueryMultiSelect/css/ui.multiselect.css
|
||||
%%DATADIR%%/html/3rdParty/jquery/jqueryMultiSelect/js/jquery.multiselect.js
|
||||
%%DATADIR%%/html/3rdParty/jquery/jqueryMultiSelect/js/ui-multiselect-en.js
|
||||
%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/images/ui-bg_flat_30_cccccc_40x100.png
|
||||
%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/images/ui-bg_flat_50_5c5c5c_40x100.png
|
||||
%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/images/ui-bg_glass_40_ffc73d_1x400.png
|
||||
%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/images/ui-bg_hexagon_10_000000_12x10.png
|
||||
%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/images/ui-bg_highlight-hard_20_0b6a98_1x100.png
|
||||
%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/images/ui-bg_highlight-soft_33_003147_1x100.png
|
||||
%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/images/ui-bg_highlight-soft_35_222222_1x100.png
|
||||
%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/images/ui-bg_highlight-soft_44_444444_1x100.png
|
||||
%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/images/ui-bg_highlight-soft_80_eeeeee_1x100.png
|
||||
%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/images/ui-icons_222222_256x240.png
|
||||
%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/images/ui-icons_4b8e0b_256x240.png
|
||||
%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/images/ui-icons_a83300_256x240.png
|
||||
%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/images/ui-icons_cccccc_256x240.png
|
||||
%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/images/ui-icons_ffffff_256x240.png
|
||||
%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/jquery-ui-1.10.3.css
|
||||
%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/jquery-ui.css
|
||||
%%DATADIR%%/html/3rdParty/jquery/jqueryUI/js/jquery-ui-1.10.3.js
|
||||
%%DATADIR%%/html/3rdParty/jwplayer.qsp
|
||||
%%DATADIR%%/html/backend_index.qsp
|
||||
%%DATADIR%%/html/css/Status.css
|
||||
%%DATADIR%%/html/css/images/ui-bg_flat_30_cccccc_40x100.png
|
||||
%%DATADIR%%/html/css/images/ui-bg_flat_50_5c5c5c_40x100.png
|
||||
%%DATADIR%%/html/css/images/ui-bg_glass_40_ffc73d_1x400.png
|
||||
%%DATADIR%%/html/css/images/ui-bg_hexagon_10_000000_12x10.png
|
||||
%%DATADIR%%/html/css/images/ui-bg_highlight-hard_20_0b6a98_1x100.png
|
||||
%%DATADIR%%/html/css/images/ui-bg_highlight-soft_33_003147_1x100.png
|
||||
%%DATADIR%%/html/css/images/ui-bg_highlight-soft_35_222222_1x100.png
|
||||
%%DATADIR%%/html/css/images/ui-bg_highlight-soft_44_444444_1x100.png
|
||||
%%DATADIR%%/html/css/images/ui-bg_highlight-soft_80_eeeeee_1x100.png
|
||||
%%DATADIR%%/html/css/images/ui-icons_222222_256x240.png
|
||||
%%DATADIR%%/html/css/images/ui-icons_4b8e0b_256x240.png
|
||||
%%DATADIR%%/html/css/images/ui-icons_a83300_256x240.png
|
||||
%%DATADIR%%/html/css/images/ui-icons_cccccc_256x240.png
|
||||
%%DATADIR%%/html/css/images/ui-icons_ffffff_256x240.png
|
||||
%%DATADIR%%/html/css/jquery-ui.css
|
||||
%%DATADIR%%/html/css/menustyle.css
|
||||
%%DATADIR%%/html/css/settings.css
|
||||
%%DATADIR%%/html/css/setup.css
|
||||
%%DATADIR%%/html/css/site.css
|
||||
%%DATADIR%%/html/css/ui.jqgrid.css
|
||||
%%DATADIR%%/html/css/ui.multiselect.css
|
||||
%%DATADIR%%/html/css/wsdl.css
|
||||
%%DATADIR%%/html/debug/websocket.qsp
|
||||
%%DATADIR%%/html/frontend_index.qsp
|
||||
%%DATADIR%%/html/images/blank.gif
|
||||
%%DATADIR%%/html/images/checkerboard_100x100.png
|
||||
%%DATADIR%%/html/images/favicon.ico
|
||||
%%DATADIR%%/html/images/icons/README
|
||||
%%DATADIR%%/html/images/icons/upnp_large_icon.jpg
|
||||
%%DATADIR%%/html/images/icons/upnp_large_icon.png
|
||||
%%DATADIR%%/html/images/icons/upnp_small_icon.jpg
|
||||
%%DATADIR%%/html/images/icons/upnp_small_icon.png
|
||||
%%DATADIR%%/html/images/menu-button-bg.gif
|
||||
%%DATADIR%%/html/images/mythtv.png
|
||||
%%DATADIR%%/html/images/ui-bg_flat_30_cccccc_40x100.png
|
||||
%%DATADIR%%/html/images/ui-bg_flat_50_5c5c5c_40x100.png
|
||||
%%DATADIR%%/html/images/ui-bg_glass_40_ffc73d_1x400.png
|
||||
%%DATADIR%%/html/images/ui-bg_hexagon_10_000000_12x10.png
|
||||
%%DATADIR%%/html/images/ui-bg_highlight-hard_20_0b6a98_1x100.png
|
||||
%%DATADIR%%/html/images/ui-bg_highlight-soft_33_003147_1x100.png
|
||||
%%DATADIR%%/html/images/ui-bg_highlight-soft_35_222222_1x100.png
|
||||
%%DATADIR%%/html/images/ui-bg_highlight-soft_44_444444_1x100.png
|
||||
%%DATADIR%%/html/images/ui-bg_highlight-soft_80_eeeeee_1x100.png
|
||||
%%DATADIR%%/html/images/ui-icons_222222_256x240.png
|
||||
%%DATADIR%%/html/images/ui-icons_4b8e0b_256x240.png
|
||||
%%DATADIR%%/html/images/ui-icons_a83300_256x240.png
|
||||
%%DATADIR%%/html/images/ui-icons_cccccc_256x240.png
|
||||
%%DATADIR%%/html/images/ui-icons_ffffff_256x240.png
|
||||
%%DATADIR%%/html/index.html
|
||||
%%DATADIR%%/html/js/databaseutil.js
|
||||
%%DATADIR%%/html/js/fileutil.js
|
||||
%%DATADIR%%/html/js/galleria/LICENSE
|
||||
%%DATADIR%%/html/js/galleria/galleria-1.2.3.js
|
||||
%%DATADIR%%/html/js/galleria/galleria-1.2.3.min.js
|
||||
%%DATADIR%%/html/js/galleria/themes/classic/README.rst
|
||||
%%DATADIR%%/html/js/galleria/themes/classic/classic-demo.html
|
||||
%%DATADIR%%/html/js/galleria/themes/classic/classic-loader.gif
|
||||
%%DATADIR%%/html/js/galleria/themes/classic/classic-map.png
|
||||
%%DATADIR%%/html/js/galleria/themes/classic/galleria.classic.css
|
||||
%%DATADIR%%/html/js/galleria/themes/classic/galleria.classic.js
|
||||
%%DATADIR%%/html/js/galleria/themes/classic/galleria.classic.min.js
|
||||
%%DATADIR%%/html/js/grid.locale-en.js
|
||||
%%DATADIR%%/html/js/inspect.js
|
||||
%%DATADIR%%/html/js/jquery-ui.min.js
|
||||
%%DATADIR%%/html/js/jquery.contextmenu.js
|
||||
%%DATADIR%%/html/js/jquery.jqGrid.min.js
|
||||
%%DATADIR%%/html/js/jquery.min.js
|
||||
%%DATADIR%%/html/js/jqueryFileTree/images/application.png
|
||||
%%DATADIR%%/html/js/jqueryFileTree/images/code.png
|
||||
%%DATADIR%%/html/js/jqueryFileTree/images/css.png
|
||||
%%DATADIR%%/html/js/jqueryFileTree/images/db.png
|
||||
%%DATADIR%%/html/js/jqueryFileTree/images/directory.png
|
||||
%%DATADIR%%/html/js/jqueryFileTree/images/doc.png
|
||||
%%DATADIR%%/html/js/jqueryFileTree/images/file.png
|
||||
%%DATADIR%%/html/js/jqueryFileTree/images/film.png
|
||||
%%DATADIR%%/html/js/jqueryFileTree/images/flash.png
|
||||
%%DATADIR%%/html/js/jqueryFileTree/images/folder_open.png
|
||||
%%DATADIR%%/html/js/jqueryFileTree/images/html.png
|
||||
%%DATADIR%%/html/js/jqueryFileTree/images/java.png
|
||||
%%DATADIR%%/html/js/jqueryFileTree/images/linux.png
|
||||
%%DATADIR%%/html/js/jqueryFileTree/images/music.png
|
||||
%%DATADIR%%/html/js/jqueryFileTree/images/pdf.png
|
||||
%%DATADIR%%/html/js/jqueryFileTree/images/php.png
|
||||
%%DATADIR%%/html/js/jqueryFileTree/images/picture.png
|
||||
%%DATADIR%%/html/js/jqueryFileTree/images/ppt.png
|
||||
%%DATADIR%%/html/js/jqueryFileTree/images/psd.png
|
||||
%%DATADIR%%/html/js/jqueryFileTree/images/ruby.png
|
||||
%%DATADIR%%/html/js/jqueryFileTree/images/script.png
|
||||
%%DATADIR%%/html/js/jqueryFileTree/images/spinner.gif
|
||||
%%DATADIR%%/html/js/jqueryFileTree/images/txt.png
|
||||
%%DATADIR%%/html/js/jqueryFileTree/images/xls.png
|
||||
%%DATADIR%%/html/js/jqueryFileTree/images/zip.png
|
||||
%%DATADIR%%/html/js/jqueryFileTree/jqueryFileTree.css
|
||||
%%DATADIR%%/html/js/jqueryFileTree/jqueryFileTree.js
|
||||
%%DATADIR%%/html/js/menu.js
|
||||
%%DATADIR%%/html/js/ui-multiselect-en.js
|
||||
%%DATADIR%%/html/js/ui.multiselect.js
|
||||
%%DATADIR%%/html/js/settings.js
|
||||
%%DATADIR%%/html/js/util.qjs
|
||||
%%DATADIR%%/html/js/utility.js
|
||||
%%DATADIR%%/html/js/websocket_events.js
|
||||
%%DATADIR%%/html/menu.qsp
|
||||
%%DATADIR%%/html/misc/css/overview.css
|
||||
%%DATADIR%%/html/misc/database-backup.html
|
||||
%%DATADIR%%/html/misc/database-repair.html
|
||||
%%DATADIR%%/html/misc/databasetabs.html
|
||||
@ -697,12 +768,15 @@ lib/mythtv/filters/libyadif.so
|
||||
%%DATADIR%%/html/misc/js/databasetabs.js
|
||||
%%DATADIR%%/html/misc/js/hardwareprofile.js
|
||||
%%DATADIR%%/html/misc/js/messagetab.js
|
||||
%%DATADIR%%/html/misc/js/overview.js
|
||||
%%DATADIR%%/html/misc/js/viewlogs.js
|
||||
%%DATADIR%%/html/misc/message.html
|
||||
%%DATADIR%%/html/misc/messagetab.html
|
||||
%%DATADIR%%/html/misc/misc_template.html
|
||||
%%DATADIR%%/html/misc/overview.qsp
|
||||
%%DATADIR%%/html/misc/placeholder.html
|
||||
%%DATADIR%%/html/misc/viewlogs.html
|
||||
%%DATADIR%%/html/robots.txt
|
||||
%%DATADIR%%/html/samples/hlstest.qsp
|
||||
%%DATADIR%%/html/samples/js/samples.js
|
||||
%%DATADIR%%/html/samples/livestream_rec.qsp
|
||||
@ -710,9 +784,11 @@ lib/mythtv/filters/libyadif.so
|
||||
%%DATADIR%%/html/samples/recorded.qsp
|
||||
%%DATADIR%%/html/samples/serverside.qsp
|
||||
%%DATADIR%%/html/samples/storagegroups.qsp
|
||||
%%DATADIR%%/html/setup/ajax_backends/setting_util.qsp
|
||||
%%DATADIR%%/html/setup/channeleditor-channeldetail-multi.html
|
||||
%%DATADIR%%/html/setup/channeleditor-channeldetail.html
|
||||
%%DATADIR%%/html/setup/channeleditor.html
|
||||
%%DATADIR%%/html/setup/css/common.css
|
||||
%%DATADIR%%/html/setup/database.html
|
||||
%%DATADIR%%/html/setup/expert.html
|
||||
%%DATADIR%%/html/setup/general.html
|
||||
@ -723,28 +799,81 @@ lib/mythtv/filters/libyadif.so
|
||||
%%DATADIR%%/html/setup/jobqueue-jobs.qsp
|
||||
%%DATADIR%%/html/setup/jobqueue.html
|
||||
%%DATADIR%%/html/setup/js/channeleditor.js
|
||||
%%DATADIR%%/html/setup/js/common.js
|
||||
%%DATADIR%%/html/setup/js/database.js
|
||||
%%DATADIR%%/html/setup/js/general.js
|
||||
%%DATADIR%%/html/setup/js/guidedatasources.js
|
||||
%%DATADIR%%/html/setup/js/jobqueue.js
|
||||
%%DATADIR%%/html/setup/js/password.js
|
||||
%%DATADIR%%/html/setup/js/setup.js
|
||||
%%DATADIR%%/html/setup/js/storagegroups.js
|
||||
%%DATADIR%%/html/setup/js/systemevents.js
|
||||
%%DATADIR%%/html/setup/js/wizard.js
|
||||
%%DATADIR%%/html/setup/overview.html
|
||||
%%DATADIR%%/html/setup/password.html
|
||||
%%DATADIR%%/html/setup/setup_template.html
|
||||
%%DATADIR%%/html/setup/storagegroups-add-dir.html
|
||||
%%DATADIR%%/html/setup/storagegroups-add-new.html
|
||||
%%DATADIR%%/html/setup/storagegroups.html
|
||||
%%DATADIR%%/html/setup/systemevents.html
|
||||
%%DATADIR%%/html/setup/webfrontend-settings.qsp
|
||||
%%DATADIR%%/html/setup/wizard-database.html
|
||||
%%DATADIR%%/html/setup/wizard-guide_data.html
|
||||
%%DATADIR%%/html/setup/wizard-media_storage.html
|
||||
%%DATADIR%%/html/setup/wizard-network.qsp
|
||||
%%DATADIR%%/html/setup/wizard-recording_devices.html
|
||||
%%DATADIR%%/html/setup/wizard.html
|
||||
%%DATADIR%%/html/tv/ajax_backends/dvr_util.qsp
|
||||
%%DATADIR%%/html/tv/ajax_backends/program_util.qsp
|
||||
%%DATADIR%%/html/tv/css/category_colors.css
|
||||
%%DATADIR%%/html/tv/css/common.css
|
||||
%%DATADIR%%/html/tv/css/guide.css
|
||||
%%DATADIR%%/html/tv/css/icons.css
|
||||
%%DATADIR%%/html/tv/css/programsearch.css
|
||||
%%DATADIR%%/html/tv/css/recordingrules.css
|
||||
%%DATADIR%%/html/tv/css/recordings.css
|
||||
%%DATADIR%%/html/tv/css/schedule.css
|
||||
%%DATADIR%%/html/tv/css/tvplayer.css
|
||||
%%DATADIR%%/html/tv/css/upcoming.css
|
||||
%%DATADIR%%/html/tv/guide.qsp
|
||||
%%DATADIR%%/html/tv/images/blank.png
|
||||
%%DATADIR%%/html/tv/images/cat_movie.svg
|
||||
%%DATADIR%%/html/tv/images/channel_icon.svg
|
||||
%%DATADIR%%/html/tv/images/fl_autoexp.svg
|
||||
%%DATADIR%%/html/tv/images/fl_bookmark.svg
|
||||
%%DATADIR%%/html/tv/images/fl_commflag.svg
|
||||
%%DATADIR%%/html/tv/images/fl_watched.svg
|
||||
%%DATADIR%%/html/tv/images/hd_1080.svg
|
||||
%%DATADIR%%/html/tv/images/hd_720.svg
|
||||
%%DATADIR%%/html/tv/images/hd_tv.svg
|
||||
%%DATADIR%%/html/tv/images/play_arrow.png
|
||||
%%DATADIR%%/html/tv/images/play_arrow.svg
|
||||
%%DATADIR%%/html/tv/images/recording_icons_sprite.svg
|
||||
%%DATADIR%%/html/tv/images/wastebin.svg
|
||||
%%DATADIR%%/html/tv/js/common.js
|
||||
%%DATADIR%%/html/tv/js/constants.js
|
||||
%%DATADIR%%/html/tv/js/guide.js
|
||||
%%DATADIR%%/html/tv/js/programsearch.js
|
||||
%%DATADIR%%/html/tv/js/recordings.js
|
||||
%%DATADIR%%/html/tv/js/schedule.js
|
||||
%%DATADIR%%/html/tv/js/tvutil.qjs
|
||||
%%DATADIR%%/html/tv/js/upcoming.js
|
||||
%%DATADIR%%/html/tv/programsearch.qsp
|
||||
%%DATADIR%%/html/tv/recordingrules.qsp
|
||||
%%DATADIR%%/html/tv/recordings.qsp
|
||||
%%DATADIR%%/html/tv/schedule.qsp
|
||||
%%DATADIR%%/html/tv/stream.qsp
|
||||
%%DATADIR%%/html/tv/tvplayer.qsp
|
||||
%%DATADIR%%/html/tv/upcoming.qsp
|
||||
%%DATADIR%%/html/video/css/gallery.css
|
||||
%%DATADIR%%/html/video/gallery.qsp
|
||||
%%DATADIR%%/html/video/gallery_detail.qsp
|
||||
%%DATADIR%%/html/video/images/folder_icon.png
|
||||
%%DATADIR%%/html/video/images/mv_gallery_dir_up.png
|
||||
%%DATADIR%%/html/video/images/unknown.png
|
||||
%%DATADIR%%/html/video/js/gallery.js
|
||||
%%DATADIR%%/html/video/js/gallery.qjs
|
||||
%%DATADIR%%/html/xslt/class.xslt
|
||||
%%DATADIR%%/html/xslt/enum.xslt
|
||||
%%DATADIR%%/html/xslt/service.xslt
|
||||
%%DATADIR%%/i18n/mythfrontend_bg.qm
|
||||
%%DATADIR%%/i18n/mythfrontend_ca.qm
|
||||
@ -955,6 +1084,7 @@ lib/mythtv/filters/libyadif.so
|
||||
%%DATADIR%%/themes/MythCenter/qtlook.txt
|
||||
%%DATADIR%%/themes/MythCenter/recordings-ui.xml
|
||||
%%DATADIR%%/themes/MythCenter/schedule-ui.xml
|
||||
%%DATADIR%%/themes/MythCenter/status-ui.xml
|
||||
%%DATADIR%%/themes/MythCenter/themeinfo.xml
|
||||
%%DATADIR%%/themes/MythCenter/title/title_dvd.png
|
||||
%%DATADIR%%/themes/MythCenter/title/title_gallery.png
|
||||
@ -1222,7 +1352,6 @@ lib/mythtv/filters/libyadif.so
|
||||
%%DATADIR%%/themes/Terra/video/video_gallery_background_selected.png
|
||||
%%DATADIR%%/themes/Terra/watermarks/README.license
|
||||
%%DATADIR%%/themes/Terra/watermarks/aerial.png
|
||||
%%DATADIR%%/themes/Terra/watermarks/appearance.png
|
||||
%%DATADIR%%/themes/Terra/watermarks/archive.png
|
||||
%%DATADIR%%/themes/Terra/watermarks/audio.png
|
||||
%%DATADIR%%/themes/Terra/watermarks/browser.png
|
||||
@ -1264,6 +1393,7 @@ lib/mythtv/filters/libyadif.so
|
||||
%%DATADIR%%/themes/Terra/watermarks/select_music.png
|
||||
%%DATADIR%%/themes/Terra/watermarks/status.png
|
||||
%%DATADIR%%/themes/Terra/watermarks/stop_light.png
|
||||
%%DATADIR%%/themes/Terra/watermarks/themechooser.png
|
||||
%%DATADIR%%/themes/Terra/watermarks/tools.png
|
||||
%%DATADIR%%/themes/Terra/watermarks/tv.png
|
||||
%%DATADIR%%/themes/Terra/watermarks/vcr.png
|
||||
@ -1433,28 +1563,18 @@ lib/mythtv/filters/libyadif.so
|
||||
%%DATADIR%%/themes/default/htmls/notfound.html
|
||||
%%DATADIR%%/themes/default/htmls/progdetails_page1.html
|
||||
%%DATADIR%%/themes/default/htmls/progdetails_page2.html
|
||||
%%DATADIR%%/themes/default/image-ui.xml
|
||||
%%DATADIR%%/themes/default/keyboard/ar.xml
|
||||
%%DATADIR%%/themes/default/keyboard/ar_ui.xml
|
||||
%%DATADIR%%/themes/default/keyboard/da.xml
|
||||
%%DATADIR%%/themes/default/keyboard/da_ui.xml
|
||||
%%DATADIR%%/themes/default/keyboard/de.xml
|
||||
%%DATADIR%%/themes/default/keyboard/de_ui.xml
|
||||
%%DATADIR%%/themes/default/keyboard/el.xml
|
||||
%%DATADIR%%/themes/default/keyboard/el_ui.xml
|
||||
%%DATADIR%%/themes/default/keyboard/en_gb.xml
|
||||
%%DATADIR%%/themes/default/keyboard/en_gb_ui.xml
|
||||
%%DATADIR%%/themes/default/keyboard/en_us.xml
|
||||
%%DATADIR%%/themes/default/keyboard/en_us_ui.xml
|
||||
%%DATADIR%%/themes/default/keyboard/es.xml
|
||||
%%DATADIR%%/themes/default/keyboard/es_ui.xml
|
||||
%%DATADIR%%/themes/default/keyboard/fr.xml
|
||||
%%DATADIR%%/themes/default/keyboard/fr_ch.xml
|
||||
%%DATADIR%%/themes/default/keyboard/fr_ch_ui.xml
|
||||
%%DATADIR%%/themes/default/keyboard/fr_ui.xml
|
||||
%%DATADIR%%/themes/default/keyboard/he.xml
|
||||
%%DATADIR%%/themes/default/keyboard/he_ui.xml
|
||||
%%DATADIR%%/themes/default/keyboard/it.xml
|
||||
%%DATADIR%%/themes/default/keyboard/it_ui.xml
|
||||
%%DATADIR%%/themes/default/keyboard/key_down.png
|
||||
%%DATADIR%%/themes/default/keyboard/key_down_back.png
|
||||
%%DATADIR%%/themes/default/keyboard/key_down_del.png
|
||||
@ -1491,14 +1611,11 @@ lib/mythtv/filters/libyadif.so
|
||||
%%DATADIR%%/themes/default/keyboard/keyboard.xml
|
||||
%%DATADIR%%/themes/default/keyboard/leftarrow.png
|
||||
%%DATADIR%%/themes/default/keyboard/nb.xml
|
||||
%%DATADIR%%/themes/default/keyboard/nb_ui.xml
|
||||
%%DATADIR%%/themes/default/keyboard/returnarrow.png
|
||||
%%DATADIR%%/themes/default/keyboard/rightarrow.png
|
||||
%%DATADIR%%/themes/default/keyboard/ru.xml
|
||||
%%DATADIR%%/themes/default/keyboard/ru_ui.xml
|
||||
%%DATADIR%%/themes/default/keyboard/shiftarrow.png
|
||||
%%DATADIR%%/themes/default/keyboard/sv.xml
|
||||
%%DATADIR%%/themes/default/keyboard/sv_ui.xml
|
||||
%%DATADIR%%/themes/default/lb-arrow.png
|
||||
%%DATADIR%%/themes/default/lb-check-empty.png
|
||||
%%DATADIR%%/themes/default/lb-check-full.png
|
||||
@ -1769,6 +1886,7 @@ lib/mythtv/filters/libyadif.so
|
||||
%%DATADIR%%/themes/default/menu_playback.xml
|
||||
%%DATADIR%%/themes/default/menu_playback_compact.xml
|
||||
%%DATADIR%%/themes/default/mono.png
|
||||
%%DATADIR%%/themes/default/musicscanner.png
|
||||
%%DATADIR%%/themes/default/mv_browse_background.png
|
||||
%%DATADIR%%/themes/default/mv_browse_selector.png
|
||||
%%DATADIR%%/themes/default/mv_filerequest.png
|
||||
@ -1830,9 +1948,13 @@ lib/mythtv/filters/libyadif.so
|
||||
%%DATADIR%%/themes/default/shared/directory.png
|
||||
%%DATADIR%%/themes/default/shared/executable.png
|
||||
%%DATADIR%%/themes/default/shared/file.png
|
||||
%%DATADIR%%/themes/default/shared/folder-reg.png
|
||||
%%DATADIR%%/themes/default/shared/folder-sel.png
|
||||
%%DATADIR%%/themes/default/shared/grid_back_reg.png
|
||||
%%DATADIR%%/themes/default/shared/grid_back_sel.png
|
||||
%%DATADIR%%/themes/default/shared/grid_noimage.png
|
||||
%%DATADIR%%/themes/default/shared/movie-reg.png
|
||||
%%DATADIR%%/themes/default/shared/movie-sel.png
|
||||
%%DATADIR%%/themes/default/shared/secure.png
|
||||
%%DATADIR%%/themes/default/shared/unsecure.png
|
||||
%%DATADIR%%/themes/default/shared/updirectory.png
|
||||
@ -1840,6 +1962,7 @@ lib/mythtv/filters/libyadif.so
|
||||
%%DATADIR%%/themes/default/solid-container.png
|
||||
%%DATADIR%%/themes/default/solid-cr-background.png
|
||||
%%DATADIR%%/themes/default/sr-background.png
|
||||
%%DATADIR%%/themes/default/standardsetting-ui.xml
|
||||
%%DATADIR%%/themes/default/status-bar.png
|
||||
%%DATADIR%%/themes/default/status-ui.xml
|
||||
%%DATADIR%%/themes/default/stereo.png
|
||||
|
@ -3,132 +3,172 @@
|
||||
|
||||
PORTNAME= mythtv
|
||||
DISTVERSIONPREFIX= v
|
||||
DISTVERSION= 0.27.5
|
||||
DISTVERSION= 29.1
|
||||
PORTREVISION?= 0
|
||||
PORTEPOCH= 1
|
||||
CATEGORIES= multimedia
|
||||
|
||||
MAINTAINER= ports@FreeBSD.org
|
||||
COMMENT= MythTV is a homebrew PVR project
|
||||
MAINTAINER?= ports@FreeBSD.org
|
||||
COMMENT?= MythTV is a homebrew PVR project
|
||||
|
||||
LICENSE= GPLv2
|
||||
LICENSE= GPLv2+
|
||||
LICENSE_FILE= ${WRKSRC}/COPYING
|
||||
|
||||
ONLY_FOR_ARCHS= amd64 i386
|
||||
|
||||
LIB_DEPENDS= libmp3lame.so:audio/lame \
|
||||
libfreetype.so:print/freetype2 \
|
||||
libtag.so:audio/taglib \
|
||||
libxml2.so:textproc/libxml2 \
|
||||
libudf.so:sysutils/libcdio \
|
||||
libexiv2.so:graphics/exiv2 \
|
||||
libva.so:multimedia/libva \
|
||||
libass.so:multimedia/libass \
|
||||
libfftw3f.so:math/fftw3-float \
|
||||
libfftw3_threads.so:math/fftw3 \
|
||||
libjack.so:audio/jack
|
||||
BUILD_DEPENDS= v4l_compat>=1.0.20100321:multimedia/v4l_compat \
|
||||
yasm:devel/yasm
|
||||
RUN_DEPENDS= tv_check:textproc/p5-xmltv \
|
||||
wget:ftp/wget
|
||||
|
||||
CONFLICTS= mythtv-frontend-[0-9]*
|
||||
libfftw3f.so:math/fftw3-float \
|
||||
libfreetype.so:print/freetype2 \
|
||||
libxml2.so:textproc/libxml2
|
||||
BUILD_DEPENDS= yasm:devel/yasm
|
||||
|
||||
USES= gmake iconv libtool pkgconfig pathfix ssl
|
||||
USE_GITHUB= yes
|
||||
GH_ACCOUNT= MythTV
|
||||
USE_GL= gl
|
||||
USE_LDCONFIG= yes
|
||||
USE_QT5= buildtools_build core dbus gui imageformats_run \
|
||||
linguist_build network opengl qmake_build script sql \
|
||||
sql-mysql_run webkit widgets xml
|
||||
QT_NONSTANDARD= yes
|
||||
USE_XORG= x11 xv xrandr xxf86vm xinerama xext xcb
|
||||
|
||||
HAS_CONFIGURE= yes
|
||||
CONFIGURE_ARGS= --prefix="${PREFIX}" --cc="${CC}" --cxx="${CXX}" \
|
||||
--libxml2-path="${LOCALBASE}/include/libxml2" \
|
||||
--enable-opengl-video \
|
||||
--disable-audio-alsa --disable-indev=alsa --disable-outdev=alsa \
|
||||
--disable-mythlogserver
|
||||
CONFIGURE_ENV= QMAKESPEC="${QMAKESPEC}" MOC="${MOC}" \
|
||||
QTDIR="${PREFIX}" PKG_CONFIG_PATH="${LOCALBASE}/libdata/pkgconfig"
|
||||
MAKE_ENV= QTDIR="${PREFIX}" \
|
||||
QMAKESPEC="${QMAKESPEC}"
|
||||
NOPRECIOUSMAKEVARS= # don't override ARCH in ffmpeg makefiles
|
||||
DESTDIRNAME= INSTALL_ROOT
|
||||
CPPFLAGS+= ${QTCPPFLAGS}
|
||||
LDFLAGS+= -L${LOCALBASE}/lib
|
||||
|
||||
REINPLACE_ARGS= -i ""
|
||||
WRKSRC_SUBDIR= ${PORTNAME}
|
||||
|
||||
ONLY_FOR_ARCHS= i386 amd64
|
||||
DESKTOP_ENTRIES="MythTV Frontend" "MythTV is a homebrew PVR project" "" \
|
||||
"mythfrontend" "AudioVideo;Video;" false
|
||||
|
||||
.if defined(SLAVEPORT) && ${SLAVEPORT} == "frontend"
|
||||
CONFLICTS_INSTALL= mythtv
|
||||
|
||||
CONFIGURE_ARGS+=--disable-dvb --disable-firewire --disable-hdhomerun \
|
||||
--disable-hdpvr --disable-ivtv --disable-v4l2 \
|
||||
--without-bindings=perl,python,php
|
||||
|
||||
EXTRA_PATCHES= ${FILESDIR}/extrapatch-programs_programs.pro
|
||||
|
||||
OPTIONS_EXCLUDE+= BINDINGS LIRC MYSQL
|
||||
.else
|
||||
CONFLICTS_INSTALL= mythtv-frontend
|
||||
|
||||
BUILD_DEPENDS+= v4l_compat>=1.0.20100321:multimedia/v4l_compat
|
||||
RUN_DEPENDS+= tv_check:textproc/p5-xmltv \
|
||||
wget:ftp/wget
|
||||
USES+= perl5 python:2.7 shebangfix
|
||||
USE_PERL5= run build
|
||||
NOPRECIOUSMAKEVARS= # don't override $(ARCH) in ffmpeg makefiles
|
||||
USES= gmake iconv libtool perl5 pkgconfig pathfix shebangfix ssl
|
||||
SHEBANG_FILES= programs/scripts/database/mythconverg_backup.pl \
|
||||
programs/scripts/database/mythconverg_restore.pl
|
||||
USE_QT4= corelib dbus gui sql network script linguist_build l10n sql-mysql_run \
|
||||
moc_build qmake_build rcc_build uic_build imageformats webkit xml
|
||||
USE_GL= gl
|
||||
USE_XORG= x11 xv xrandr xxf86vm xinerama xext
|
||||
QT_NONSTANDARD= yes
|
||||
HAS_CONFIGURE= yes
|
||||
USE_LDCONFIG= ${PREFIX}/lib/mythtv/filters
|
||||
REINPLACE_ARGS= -i ""
|
||||
USE_RC_SUBR= mythbackend
|
||||
DESTDIRNAME= INSTALL_ROOT
|
||||
SHEBANG_FILES= programs/scripts/database/*.pl \
|
||||
programs/scripts/internetcontent/*.py \
|
||||
programs/scripts/internetcontent/*.pl \
|
||||
programs/scripts/internetcontent/nv_python_libs/*.py \
|
||||
programs/scripts/hardwareprofile/*.py \
|
||||
programs/scripts/metadata/Television/ttvdb.py \
|
||||
programs/scripts/metadata/Movie/tmdb3.py
|
||||
|
||||
CONFIGURE_ARGS+=--dvb-path="${LOCALBASE}/include" \
|
||||
--enable-ivtv --enable-v4l2 --enable-xv
|
||||
|
||||
USERS= mythtv
|
||||
GROUPS= mythtv
|
||||
|
||||
MAKE_ENV= QTDIR="${PREFIX}" \
|
||||
QMAKESPEC="${QMAKESPEC}"
|
||||
DATADIR= ${PREFIX}/share/mythtv
|
||||
SUB_FILES= pkg-message
|
||||
.endif
|
||||
|
||||
CPPFLAGS+= ${QTCPPFLAGS}
|
||||
CONFIGURE_ENV+= QMAKESPEC="${QMAKESPEC}" MOC="${MOC}" \
|
||||
QTDIR="${PREFIX}"
|
||||
CONFIGURE_ENV+= PKG_CONFIG_PATH="${LOCALBASE}/libdata/pkgconfig"
|
||||
LDFLAGS+= -L${LOCALBASE}/lib
|
||||
OPTIONS_DEFINE= BINDINGS JACK LIRC MYSQL PULSEAUDIO VDPAU
|
||||
OPTIONS_DEFAULT= BINDINGS VDPAU
|
||||
OPTIONS_SUB= yes
|
||||
|
||||
CONFIGURE_ARGS= --prefix="${PREFIX}" --cc="${CC}" --cxx="${CXX}" --dvb-path="${LOCALBASE}/include/libdvbv5" \
|
||||
--libxml2-path="${LOCALBASE}/include/libxml2" --enable-v4l2 --enable-ivtv --enable-xv \
|
||||
--disable-audio-alsa --disable-indev=alsa --disable-outdev=alsa --disable-mythlogserver
|
||||
BINDINGS_DESC= Perl and Python bindings
|
||||
BINDINGS_BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}MySQLdb>=1.2.2:databases/py-MySQLdb@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}lxml>=0:devel/py-lxml@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}urlgrabber>=3.1.0_1:www/py-urlgrabber@${PY_FLAVOR} \
|
||||
p5-DBI>=0:databases/p5-DBI \
|
||||
p5-DBD-mysql>0:databases/p5-DBD-mysql \
|
||||
p5-Net-UPnP>=0:multimedia/p5-Net-UPnP \
|
||||
p5-IO-Socket-INET6>=2.51:net/p5-IO-Socket-INET6 \
|
||||
p5-HTTP-Request-Params>=0:www/p5-HTTP-Request-Params \
|
||||
p5-LWP-UserAgent-Determined>=0:www/p5-LWP-UserAgent-Determined
|
||||
BINDINGS_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}MySQLdb>=1.2.2:databases/py-MySQLdb@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}futures>0:devel/py-futures@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}lxml>=0:devel/py-lxml@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}requests>0:www/py-requests@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}requests-cache>0:www/py-requests-cache@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}urlgrabber>=3.1.0_1:www/py-urlgrabber@${PY_FLAVOR} \
|
||||
p5-DBI>=0:databases/p5-DBI \
|
||||
p5-DBD-mysql>0:databases/p5-DBD-mysql \
|
||||
p5-Net-UPnP>=0:multimedia/p5-Net-UPnP \
|
||||
p5-IO-Socket-INET6>=2.51:net/p5-IO-Socket-INET6 \
|
||||
p5-HTTP-Request-Params>=0:www/p5-HTTP-Request-Params \
|
||||
p5-LWP-UserAgent-Determined>=0:www/p5-LWP-UserAgent-Determined
|
||||
BINDINGS_CONFIGURE_ON= --python=${PYTHON_CMD}
|
||||
BINDINGS_CONFIGURE_OFF= --without-bindings=perl,python
|
||||
|
||||
QMAKESPEC?= ${LOCALBASE}/share/qt4/mkspecs/freebsd-g++
|
||||
|
||||
OPTIONS_DEFINE= BINDINGS LIRC MYSQL OPENGL VDPAU
|
||||
OPTIONS_DEFAULT= BINDINGS OPENGL VDPAU
|
||||
OPTIONS_SUB= yes
|
||||
BINDINGS_DESC= Perl and Python bindings
|
||||
JACK_LIB_DEPENDS= libjack.so:audio/jack
|
||||
JACK_CONFIGURE_ON= --enable-audio-jack --enable-indev=jack
|
||||
JACK_CONFIGURE_OFF= --disable-audio-jack --disable-indev=jack
|
||||
|
||||
LIRC_LIB_DEPENDS= liblirc_client.so:comms/lirc
|
||||
MYSQL_USES= mysql:client,server
|
||||
MYSQL_USES_OFF= mysql
|
||||
LIRC_CONFIGURE_ENABLE= lirc
|
||||
|
||||
MYSQL_DESC= Install MySQL server in addition to client
|
||||
MYSQL_USES= mysql:client,server
|
||||
MYSQL_USES_OFF= mysql
|
||||
|
||||
PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio
|
||||
PULSEAUDIO_CONFIGURE_ENABLE= audio-pulse audio-pulseoutput
|
||||
|
||||
VDPAU_LIB_DEPENDS= libvdpau.so:multimedia/libvdpau
|
||||
VDPAU_CONFIGURE_ENABLE= vdpau
|
||||
|
||||
OPENGL_CONFIGURE_ENABLE= opengl-video
|
||||
OPENGL_USE= QT4=opengl
|
||||
|
||||
.include <bsd.port.options.mk>
|
||||
|
||||
SUB_FILES= pkg-message
|
||||
|
||||
.if ${PORT_OPTIONS:MBINDINGS}
|
||||
CONFIGURE_ARGS+= --python=${PYTHON_CMD}
|
||||
USES+= python:2.7
|
||||
PYDISTUTILS_PKGNAME=MythTV
|
||||
PYDISTUTILS_PKGVERSION=0.27._1
|
||||
|
||||
BUILD_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}lxml>=0:devel/py-lxml@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}MySQLdb>=1.2.2:databases/py-MySQLdb@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}urlgrabber>=3.1.0_1:www/py-urlgrabber@${PY_FLAVOR} \
|
||||
p5-HTTP-Request-Params>=0:www/p5-HTTP-Request-Params \
|
||||
p5-LWP-UserAgent-Determined>=0:www/p5-LWP-UserAgent-Determined \
|
||||
p5-Net-UPnP>=0:multimedia/p5-Net-UPnP \
|
||||
p5-IO-Socket-INET6>=2.51:net/p5-IO-Socket-INET6 \
|
||||
p5-DBI>=0:databases/p5-DBI \
|
||||
p5-DBD-mysql>0:databases/p5-DBD-mysql
|
||||
RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}lxml>=0:devel/py-lxml@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}MySQLdb>=1.2.2:databases/py-MySQLdb@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}urlgrabber>=3.1.0_1:www/py-urlgrabber@${PY_FLAVOR} \
|
||||
p5-HTTP-Request-Params>=0:www/p5-HTTP-Request-Params \
|
||||
p5-LWP-UserAgent-Determined>=0:www/p5-LWP-UserAgent-Determined \
|
||||
p5-Net-UPnP>=0:multimedia/p5-Net-UPnP \
|
||||
p5-IO-Socket-INET6>=2.51:net/p5-IO-Socket-INET6 \
|
||||
p5-DBI>=0:databases/p5-DBI \
|
||||
p5-DBD-mysql>0:databases/p5-DBD-mysql
|
||||
.else
|
||||
CONFIGURE_ARGS+=--without-bindings=perl,python
|
||||
.endif
|
||||
|
||||
post-patch:
|
||||
@${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \
|
||||
${WRKSRC}/configure \
|
||||
${WRKSRC}/libs/libmythtv/libmythtv.pro \
|
||||
${WRKSRC}/bindings/perl/MythTV/Recording.pm \
|
||||
${WRKSRC}/programs/mythtranscode/replex/Makefile.standalone \
|
||||
${WRKSRC}/programs/mythtranscode/external/replex/Makefile.standalone \
|
||||
${WRKSRC}/programs/scripts/database/mythconverg_backup.pl \
|
||||
${WRKSRC}/programs/scripts/database/mythconverg_restore.pl \
|
||||
${WRKSRC}/programs/mythcommflag/mythcommflag-analyze
|
||||
|
||||
post-install:
|
||||
.if !defined(SLAVEPORT)
|
||||
@${MKDIR} ${STAGEDIR}${PREFIX}/share/mythtv/database
|
||||
@${CP} ${WRKSRC}/database/mc.sql ${STAGEDIR}${PREFIX}/share/mythtv/database
|
||||
${INSTALL_DATA} ${WRKSRC}/database/mc.sql ${STAGEDIR}${PREFIX}/share/mythtv/database
|
||||
.endif
|
||||
@${FIND} ${STAGEDIR}${PREFIX}/bin -type f -exec ${SH} -c "${FILE} -i '{}' | \
|
||||
${GREP} -q 'x-executable; charset=binary'" \; -print | ${XARGS} ${STRIP_CMD}
|
||||
@(cd ${STAGEDIR}${PREFIX} && ${STRIP_CMD} lib/libmyth*.so lib/mythtv/filters/lib*.so)
|
||||
|
||||
# Apply additional substitutions to pkg-plist generated by the 'makeplist' target
|
||||
create-plist: stage
|
||||
@(cd ${.CURDIR} && ${MAKE} makeplist > pkg-plist && \
|
||||
${REINPLACE_CMD} -E \
|
||||
-e '1d' -e '/etc\/rc.d\/mythbackend/d' -e '/packlist/d' \
|
||||
-e '/mythfrontend.desktop/d' \
|
||||
-e '/(^%%PYTHON_SITELIBDIR%%|^%%SITE_PERL%%|mythpython|mythwikiscripts)/s|^|%%BINDINGS%%|g' \
|
||||
pkg-plist)
|
||||
|
||||
.include <bsd.port.mk>
|
||||
|
@ -1,3 +1,3 @@
|
||||
TIMESTAMP = 1513802652
|
||||
SHA256 (MythTV-mythtv-v0.27.5_GH0.tar.gz) = 7e625f94332effeadfba8e7ae7c98d44a83bfc25b7c59e39adce67dc2f4e1e1b
|
||||
SIZE (MythTV-mythtv-v0.27.5_GH0.tar.gz) = 85652939
|
||||
TIMESTAMP = 1520812634
|
||||
SHA256 (MythTV-mythtv-v29.1_GH0.tar.gz) = 04a84eb0ded2d2b123624ab2b2e1b8cf824ff4bf8216e452b2516deb929082b2
|
||||
SIZE (MythTV-mythtv-v29.1_GH0.tar.gz) = 105616234
|
||||
|
17
multimedia/mythtv/files/extrapatch-programs_programs.pro
Normal file
17
multimedia/mythtv/files/extrapatch-programs_programs.pro
Normal file
@ -0,0 +1,17 @@
|
||||
Disable backend components for multimedia/mythtv-frontend
|
||||
|
||||
--- programs/programs.pro.orig 2018-01-11 12:39:22 UTC
|
||||
+++ programs/programs.pro
|
||||
@@ -15,12 +15,4 @@ using_frontend {
|
||||
!mingw:!win32-msvc*: SUBDIRS += mythtranscode/external/replex
|
||||
}
|
||||
|
||||
-using_backend {
|
||||
- SUBDIRS += mythbackend mythfilldatabase mythtv-setup
|
||||
- SUBDIRS += mythmetadatalookup
|
||||
-
|
||||
- !win32-msvc*:SUBDIRS += scripts
|
||||
- !mingw:!win32-msvc*: SUBDIRS += mythfilerecorder
|
||||
-}
|
||||
-
|
||||
using_mythtranscode: SUBDIRS += mythtranscode
|
239
multimedia/mythtv/files/patch-CVE-2016-10190
Normal file
239
multimedia/mythtv/files/patch-CVE-2016-10190
Normal file
@ -0,0 +1,239 @@
|
||||
From 0e0a413725e0221e1a9d0b7595e22bf57e23a09c Mon Sep 17 00:00:00 2001
|
||||
From: "Ronald S. Bultje" <rsbultje@gmail.com>
|
||||
Date: Mon, 5 Dec 2016 08:02:33 -0500
|
||||
Subject: [PATCH] http: make length/offset-related variables unsigned.
|
||||
|
||||
Fixes #5992, reported and found by Paul Cher <paulcher@icloud.com>.
|
||||
|
||||
(cherry picked from commit 2a05c8f813de6f2278827734bf8102291e7484aa)
|
||||
---
|
||||
libavformat/http.c | 70 +++++++++++++++++++++++++++++-------------------------
|
||||
1 file changed, 38 insertions(+), 32 deletions(-)
|
||||
|
||||
diff --git libavformat/http.c libavformat/http.c
|
||||
index d48958d8a3c..13f3be42271 100644
|
||||
--- external/FFmpeg/libavformat/http.c
|
||||
+++ external/FFmpeg/libavformat/http.c
|
||||
@@ -62,8 +62,8 @@ typedef struct HTTPContext {
|
||||
int line_count;
|
||||
int http_code;
|
||||
/* Used if "Transfer-Encoding: chunked" otherwise -1. */
|
||||
- int64_t chunksize;
|
||||
- int64_t off, end_off, filesize;
|
||||
+ uint64_t chunksize;
|
||||
+ uint64_t off, end_off, filesize;
|
||||
char *location;
|
||||
HTTPAuthState auth_state;
|
||||
HTTPAuthState proxy_auth_state;
|
||||
@@ -95,9 +95,9 @@ typedef struct HTTPContext {
|
||||
AVDictionary *cookie_dict;
|
||||
int icy;
|
||||
/* how much data was read since the last ICY metadata packet */
|
||||
- int icy_data_read;
|
||||
+ uint64_t icy_data_read;
|
||||
/* after how many bytes of read data a new metadata packet will be found */
|
||||
- int icy_metaint;
|
||||
+ uint64_t icy_metaint;
|
||||
char *icy_metadata_headers;
|
||||
char *icy_metadata_packet;
|
||||
AVDictionary *metadata;
|
||||
@@ -489,7 +489,7 @@ static int http_open(URLContext *h, const char *uri, int flags,
|
||||
else
|
||||
h->is_streamed = 1;
|
||||
|
||||
- s->filesize = -1;
|
||||
+ s->filesize = UINT64_MAX;
|
||||
s->location = av_strdup(uri);
|
||||
if (!s->location)
|
||||
return AVERROR(ENOMEM);
|
||||
@@ -616,9 +616,9 @@ static void parse_content_range(URLContext *h, const char *p)
|
||||
|
||||
if (!strncmp(p, "bytes ", 6)) {
|
||||
p += 6;
|
||||
- s->off = strtoll(p, NULL, 10);
|
||||
+ s->off = strtoull(p, NULL, 10);
|
||||
if ((slash = strchr(p, '/')) && strlen(slash) > 0)
|
||||
- s->filesize = strtoll(slash + 1, NULL, 10);
|
||||
+ s->filesize = strtoull(slash + 1, NULL, 10);
|
||||
}
|
||||
if (s->seekable == -1 && (!s->is_akamai || s->filesize != 2147483647))
|
||||
h->is_streamed = 0; /* we _can_ in fact seek */
|
||||
@@ -808,8 +808,9 @@ static int process_line(URLContext *h, char *line, int line_count,
|
||||
if ((ret = parse_location(s, p)) < 0)
|
||||
return ret;
|
||||
*new_location = 1;
|
||||
- } else if (!av_strcasecmp(tag, "Content-Length") && s->filesize == -1) {
|
||||
- s->filesize = strtoll(p, NULL, 10);
|
||||
+ } else if (!av_strcasecmp(tag, "Content-Length") &&
|
||||
+ s->filesize == UINT64_MAX) {
|
||||
+ s->filesize = strtoull(p, NULL, 10);
|
||||
} else if (!av_strcasecmp(tag, "Content-Range")) {
|
||||
parse_content_range(h, p);
|
||||
} else if (!av_strcasecmp(tag, "Accept-Ranges") &&
|
||||
@@ -818,7 +819,7 @@ static int process_line(URLContext *h, char *line, int line_count,
|
||||
h->is_streamed = 0;
|
||||
} else if (!av_strcasecmp(tag, "Transfer-Encoding") &&
|
||||
!av_strncasecmp(p, "chunked", 7)) {
|
||||
- s->filesize = -1;
|
||||
+ s->filesize = UINT64_MAX;
|
||||
s->chunksize = 0;
|
||||
} else if (!av_strcasecmp(tag, "WWW-Authenticate")) {
|
||||
ff_http_auth_handle_header(&s->auth_state, tag, p);
|
||||
@@ -842,7 +843,7 @@ static int process_line(URLContext *h, char *line, int line_count,
|
||||
if (parse_cookie(s, p, &s->cookie_dict))
|
||||
av_log(h, AV_LOG_WARNING, "Unable to parse '%s'\n", p);
|
||||
} else if (!av_strcasecmp(tag, "Icy-MetaInt")) {
|
||||
- s->icy_metaint = strtoll(p, NULL, 10);
|
||||
+ s->icy_metaint = strtoull(p, NULL, 10);
|
||||
} else if (!av_strncasecmp(tag, "Icy-", 4)) {
|
||||
if ((ret = parse_icy(s, tag, p)) < 0)
|
||||
return ret;
|
||||
@@ -972,7 +973,7 @@ static int http_read_header(URLContext *h, int *new_location)
|
||||
char line[MAX_URL_SIZE];
|
||||
int err = 0;
|
||||
|
||||
- s->chunksize = -1;
|
||||
+ s->chunksize = UINT64_MAX;
|
||||
|
||||
for (;;) {
|
||||
if ((err = http_get_line(s, line, sizeof(line))) < 0)
|
||||
@@ -1006,7 +1007,7 @@ static int http_connect(URLContext *h, const char *path, const char *local_path,
|
||||
int post, err;
|
||||
char headers[HTTP_HEADERS_SIZE] = "";
|
||||
char *authstr = NULL, *proxyauthstr = NULL;
|
||||
- int64_t off = s->off;
|
||||
+ uint64_t off = s->off;
|
||||
int len = 0;
|
||||
const char *method;
|
||||
int send_expect_100 = 0;
|
||||
@@ -1060,7 +1061,7 @@ static int http_connect(URLContext *h, const char *path, const char *local_path,
|
||||
// server supports seeking by analysing the reply headers.
|
||||
if (!has_header(s->headers, "\r\nRange: ") && !post && (s->off > 0 || s->end_off || s->seekable == -1)) {
|
||||
len += av_strlcatf(headers + len, sizeof(headers) - len,
|
||||
- "Range: bytes=%"PRId64"-", s->off);
|
||||
+ "Range: bytes=%"PRIu64"-", s->off);
|
||||
if (s->end_off)
|
||||
len += av_strlcatf(headers + len, sizeof(headers) - len,
|
||||
"%"PRId64, s->end_off - 1);
|
||||
@@ -1135,7 +1136,7 @@ static int http_connect(URLContext *h, const char *path, const char *local_path,
|
||||
s->line_count = 0;
|
||||
s->off = 0;
|
||||
s->icy_data_read = 0;
|
||||
- s->filesize = -1;
|
||||
+ s->filesize = UINT64_MAX;
|
||||
s->willclose = 0;
|
||||
s->end_chunked_post = 0;
|
||||
s->end_header = 0;
|
||||
@@ -1175,15 +1176,13 @@ static int http_buf_read(URLContext *h, uint8_t *buf, int size)
|
||||
memcpy(buf, s->buf_ptr, len);
|
||||
s->buf_ptr += len;
|
||||
} else {
|
||||
- int64_t target_end = s->end_off ? s->end_off : s->filesize;
|
||||
- if ((!s->willclose || s->chunksize < 0) &&
|
||||
- target_end >= 0 && s->off >= target_end)
|
||||
+ uint64_t target_end = s->end_off ? s->end_off : s->filesize;
|
||||
+ if ((!s->willclose || s->chunksize == UINT64_MAX) && s->off >= target_end)
|
||||
return AVERROR_EOF;
|
||||
len = ffurl_read(s->hd, buf, size);
|
||||
- if (!len && (!s->willclose || s->chunksize < 0) &&
|
||||
- target_end >= 0 && s->off < target_end) {
|
||||
+ if (!len && (!s->willclose || s->chunksize == UINT64_MAX) && s->off < target_end) {
|
||||
av_log(h, AV_LOG_ERROR,
|
||||
- "Stream ends prematurely at %"PRId64", should be %"PRId64"\n",
|
||||
+ "Stream ends prematurely at %"PRIu64", should be %"PRIu64"\n",
|
||||
s->off, target_end
|
||||
);
|
||||
return AVERROR(EIO);
|
||||
@@ -1247,7 +1246,7 @@ static int http_read_stream(URLContext *h, uint8_t *buf, int size)
|
||||
return err;
|
||||
}
|
||||
|
||||
- if (s->chunksize >= 0) {
|
||||
+ if (s->chunksize != UINT64_MAX) {
|
||||
if (!s->chunksize) {
|
||||
char line[32];
|
||||
|
||||
@@ -1256,13 +1255,19 @@ static int http_read_stream(URLContext *h, uint8_t *buf, int size)
|
||||
return err;
|
||||
} while (!*line); /* skip CR LF from last chunk */
|
||||
|
||||
- s->chunksize = strtoll(line, NULL, 16);
|
||||
+ s->chunksize = strtoull(line, NULL, 16);
|
||||
|
||||
- av_log(NULL, AV_LOG_TRACE, "Chunked encoding data size: %"PRId64"'\n",
|
||||
+ av_log(h, AV_LOG_TRACE,
|
||||
+ "Chunked encoding data size: %"PRIu64"'\n",
|
||||
s->chunksize);
|
||||
|
||||
if (!s->chunksize)
|
||||
return 0;
|
||||
+ else if (s->chunksize == UINT64_MAX) {
|
||||
+ av_log(h, AV_LOG_ERROR, "Invalid chunk size %"PRIu64"\n",
|
||||
+ s->chunksize);
|
||||
+ return AVERROR(EINVAL);
|
||||
+ }
|
||||
}
|
||||
size = FFMIN(size, s->chunksize);
|
||||
}
|
||||
@@ -1273,17 +1278,17 @@ static int http_read_stream(URLContext *h, uint8_t *buf, int size)
|
||||
read_ret = http_buf_read(h, buf, size);
|
||||
if ( (read_ret < 0 && s->reconnect && (!h->is_streamed || s->reconnect_streamed) && s->filesize > 0 && s->off < s->filesize)
|
||||
|| (read_ret == 0 && s->reconnect_at_eof && (!h->is_streamed || s->reconnect_streamed))) {
|
||||
- int64_t target = h->is_streamed ? 0 : s->off;
|
||||
+ uint64_t target = h->is_streamed ? 0 : s->off;
|
||||
|
||||
if (s->reconnect_delay > s->reconnect_delay_max)
|
||||
return AVERROR(EIO);
|
||||
|
||||
- av_log(h, AV_LOG_INFO, "Will reconnect at %"PRId64" error=%s.\n", s->off, av_err2str(read_ret));
|
||||
+ av_log(h, AV_LOG_INFO, "Will reconnect at %"PRIu64" error=%s.\n", s->off, av_err2str(read_ret));
|
||||
av_usleep(1000U*1000*s->reconnect_delay);
|
||||
s->reconnect_delay = 1 + 2*s->reconnect_delay;
|
||||
seek_ret = http_seek_internal(h, target, SEEK_SET, 1);
|
||||
if (seek_ret != target) {
|
||||
- av_log(h, AV_LOG_ERROR, "Failed to reconnect at %"PRId64".\n", target);
|
||||
+ av_log(h, AV_LOG_ERROR, "Failed to reconnect at %"PRIu64".\n", target);
|
||||
return read_ret;
|
||||
}
|
||||
|
||||
@@ -1338,10 +1343,11 @@ static int store_icy(URLContext *h, int size)
|
||||
{
|
||||
HTTPContext *s = h->priv_data;
|
||||
/* until next metadata packet */
|
||||
- int remaining = s->icy_metaint - s->icy_data_read;
|
||||
+ uint64_t remaining;
|
||||
|
||||
- if (remaining < 0)
|
||||
+ if (s->icy_metaint < s->icy_data_read)
|
||||
return AVERROR_INVALIDDATA;
|
||||
+ remaining = s->icy_metaint - s->icy_data_read;
|
||||
|
||||
if (!remaining) {
|
||||
/* The metadata packet is variable sized. It has a 1 byte header
|
||||
@@ -1455,7 +1461,7 @@ static int64_t http_seek_internal(URLContext *h, int64_t off, int whence, int fo
|
||||
{
|
||||
HTTPContext *s = h->priv_data;
|
||||
URLContext *old_hd = s->hd;
|
||||
- int64_t old_off = s->off;
|
||||
+ uint64_t old_off = s->off;
|
||||
uint8_t old_buf[BUFFER_SIZE];
|
||||
int old_buf_size, ret;
|
||||
AVDictionary *options = NULL;
|
||||
@@ -1466,7 +1472,7 @@ static int64_t http_seek_internal(URLContext *h, int64_t off, int whence, int fo
|
||||
((whence == SEEK_CUR && off == 0) ||
|
||||
(whence == SEEK_SET && off == s->off)))
|
||||
return s->off;
|
||||
- else if ((s->filesize == -1 && whence == SEEK_END))
|
||||
+ else if ((s->filesize == UINT64_MAX && whence == SEEK_END))
|
||||
return AVERROR(ENOSYS);
|
||||
|
||||
if (whence == SEEK_CUR)
|
||||
@@ -1621,7 +1627,7 @@ static int http_proxy_open(URLContext *h, const char *uri, int flags)
|
||||
s->buf_ptr = s->buffer;
|
||||
s->buf_end = s->buffer;
|
||||
s->line_count = 0;
|
||||
- s->filesize = -1;
|
||||
+ s->filesize = UINT64_MAX;
|
||||
cur_auth_type = s->proxy_auth_state.auth_type;
|
||||
|
||||
/* Note: This uses buffering, potentially reading more than the
|
35
multimedia/mythtv/files/patch-CVE-2016-10191
Normal file
35
multimedia/mythtv/files/patch-CVE-2016-10191
Normal file
@ -0,0 +1,35 @@
|
||||
From 32b95471a86ae383c0f76361d954aec511f7043a Mon Sep 17 00:00:00 2001
|
||||
From: Michael Niedermayer <michael@niedermayer.cc>
|
||||
Date: Mon, 5 Dec 2016 11:14:51 +0100
|
||||
Subject: [PATCH] avformat/rtmppkt: Check for packet size mismatches
|
||||
|
||||
Fixes out of array access
|
||||
|
||||
Found-by: Paul Cher <paulcher@icloud.com>
|
||||
Reviewed-by: Paul Cher <paulcher@icloud.com>
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
(cherry picked from commit 7d57ca4d9a75562fa32e40766211de150f8b3ee7)
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
---
|
||||
libavformat/rtmppkt.c | 8 ++++++++
|
||||
1 file changed, 8 insertions(+)
|
||||
|
||||
diff --git libavformat/rtmppkt.c libavformat/rtmppkt.c
|
||||
index 0d693c27f7f..cde0da78ce1 100644
|
||||
--- external/FFmpeg/libavformat/rtmppkt.c.orig
|
||||
+++ external/FFmpeg/libavformat/rtmppkt.c
|
||||
@@ -235,6 +235,14 @@ static int rtmp_packet_read_one_chunk(URLContext *h, RTMPPacket *p,
|
||||
if (hdr != RTMP_PS_TWELVEBYTES)
|
||||
timestamp += prev_pkt[channel_id].timestamp;
|
||||
|
||||
+ if (prev_pkt[channel_id].read && size != prev_pkt[channel_id].size) {
|
||||
+ av_log(NULL, AV_LOG_ERROR, "RTMP packet size mismatch %d != %d\n",
|
||||
+ size,
|
||||
+ prev_pkt[channel_id].size);
|
||||
+ ff_rtmp_packet_destroy(&prev_pkt[channel_id]);
|
||||
+ prev_pkt[channel_id].read = 0;
|
||||
+ }
|
||||
+
|
||||
if (!prev_pkt[channel_id].read) {
|
||||
if ((ret = ff_rtmp_packet_create(p, channel_id, type, timestamp,
|
||||
size)) < 0)
|
40
multimedia/mythtv/files/patch-CVE-2016-10192
Normal file
40
multimedia/mythtv/files/patch-CVE-2016-10192
Normal file
@ -0,0 +1,40 @@
|
||||
From c12ee64e80af2517005231388fdf4ea78f16bb0e Mon Sep 17 00:00:00 2001
|
||||
From: Michael Niedermayer <michael@niedermayer.cc>
|
||||
Date: Mon, 5 Dec 2016 17:27:45 +0100
|
||||
Subject: [PATCH] ffserver: Check chunk size
|
||||
|
||||
Fixes out of array access
|
||||
|
||||
Fixes: poc_ffserver.py
|
||||
Found-by: Paul Cher <paulcher@icloud.com>
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
(cherry picked from commit a5d25faa3f4b18dac737fdb35d0dd68eb0dc2156)
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
---
|
||||
ffserver.c | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git ffserver.c ffserver.c
|
||||
index 453d790e6cd..aec808e78cb 100644
|
||||
--- external/FFmpeg/ffserver.c.orig
|
||||
+++ external/FFmpeg/ffserver.c
|
||||
@@ -2702,8 +2702,10 @@ static int http_receive_data(HTTPContext *c)
|
||||
} else if (c->buffer_ptr - c->buffer >= 2 &&
|
||||
!memcmp(c->buffer_ptr - 1, "\r\n", 2)) {
|
||||
c->chunk_size = strtol(c->buffer, 0, 16);
|
||||
- if (c->chunk_size == 0) // end of stream
|
||||
+ if (c->chunk_size <= 0) { // end of stream or invalid chunk size
|
||||
+ c->chunk_size = 0;
|
||||
goto fail;
|
||||
+ }
|
||||
c->buffer_ptr = c->buffer;
|
||||
break;
|
||||
} else if (++loop_run > 10)
|
||||
@@ -2725,6 +2727,7 @@ static int http_receive_data(HTTPContext *c)
|
||||
/* end of connection : close it */
|
||||
goto fail;
|
||||
else {
|
||||
+ av_assert0(len <= c->chunk_size);
|
||||
c->chunk_size -= len;
|
||||
c->buffer_ptr += len;
|
||||
c->data_count += len;
|
31
multimedia/mythtv/files/patch-CVE-2017-05024
Normal file
31
multimedia/mythtv/files/patch-CVE-2017-05024
Normal file
@ -0,0 +1,31 @@
|
||||
From ed2572b9c8f885e2a4764d2e34604442a71899a1 Mon Sep 17 00:00:00 2001
|
||||
From: Matt Wolenetz <wolenetz@google.com>
|
||||
Date: Wed, 14 Dec 2016 15:26:19 -0800
|
||||
Subject: [PATCH] lavf/mov.c: Avoid heap allocation wrap in mov_read_uuid
|
||||
|
||||
Core of patch is from paul@paulmehta.com
|
||||
Reference https://crbug.com/643951
|
||||
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
Check value reduced as the code does not support values beyond INT_MAX
|
||||
Also the check is moved to a more common place and before integer truncation
|
||||
|
||||
(cherry picked from commit 2d453188c2303da641dafb048dc1806790526dfd)
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
---
|
||||
libavformat/mov.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git libavformat/mov.c libavformat/mov.c
|
||||
index 17d0475aae1..74b58255784 100644
|
||||
--- external/FFmpeg/libavformat/mov.c
|
||||
+++ external/FFmpeg/libavformat/mov.c
|
||||
@@ -4436,7 +4436,7 @@ static int mov_read_uuid(MOVContext *c, AVIOContext *pb, MOVAtom atom)
|
||||
0x9c, 0x71, 0x99, 0x94, 0x91, 0xe3, 0xaf, 0xac
|
||||
};
|
||||
|
||||
- if (atom.size < sizeof(uuid) || atom.size == INT64_MAX)
|
||||
+ if (atom.size < sizeof(uuid) || atom.size >= FFMIN(INT_MAX, SIZE_MAX))
|
||||
return AVERROR_INVALIDDATA;
|
||||
|
||||
ret = avio_read(pb, uuid, sizeof(uuid));
|
30
multimedia/mythtv/files/patch-CVE-2017-05025
Normal file
30
multimedia/mythtv/files/patch-CVE-2017-05025
Normal file
@ -0,0 +1,30 @@
|
||||
From cf8e004a51b08c6e8ceaeebca85ab84c7ed0b4cf Mon Sep 17 00:00:00 2001
|
||||
From: Matt Wolenetz <wolenetz@google.com>
|
||||
Date: Wed, 14 Dec 2016 15:24:42 -0800
|
||||
Subject: [PATCH] lavf/mov.c: Avoid heap allocation wrap in mov_read_hdlr
|
||||
|
||||
Core of patch is from paul@paulmehta.com
|
||||
Reference https://crbug.com/643950
|
||||
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
Check value reduced as the code does not support larger lengths
|
||||
|
||||
(cherry picked from commit fd30e4d57fe5841385f845440688505b88c0f4a9)
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
---
|
||||
libavformat/mov.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git libavformat/mov.c libavformat/mov.c
|
||||
index 1e2141808da..17d0475aae1 100644
|
||||
--- external/FFmpeg/libavformat/mov.c
|
||||
+++ external/FFmpeg/libavformat/mov.c
|
||||
@@ -739,6 +739,8 @@ static int mov_read_hdlr(MOVContext *c, AVIOContext *pb, MOVAtom atom)
|
||||
|
||||
title_size = atom.size - 24;
|
||||
if (title_size > 0) {
|
||||
+ if (title_size > FFMIN(INT_MAX, SIZE_MAX-1))
|
||||
+ return AVERROR_INVALIDDATA;
|
||||
title_str = av_malloc(title_size + 1); /* Add null terminator */
|
||||
if (!title_str)
|
||||
return AVERROR(ENOMEM);
|
28
multimedia/mythtv/files/patch-CVE-2017-07862
Normal file
28
multimedia/mythtv/files/patch-CVE-2017-07862
Normal file
@ -0,0 +1,28 @@
|
||||
From a1a14982ec5b9954637cdc9ce8daf01d211e5c79 Mon Sep 17 00:00:00 2001
|
||||
From: Michael Niedermayer <michael@niedermayer.cc>
|
||||
Date: Tue, 7 Feb 2017 15:49:09 +0100
|
||||
Subject: [PATCH] avcodec/pictordec: Fix logic error
|
||||
|
||||
Fixes: 559/clusterfuzz-testcase-6424225917173760
|
||||
|
||||
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
(cherry picked from commit 8c2ea3030af7b40a3c4275696fb5c76cdb80950a)
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
---
|
||||
libavcodec/pictordec.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git libavcodec/pictordec.c libavcodec/pictordec.c
|
||||
index ff6eb7f4fc9..0cfc7858326 100644
|
||||
--- external/FFmpeg/libavcodec/pictordec.c
|
||||
+++ external/FFmpeg/libavcodec/pictordec.c
|
||||
@@ -142,7 +142,7 @@ static int decode_frame(AVCodecContext *avctx,
|
||||
|
||||
if (av_image_check_size(s->width, s->height, 0, avctx) < 0)
|
||||
return -1;
|
||||
- if (s->width != avctx->width && s->height != avctx->height) {
|
||||
+ if (s->width != avctx->width || s->height != avctx->height) {
|
||||
ret = ff_set_dimensions(avctx, s->width, s->height);
|
||||
if (ret < 0)
|
||||
return ret;
|
37
multimedia/mythtv/files/patch-CVE-2017-07866
Normal file
37
multimedia/mythtv/files/patch-CVE-2017-07866
Normal file
@ -0,0 +1,37 @@
|
||||
From bd6c1d5149fbc4f2a0200ad99e7f56f4fb7d518a Mon Sep 17 00:00:00 2001
|
||||
From: Michael Niedermayer <michael@niedermayer.cc>
|
||||
Date: Mon, 23 Jan 2017 01:25:27 +0100
|
||||
Subject: [PATCH] avcodec/pngdec: Fix off by 1 size in decode_zbuf()
|
||||
|
||||
Fixes out of array access
|
||||
Fixes: 444/fuzz-2-ffmpeg_VIDEO_AV_CODEC_ID_PNG_fuzzer
|
||||
|
||||
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
(cherry picked from commit e371f031b942d73e02c090170975561fabd5c264)
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
---
|
||||
libavcodec/pngdec.c | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git libavcodec/pngdec.c libavcodec/pngdec.c
|
||||
index 36275ae43f5..7ade0cee661 100644
|
||||
--- external/FFmpeg/libavcodec/pngdec.c
|
||||
+++ external/FFmpeg/libavcodec/pngdec.c
|
||||
@@ -437,13 +437,13 @@ static int decode_zbuf(AVBPrint *bp, const uint8_t *data,
|
||||
av_bprint_init(bp, 0, -1);
|
||||
|
||||
while (zstream.avail_in > 0) {
|
||||
- av_bprint_get_buffer(bp, 1, &buf, &buf_size);
|
||||
- if (!buf_size) {
|
||||
+ av_bprint_get_buffer(bp, 2, &buf, &buf_size);
|
||||
+ if (buf_size < 2) {
|
||||
ret = AVERROR(ENOMEM);
|
||||
goto fail;
|
||||
}
|
||||
zstream.next_out = buf;
|
||||
- zstream.avail_out = buf_size;
|
||||
+ zstream.avail_out = buf_size - 1;
|
||||
ret = inflate(&zstream, Z_PARTIAL_FLUSH);
|
||||
if (ret != Z_OK && ret != Z_STREAM_END) {
|
||||
ret = AVERROR_EXTERNAL;
|
116
multimedia/mythtv/files/patch-CVE-2017-09608a
Normal file
116
multimedia/mythtv/files/patch-CVE-2017-09608a
Normal file
@ -0,0 +1,116 @@
|
||||
From e1940d2458353943e2fab6bdb87d2278077e22a5 Mon Sep 17 00:00:00 2001
|
||||
From: Paul B Mahol <onemda@gmail.com>
|
||||
Date: Mon, 20 Mar 2017 22:47:48 +0100
|
||||
Subject: [PATCH] avcodec/dnxhd_parser: take into account compressed frame size
|
||||
and skip it
|
||||
|
||||
Fixes #6214 and vsynth1-dnxhd-720p-hr-lb.
|
||||
|
||||
Signed-off-by: Paul B Mahol <onemda@gmail.com>
|
||||
---
|
||||
libavcodec/dnxhd_parser.c | 65 +++++++++++++++++++++++++++----
|
||||
tests/ref/vsynth/vsynth1-dnxhd-720p-hr-lb | 4 +-
|
||||
2 files changed, 60 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/libavcodec/dnxhd_parser.c b/libavcodec/dnxhd_parser.c
|
||||
index 033b8ee7e11..4f9bbceeeb5 100644
|
||||
--- external/FFmpeg/libavcodec/dnxhd_parser.c
|
||||
+++ external/FFmpeg/libavcodec/dnxhd_parser.c
|
||||
@@ -31,8 +31,24 @@ typedef struct {
|
||||
ParseContext pc;
|
||||
int interlaced;
|
||||
int cur_field; /* first field is 0, second is 1 */
|
||||
+ int cur_byte;
|
||||
+ int remaining;
|
||||
+ int w, h;
|
||||
} DNXHDParserContext;
|
||||
|
||||
+static int dnxhd_get_hr_frame_size(int cid, int w, int h)
|
||||
+{
|
||||
+ int result, i = ff_dnxhd_get_cid_table(cid);
|
||||
+
|
||||
+ if (i < 0)
|
||||
+ return i;
|
||||
+
|
||||
+ result = ((h + 15) / 16) * ((w + 15) / 16) * ff_dnxhd_cid_table[i].packet_scale.num / ff_dnxhd_cid_table[i].packet_scale.den;
|
||||
+ result = (result + 2048) / 4096 * 4096;
|
||||
+
|
||||
+ return FFMAX(result, 8192);
|
||||
+}
|
||||
+
|
||||
static int dnxhd_find_frame_end(DNXHDParserContext *dctx,
|
||||
const uint8_t *buf, int buf_size)
|
||||
{
|
||||
@@ -51,30 +67,65 @@ static int dnxhd_find_frame_end(DNXHDParserContext *dctx,
|
||||
pic_found = 1;
|
||||
interlaced = (state&2)>>1; /* byte following the 5-byte header prefix */
|
||||
cur_field = state&1;
|
||||
+ dctx->cur_byte = 0;
|
||||
+ dctx->remaining = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
- if (pic_found) {
|
||||
+ if (pic_found && !dctx->remaining) {
|
||||
if (!buf_size) /* EOF considered as end of frame */
|
||||
return 0;
|
||||
for (; i < buf_size; i++) {
|
||||
+ dctx->cur_byte++;
|
||||
state = (state << 8) | buf[i];
|
||||
- if (ff_dnxhd_check_header_prefix(state & 0xffffffffff00LL) != 0) {
|
||||
- if (!interlaced || dctx->cur_field) {
|
||||
+
|
||||
+ if (dctx->cur_byte == 24) {
|
||||
+ dctx->h = (state >> 32) & 0xFFFF;
|
||||
+ } else if (dctx->cur_byte == 26) {
|
||||
+ dctx->w = (state >> 32) & 0xFFFF;
|
||||
+ } else if (dctx->cur_byte == 42) {
|
||||
+ int cid = (state >> 32) & 0xFFFFFFFF;
|
||||
+
|
||||
+ if (cid <= 0)
|
||||
+ continue;
|
||||
+
|
||||
+ dctx->remaining = avpriv_dnxhd_get_frame_size(cid);
|
||||
+ if (dctx->remaining <= 0) {
|
||||
+ dctx->remaining = dnxhd_get_hr_frame_size(cid, dctx->w, dctx->h);
|
||||
+ if (dctx->remaining <= 0)
|
||||
+ return dctx->remaining;
|
||||
+ }
|
||||
+ if (buf_size - i >= dctx->remaining && (!dctx->interlaced || dctx->cur_field)) {
|
||||
+ int remaining = dctx->remaining;
|
||||
+
|
||||
pc->frame_start_found = 0;
|
||||
pc->state64 = -1;
|
||||
dctx->interlaced = interlaced;
|
||||
dctx->cur_field = 0;
|
||||
- return i - 5;
|
||||
+ dctx->cur_byte = 0;
|
||||
+ dctx->remaining = 0;
|
||||
+ return remaining;
|
||||
} else {
|
||||
- /* continue, to get the second field */
|
||||
- dctx->interlaced = interlaced = (state&2)>>1;
|
||||
- dctx->cur_field = cur_field = state&1;
|
||||
+ dctx->remaining -= buf_size;
|
||||
}
|
||||
}
|
||||
}
|
||||
+ } else if (pic_found) {
|
||||
+ if (dctx->remaining > buf_size) {
|
||||
+ dctx->remaining -= buf_size;
|
||||
+ } else {
|
||||
+ int remaining = dctx->remaining;
|
||||
+
|
||||
+ pc->frame_start_found = 0;
|
||||
+ pc->state64 = -1;
|
||||
+ dctx->interlaced = interlaced;
|
||||
+ dctx->cur_field = 0;
|
||||
+ dctx->cur_byte = 0;
|
||||
+ dctx->remaining = 0;
|
||||
+ return remaining;
|
||||
+ }
|
||||
}
|
||||
pc->frame_start_found = pic_found;
|
||||
pc->state64 = state;
|
82
multimedia/mythtv/files/patch-CVE-2017-09608b
Normal file
82
multimedia/mythtv/files/patch-CVE-2017-09608b
Normal file
@ -0,0 +1,82 @@
|
||||
From da693f8daa62cb76a2aa05021d6c8d53a1b816b2 Mon Sep 17 00:00:00 2001
|
||||
From: Paul B Mahol <onemda@gmail.com>
|
||||
Date: Sun, 23 Apr 2017 11:53:57 +0200
|
||||
Subject: [PATCH] avcodec/dnxhd_parser: fix parsing interlaced video, simplify
|
||||
code
|
||||
|
||||
There appears to be no need to treat interlaced videos differently,
|
||||
also that code is flawed, as for at least one input cur_field would
|
||||
be always 0.
|
||||
|
||||
Fixes ticket #6344.
|
||||
|
||||
Signed-off-by: Paul B Mahol <onemda@gmail.com>
|
||||
(cherry picked from commit ac30754a148df58822a272555d1f6f860e42037e)
|
||||
---
|
||||
libavcodec/dnxhd_parser.c | 14 +-------------
|
||||
1 file changed, 1 insertion(+), 13 deletions(-)
|
||||
|
||||
diff --git a/libavcodec/dnxhd_parser.c b/libavcodec/dnxhd_parser.c
|
||||
index 4f9bbceeeb5..a1f632a620e 100644
|
||||
--- external/FFmpeg/libavcodec/dnxhd_parser.c
|
||||
+++ external/FFmpeg/libavcodec/dnxhd_parser.c
|
||||
@@ -29,8 +29,6 @@
|
||||
|
||||
typedef struct {
|
||||
ParseContext pc;
|
||||
- int interlaced;
|
||||
- int cur_field; /* first field is 0, second is 1 */
|
||||
int cur_byte;
|
||||
int remaining;
|
||||
int w, h;
|
||||
@@ -56,8 +54,6 @@ static int dnxhd_find_frame_end(DNXHDParserContext *dctx,
|
||||
uint64_t state = pc->state64;
|
||||
int pic_found = pc->frame_start_found;
|
||||
int i = 0;
|
||||
- int interlaced = dctx->interlaced;
|
||||
- int cur_field = dctx->cur_field;
|
||||
|
||||
if (!pic_found) {
|
||||
for (i = 0; i < buf_size; i++) {
|
||||
@@ -65,8 +61,6 @@ static int dnxhd_find_frame_end(DNXHDParserContext *dctx,
|
||||
if (ff_dnxhd_check_header_prefix(state & 0xffffffffff00LL) != 0) {
|
||||
i++;
|
||||
pic_found = 1;
|
||||
- interlaced = (state&2)>>1; /* byte following the 5-byte header prefix */
|
||||
- cur_field = state&1;
|
||||
dctx->cur_byte = 0;
|
||||
dctx->remaining = 0;
|
||||
break;
|
||||
@@ -97,13 +91,11 @@ static int dnxhd_find_frame_end(DNXHDParserContext *dctx,
|
||||
if (dctx->remaining <= 0)
|
||||
return dctx->remaining;
|
||||
}
|
||||
- if (buf_size - i >= dctx->remaining && (!dctx->interlaced || dctx->cur_field)) {
|
||||
+ if (buf_size - i + 47 >= dctx->remaining) {
|
||||
int remaining = dctx->remaining;
|
||||
|
||||
pc->frame_start_found = 0;
|
||||
pc->state64 = -1;
|
||||
- dctx->interlaced = interlaced;
|
||||
- dctx->cur_field = 0;
|
||||
dctx->cur_byte = 0;
|
||||
dctx->remaining = 0;
|
||||
return remaining;
|
||||
@@ -120,8 +112,6 @@ static int dnxhd_find_frame_end(DNXHDParserContext *dctx,
|
||||
|
||||
pc->frame_start_found = 0;
|
||||
pc->state64 = -1;
|
||||
- dctx->interlaced = interlaced;
|
||||
- dctx->cur_field = 0;
|
||||
dctx->cur_byte = 0;
|
||||
dctx->remaining = 0;
|
||||
return remaining;
|
||||
@@ -129,8 +119,6 @@ static int dnxhd_find_frame_end(DNXHDParserContext *dctx,
|
||||
}
|
||||
pc->frame_start_found = pic_found;
|
||||
pc->state64 = state;
|
||||
- dctx->interlaced = interlaced;
|
||||
- dctx->cur_field = cur_field;
|
||||
return END_NOT_FOUND;
|
||||
}
|
||||
|
45
multimedia/mythtv/files/patch-CVE-2017-09608c
Normal file
45
multimedia/mythtv/files/patch-CVE-2017-09608c
Normal file
@ -0,0 +1,45 @@
|
||||
From 0a709e2a10b8288a0cc383547924ecfe285cef89 Mon Sep 17 00:00:00 2001
|
||||
From: Michael Niedermayer <michael@niedermayer.cc>
|
||||
Date: Wed, 14 Jun 2017 16:58:20 +0200
|
||||
Subject: [PATCH] avcodec/dnxhd_parser: Do not return invalid value from
|
||||
dnxhd_find_frame_end() on error
|
||||
|
||||
Fixes: Null pointer dereference
|
||||
|
||||
Fixes: CVE-2017-9608
|
||||
Found-by: Yihan Lian
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
(cherry picked from commit 611b35627488a8d0763e75c25ee0875c5b7987dd)
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
---
|
||||
libavcodec/dnxhd_parser.c | 12 +++++++-----
|
||||
1 file changed, 7 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/libavcodec/dnxhd_parser.c b/libavcodec/dnxhd_parser.c
|
||||
index a1f632a620e..f1166be1007 100644
|
||||
--- external/FFmpeg/libavcodec/dnxhd_parser.c
|
||||
+++ external/FFmpeg/libavcodec/dnxhd_parser.c
|
||||
@@ -81,16 +81,18 @@ static int dnxhd_find_frame_end(DNXHDParserContext *dctx,
|
||||
dctx->w = (state >> 32) & 0xFFFF;
|
||||
} else if (dctx->cur_byte == 42) {
|
||||
int cid = (state >> 32) & 0xFFFFFFFF;
|
||||
+ int remaining;
|
||||
|
||||
if (cid <= 0)
|
||||
continue;
|
||||
|
||||
- dctx->remaining = avpriv_dnxhd_get_frame_size(cid);
|
||||
- if (dctx->remaining <= 0) {
|
||||
- dctx->remaining = dnxhd_get_hr_frame_size(cid, dctx->w, dctx->h);
|
||||
- if (dctx->remaining <= 0)
|
||||
- return dctx->remaining;
|
||||
+ remaining = avpriv_dnxhd_get_frame_size(cid);
|
||||
+ if (remaining <= 0) {
|
||||
+ remaining = dnxhd_get_hr_frame_size(cid, dctx->w, dctx->h);
|
||||
+ if (remaining <= 0)
|
||||
+ continue;
|
||||
}
|
||||
+ dctx->remaining = remaining;
|
||||
if (buf_size - i + 47 >= dctx->remaining) {
|
||||
int remaining = dctx->remaining;
|
||||
|
32
multimedia/mythtv/files/patch-CVE-2017-09991
Normal file
32
multimedia/mythtv/files/patch-CVE-2017-09991
Normal file
@ -0,0 +1,32 @@
|
||||
From 85c8c0c826e78d159ea242ce64d7e8feeeeca741 Mon Sep 17 00:00:00 2001
|
||||
From: Michael Niedermayer <michael@niedermayer.cc>
|
||||
Date: Sun, 7 May 2017 18:50:49 +0200
|
||||
Subject: [PATCH] avcodec/xwddec: Check bpp more completely
|
||||
|
||||
Fixes out of array access
|
||||
Fixes: 1399/clusterfuzz-testcase-minimized-4866094172995584
|
||||
|
||||
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
(cherry picked from commit 441026fcb13ac23aa10edc312bdacb6445a0ad06)
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
---
|
||||
libavcodec/xwddec.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git libavcodec/xwddec.c libavcodec/xwddec.c
|
||||
index 64cd8418a20..8b0845fc013 100644
|
||||
--- external/FFmpeg/libavcodec/xwddec.c
|
||||
+++ external/FFmpeg/libavcodec/xwddec.c
|
||||
@@ -157,9 +157,9 @@ static int xwd_decode_frame(AVCodecContext *avctx, void *data,
|
||||
case XWD_GRAY_SCALE:
|
||||
if (bpp != 1 && bpp != 8)
|
||||
return AVERROR_INVALIDDATA;
|
||||
- if (pixdepth == 1) {
|
||||
+ if (bpp == 1 && pixdepth == 1) {
|
||||
avctx->pix_fmt = AV_PIX_FMT_MONOWHITE;
|
||||
- } else if (pixdepth == 8) {
|
||||
+ } else if (bpp == 8 && pixdepth == 8) {
|
||||
avctx->pix_fmt = AV_PIX_FMT_GRAY8;
|
||||
}
|
||||
break;
|
29
multimedia/mythtv/files/patch-CVE-2017-09992
Normal file
29
multimedia/mythtv/files/patch-CVE-2017-09992
Normal file
@ -0,0 +1,29 @@
|
||||
From 536af4212100dee1577fe2d30814762c58038efc Mon Sep 17 00:00:00 2001
|
||||
From: Michael Niedermayer <michael@niedermayer.cc>
|
||||
Date: Fri, 5 May 2017 20:42:11 +0200
|
||||
Subject: [PATCH] avcodec/dfa: Fix off by 1 error
|
||||
|
||||
Fixes out of array access
|
||||
Fixes: 1345/clusterfuzz-testcase-minimized-6062963045695488
|
||||
|
||||
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
(cherry picked from commit f52fbf4f3ed02a7d872d8a102006f29b4421f360)
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
---
|
||||
libavcodec/dfa.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git libavcodec/dfa.c libavcodec/dfa.c
|
||||
index f45d019a792..5ddb647c4cb 100644
|
||||
--- external/FFmpeg/libavcodec/dfa.c
|
||||
+++ external/FFmpeg/libavcodec/dfa.c
|
||||
@@ -175,7 +175,7 @@ static int decode_dds1(GetByteContext *gb, uint8_t *frame, int width, int height
|
||||
return AVERROR_INVALIDDATA;
|
||||
frame += v;
|
||||
} else {
|
||||
- if (frame_end - frame < width + 3)
|
||||
+ if (frame_end - frame < width + 4)
|
||||
return AVERROR_INVALIDDATA;
|
||||
frame[0] = frame[1] =
|
||||
frame[width] = frame[width + 1] = bytestream2_get_byte(gb);
|
91
multimedia/mythtv/files/patch-CVE-2017-09993a
Normal file
91
multimedia/mythtv/files/patch-CVE-2017-09993a
Normal file
@ -0,0 +1,91 @@
|
||||
From 25dac3128b605f2867e3e0f0288b896f84d3a033 Mon Sep 17 00:00:00 2001
|
||||
From: Michael Niedermayer <michael@niedermayer.cc>
|
||||
Date: Sat, 3 Jun 2017 21:20:04 +0200
|
||||
Subject: [PATCH] avformat/hls: Check local file extensions
|
||||
|
||||
This reduces the attack surface of local file-system
|
||||
information leaking.
|
||||
|
||||
It prevents the existing exploit leading to an information leak. As
|
||||
well as similar hypothetical attacks.
|
||||
|
||||
Leaks of information from files and symlinks ending in common multimedia extensions
|
||||
are still possible. But files with sensitive information like private keys and passwords
|
||||
generally do not use common multimedia filename extensions.
|
||||
It does not stop leaks via remote addresses in the LAN.
|
||||
|
||||
The existing exploit depends on a specific decoder as well.
|
||||
It does appear though that the exploit should be possible with any decoder.
|
||||
The problem is that as long as sensitive information gets into the decoder,
|
||||
the output of the decoder becomes sensitive as well.
|
||||
The only obvious solution is to prevent access to sensitive information. Or to
|
||||
disable hls or possibly some of its feature. More complex solutions like
|
||||
checking the path to limit access to only subdirectories of the hls path may
|
||||
work as an alternative. But such solutions are fragile and tricky to implement
|
||||
portably and would not stop every possible attack nor would they work with all
|
||||
valid hls files.
|
||||
|
||||
Developers have expressed their dislike / objected to disabling hls by default as well
|
||||
as disabling hls with local files. There also where objections against restricting
|
||||
remote url file extensions. This here is a less robust but also lower
|
||||
inconvenience solution.
|
||||
It can be applied stand alone or together with other solutions.
|
||||
limiting the check to local files was suggested by nevcairiel
|
||||
|
||||
This recommits the security fix without the author name joke which was
|
||||
originally requested by Nicolas.
|
||||
|
||||
Found-by: Emil Lerner and Pavel Cheremushkin
|
||||
Reported-by: Thierry Foucu <tfoucu@google.com>
|
||||
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
(cherry picked from commit 189ff4219644532bdfa7bab28dfedaee4d6d4021)
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
---
|
||||
libavformat/hls.c | 18 +++++++++++++++++-
|
||||
1 file changed, 17 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git libavformat/hls.c libavformat/hls.c
|
||||
index 2bf86fadc64..ffefd284f86 100644
|
||||
--- external/FFmpeg/libavformat/hls.c
|
||||
+++ external/FFmpeg/libavformat/hls.c
|
||||
@@ -204,6 +204,7 @@ typedef struct HLSContext {
|
||||
char *http_proxy; ///< holds the address of the HTTP proxy server
|
||||
AVDictionary *avio_opts;
|
||||
int strict_std_compliance;
|
||||
+ char *allowed_extensions;
|
||||
} HLSContext;
|
||||
|
||||
static int read_chomp_line(AVIOContext *s, char *buf, int maxlen)
|
||||
@@ -618,8 +619,19 @@ static int open_url(AVFormatContext *s, AVIOContext **pb, const char *url,
|
||||
return AVERROR_INVALIDDATA;
|
||||
|
||||
// only http(s) & file are allowed
|
||||
- if (!av_strstart(proto_name, "http", NULL) && !av_strstart(proto_name, "file", NULL))
|
||||
+ if (av_strstart(proto_name, "file", NULL)) {
|
||||
+ if (strcmp(c->allowed_extensions, "ALL") && !av_match_ext(url, c->allowed_extensions)) {
|
||||
+ av_log(s, AV_LOG_ERROR,
|
||||
+ "Filename extension of \'%s\' is not a common multimedia extension, blocked for security reasons.\n"
|
||||
+ "If you wish to override this adjust allowed_extensions, you can set it to \'ALL\' to allow all\n",
|
||||
+ url);
|
||||
+ return AVERROR_INVALIDDATA;
|
||||
+ }
|
||||
+ } else if (av_strstart(proto_name, "http", NULL)) {
|
||||
+ ;
|
||||
+ } else
|
||||
return AVERROR_INVALIDDATA;
|
||||
+
|
||||
if (!strncmp(proto_name, url, strlen(proto_name)) && url[strlen(proto_name)] == ':')
|
||||
;
|
||||
else if (av_strstart(url, "crypto", NULL) && !strncmp(proto_name, url + 7, strlen(proto_name)) && url[7 + strlen(proto_name)] == ':')
|
||||
@@ -2127,6 +2139,10 @@ static int hls_probe(AVProbeData *p)
|
||||
static const AVOption hls_options[] = {
|
||||
{"live_start_index", "segment index to start live streams at (negative values are from the end)",
|
||||
OFFSET(live_start_index), AV_OPT_TYPE_INT, {.i64 = -3}, INT_MIN, INT_MAX, FLAGS},
|
||||
+ {"allowed_extensions", "List of file extensions that hls is allowed to access",
|
||||
+ OFFSET(allowed_extensions), AV_OPT_TYPE_STRING,
|
||||
+ {.str = "3gp,aac,avi,flac,mkv,m3u8,m4a,m4s,m4v,mpg,mov,mp2,mp3,mp4,mpeg,mpegts,ogg,ogv,oga,ts,vob,wav"},
|
||||
+ INT_MIN, INT_MAX, FLAGS},
|
||||
{NULL}
|
||||
};
|
||||
|
31
multimedia/mythtv/files/patch-CVE-2017-09993b
Normal file
31
multimedia/mythtv/files/patch-CVE-2017-09993b
Normal file
@ -0,0 +1,31 @@
|
||||
From 5415c88e370692a3cf10b998ab230b4a02fc237f Mon Sep 17 00:00:00 2001
|
||||
From: Michael Niedermayer <michael@niedermayer.cc>
|
||||
Date: Tue, 30 May 2017 21:29:20 +0200
|
||||
Subject: [PATCH] avformat/avidec: Limit formats in gab2 to srt and ass/ssa
|
||||
|
||||
This prevents part of one exploit leading to an information leak
|
||||
|
||||
Found-by: Emil Lerner and Pavel Cheremushkin
|
||||
Reported-by: Thierry Foucu <tfoucu@google.com>
|
||||
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
(cherry picked from commit a5d849b149ca67ced2d271dc84db0bc95a548abb)
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
---
|
||||
libavformat/avidec.c | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git libavformat/avidec.c libavformat/avidec.c
|
||||
index ebd14abb12c..9afac825d43 100644
|
||||
--- external/FFmpeg/libavformat/avidec.c
|
||||
+++ external/FFmpeg/libavformat/avidec.c
|
||||
@@ -1098,6 +1098,9 @@ static int read_gab2_sub(AVFormatContext *s, AVStream *st, AVPacket *pkt)
|
||||
if (!sub_demuxer)
|
||||
goto error;
|
||||
|
||||
+ if (strcmp(sub_demuxer->name, "srt") && strcmp(sub_demuxer->name, "ass"))
|
||||
+ goto error;
|
||||
+
|
||||
if (!(ast->sub_ctx = avformat_alloc_context()))
|
||||
goto error;
|
||||
|
47
multimedia/mythtv/files/patch-CVE-2017-09994
Normal file
47
multimedia/mythtv/files/patch-CVE-2017-09994
Normal file
@ -0,0 +1,47 @@
|
||||
From 869e8b1d0f549e926ecb246f916c9066f881db4a Mon Sep 17 00:00:00 2001
|
||||
From: Michael Niedermayer <michael@niedermayer.cc>
|
||||
Date: Wed, 10 May 2017 18:37:49 +0200
|
||||
Subject: [PATCH] avcodec/webp: Always set pix_fmt
|
||||
|
||||
Fixes: out of array access
|
||||
Fixes: 1434/clusterfuzz-testcase-minimized-6314998085189632
|
||||
Fixes: 1435/clusterfuzz-testcase-minimized-6483783723253760
|
||||
|
||||
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
|
||||
Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
(cherry picked from commit 6b5d3fb26fb4be48e4966e4b1d97c2165538d4ef)
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
---
|
||||
libavcodec/vp8.c | 2 ++
|
||||
libavcodec/webp.c | 3 +--
|
||||
2 files changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git libavcodec/vp8.c libavcodec/vp8.c
|
||||
index 068223920e4..63e78492848 100644
|
||||
--- external/FFmpeg/libavcodec/vp8.c
|
||||
+++ external/FFmpeg/libavcodec/vp8.c
|
||||
@@ -2548,6 +2548,8 @@ int vp78_decode_frame(AVCodecContext *avctx, void *data, int *got_frame,
|
||||
enum AVDiscard skip_thresh;
|
||||
VP8Frame *av_uninit(curframe), *prev_frame;
|
||||
|
||||
+ av_assert0(avctx->pix_fmt == AV_PIX_FMT_YUVA420P || avctx->pix_fmt == AV_PIX_FMT_YUV420P);
|
||||
+
|
||||
if (is_vp7)
|
||||
ret = vp7_decode_frame_header(s, avpkt->data, avpkt->size);
|
||||
else
|
||||
diff --git libavcodec/webp.c libavcodec/webp.c
|
||||
index 7d23cc74356..b2ae5bcbba9 100644
|
||||
--- external/FFmpeg/libavcodec/webp.c
|
||||
+++ external/FFmpeg/libavcodec/webp.c
|
||||
@@ -1327,9 +1327,8 @@ static int vp8_lossy_decode_frame(AVCodecContext *avctx, AVFrame *p,
|
||||
if (!s->initialized) {
|
||||
ff_vp8_decode_init(avctx);
|
||||
s->initialized = 1;
|
||||
- if (s->has_alpha)
|
||||
- avctx->pix_fmt = AV_PIX_FMT_YUVA420P;
|
||||
}
|
||||
+ avctx->pix_fmt = s->has_alpha ? AV_PIX_FMT_YUVA420P : AV_PIX_FMT_YUV420P;
|
||||
s->lossless = 0;
|
||||
|
||||
if (data_size > INT_MAX) {
|
29
multimedia/mythtv/files/patch-CVE-2017-09996a
Normal file
29
multimedia/mythtv/files/patch-CVE-2017-09996a
Normal file
@ -0,0 +1,29 @@
|
||||
From 7a69c1b2abfa96f0578cbd3ff82126b883ba6ef0 Mon Sep 17 00:00:00 2001
|
||||
From: Michael Niedermayer <michael@niedermayer.cc>
|
||||
Date: Sat, 6 May 2017 22:24:52 +0200
|
||||
Subject: [PATCH] avcodec/cdxl: Check format parameter
|
||||
|
||||
Fixes out of array access
|
||||
Fixes: 1378/clusterfuzz-testcase-minimized-5715088008806400
|
||||
|
||||
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
(cherry picked from commit e1b60aad77c27ed5d4dfc11e5e6a05a38c70489d)
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
---
|
||||
libavcodec/cdxl.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git libavcodec/cdxl.c libavcodec/cdxl.c
|
||||
index 7a9b41943d8..5c0ecb279c7 100644
|
||||
--- external/FFmpeg/libavcodec/cdxl.c
|
||||
+++ external/FFmpeg/libavcodec/cdxl.c
|
||||
@@ -277,7 +277,7 @@ static int cdxl_decode_frame(AVCodecContext *avctx, void *data,
|
||||
c->padded_bits = aligned_width - c->avctx->width;
|
||||
if (c->video_size < aligned_width * avctx->height * (int64_t)c->bpp / 8)
|
||||
return AVERROR_INVALIDDATA;
|
||||
- if (!encoding && c->palette_size && c->bpp <= 8) {
|
||||
+ if (!encoding && c->palette_size && c->bpp <= 8 && c->format != CHUNKY) {
|
||||
avctx->pix_fmt = AV_PIX_FMT_PAL8;
|
||||
} else if (encoding == 1 && (c->bpp == 6 || c->bpp == 8)) {
|
||||
if (c->palette_size != (1 << (c->bpp - 1)))
|
29
multimedia/mythtv/files/patch-CVE-2017-09996b
Normal file
29
multimedia/mythtv/files/patch-CVE-2017-09996b
Normal file
@ -0,0 +1,29 @@
|
||||
From 7f3a671ece8fd711e2ebc71a4e08cda591d810a8 Mon Sep 17 00:00:00 2001
|
||||
From: Michael Niedermayer <michael@niedermayer.cc>
|
||||
Date: Mon, 8 May 2017 11:46:03 +0200
|
||||
Subject: [PATCH] avcodec/cdxl: Check format for BGR24
|
||||
|
||||
Fixes: out of array access
|
||||
Fixes: 1427/clusterfuzz-testcase-minimized-5020737339392000
|
||||
|
||||
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
(cherry picked from commit 1e42736b95065c69a7481d0cf55247024f54b660)
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
---
|
||||
libavcodec/cdxl.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git libavcodec/cdxl.c libavcodec/cdxl.c
|
||||
index 5c0ecb279c7..78f5d50102f 100644
|
||||
--- external/FFmpeg/libavcodec/cdxl.c
|
||||
+++ external/FFmpeg/libavcodec/cdxl.c
|
||||
@@ -279,7 +279,7 @@ static int cdxl_decode_frame(AVCodecContext *avctx, void *data,
|
||||
return AVERROR_INVALIDDATA;
|
||||
if (!encoding && c->palette_size && c->bpp <= 8 && c->format != CHUNKY) {
|
||||
avctx->pix_fmt = AV_PIX_FMT_PAL8;
|
||||
- } else if (encoding == 1 && (c->bpp == 6 || c->bpp == 8)) {
|
||||
+ } else if (encoding == 1 && (c->bpp == 6 || c->bpp == 8) && c->format != CHUNKY) {
|
||||
if (c->palette_size != (1 << (c->bpp - 1)))
|
||||
return AVERROR_INVALIDDATA;
|
||||
avctx->pix_fmt = AV_PIX_FMT_BGR24;
|
49
multimedia/mythtv/files/patch-CVE-2017-11399
Normal file
49
multimedia/mythtv/files/patch-CVE-2017-11399
Normal file
@ -0,0 +1,49 @@
|
||||
From 5bb861d45b86803ec39295cfc04889d2a7138361 Mon Sep 17 00:00:00 2001
|
||||
From: Michael Niedermayer <michael@niedermayer.cc>
|
||||
Date: Sun, 16 Jul 2017 14:57:20 +0200
|
||||
Subject: [PATCH] avcodec/apedec: Fix integer overflow
|
||||
|
||||
Fixes: out of array access
|
||||
Fixes: PoC.ape and others
|
||||
|
||||
Found-by: Bingchang, Liu@VARAS of IIE
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
(cherry picked from commit ba4beaf6149f7241c8bd85fe853318c2f6837ad0)
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
---
|
||||
libavcodec/apedec.c | 8 +++++---
|
||||
1 file changed, 5 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git libavcodec/apedec.c libavcodec/apedec.c
|
||||
index b99598b4ee7..072e3b42cff 100644
|
||||
--- external/FFmpeg/libavcodec/apedec.c
|
||||
+++ external/FFmpeg/libavcodec/apedec.c
|
||||
@@ -1412,6 +1412,7 @@ static int ape_decode_frame(AVCodecContext *avctx, void *data,
|
||||
int32_t *sample24;
|
||||
int i, ch, ret;
|
||||
int blockstodecode;
|
||||
+ uint64_t decoded_buffer_size;
|
||||
|
||||
/* this should never be negative, but bad things will happen if it is, so
|
||||
check it just to make sure. */
|
||||
@@ -1467,7 +1468,7 @@ static int ape_decode_frame(AVCodecContext *avctx, void *data,
|
||||
skip_bits_long(&s->gb, offset);
|
||||
}
|
||||
|
||||
- if (!nblocks || nblocks > INT_MAX) {
|
||||
+ if (!nblocks || nblocks > INT_MAX / 2 / sizeof(*s->decoded_buffer) - 8) {
|
||||
av_log(avctx, AV_LOG_ERROR, "Invalid sample count: %"PRIu32".\n",
|
||||
nblocks);
|
||||
return AVERROR_INVALIDDATA;
|
||||
@@ -1493,8 +1494,9 @@ static int ape_decode_frame(AVCodecContext *avctx, void *data,
|
||||
blockstodecode = s->samples;
|
||||
|
||||
/* reallocate decoded sample buffer if needed */
|
||||
- av_fast_malloc(&s->decoded_buffer, &s->decoded_size,
|
||||
- 2 * FFALIGN(blockstodecode, 8) * sizeof(*s->decoded_buffer));
|
||||
+ decoded_buffer_size = 2LL * FFALIGN(blockstodecode, 8) * sizeof(*s->decoded_buffer);
|
||||
+ av_assert0(decoded_buffer_size <= INT_MAX);
|
||||
+ av_fast_malloc(&s->decoded_buffer, &s->decoded_size, decoded_buffer_size);
|
||||
if (!s->decoded_buffer)
|
||||
return AVERROR(ENOMEM);
|
||||
memset(s->decoded_buffer, 0, s->decoded_size);
|
119
multimedia/mythtv/files/patch-CVE-2017-11665a
Normal file
119
multimedia/mythtv/files/patch-CVE-2017-11665a
Normal file
@ -0,0 +1,119 @@
|
||||
From f2a6f41dd7b962e0dd24fe695b002532a42e2230 Mon Sep 17 00:00:00 2001
|
||||
From: Michael Niedermayer <michael@niedermayer.cc>
|
||||
Date: Fri, 28 Jul 2017 13:41:59 +0200
|
||||
Subject: [PATCH] avformat/rtmppkt: Convert ff_amf_tag_size() to bytestream2
|
||||
|
||||
Fixes: out of array accesses
|
||||
Fixes: crash-9238fa9e8d4fde3beda1f279626f53812cb001cb-SEGV
|
||||
|
||||
Found-by: JunDong Xie of Ant-financial Light-Year Security Lab
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
(cherry picked from commit 08c073434e25cba8c43aae5ed9554fdd594adfb0)
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
---
|
||||
libavformat/rtmppkt.c | 68 ++++++++++++++++++++++++++++++++++++---------------
|
||||
1 file changed, 48 insertions(+), 20 deletions(-)
|
||||
|
||||
diff --git libavformat/rtmppkt.c libavformat/rtmppkt.c
|
||||
index cde0da78ce1..2ea88d09c57 100644
|
||||
--- external/FFmpeg/libavformat/rtmppkt.c
|
||||
+++ external/FFmpeg/libavformat/rtmppkt.c
|
||||
@@ -433,50 +433,78 @@ void ff_rtmp_packet_destroy(RTMPPacket *pkt)
|
||||
pkt->size = 0;
|
||||
}
|
||||
|
||||
-int ff_amf_tag_size(const uint8_t *data, const uint8_t *data_end)
|
||||
+static int amf_tag_skip(GetByteContext *gb)
|
||||
{
|
||||
- const uint8_t *base = data;
|
||||
AMFDataType type;
|
||||
unsigned nb = -1;
|
||||
int parse_key = 1;
|
||||
|
||||
- if (data >= data_end)
|
||||
+ if (bytestream2_get_bytes_left(gb) < 1)
|
||||
return -1;
|
||||
- switch ((type = *data++)) {
|
||||
- case AMF_DATA_TYPE_NUMBER: return 9;
|
||||
- case AMF_DATA_TYPE_BOOL: return 2;
|
||||
- case AMF_DATA_TYPE_STRING: return 3 + AV_RB16(data);
|
||||
- case AMF_DATA_TYPE_LONG_STRING: return 5 + AV_RB32(data);
|
||||
- case AMF_DATA_TYPE_NULL: return 1;
|
||||
- case AMF_DATA_TYPE_DATE: return 11;
|
||||
+
|
||||
+ type = bytestream2_get_byte(gb);
|
||||
+ switch (type) {
|
||||
+ case AMF_DATA_TYPE_NUMBER:
|
||||
+ bytestream2_get_be64(gb);
|
||||
+ return 0;
|
||||
+ case AMF_DATA_TYPE_BOOL:
|
||||
+ bytestream2_get_byte(gb);
|
||||
+ return 0;
|
||||
+ case AMF_DATA_TYPE_STRING:
|
||||
+ bytestream2_skip(gb, bytestream2_get_be16(gb));
|
||||
+ return 0;
|
||||
+ case AMF_DATA_TYPE_LONG_STRING:
|
||||
+ bytestream2_skip(gb, bytestream2_get_be32(gb));
|
||||
+ return 0;
|
||||
+ case AMF_DATA_TYPE_NULL:
|
||||
+ return 0;
|
||||
+ case AMF_DATA_TYPE_DATE:
|
||||
+ bytestream2_skip(gb, 10);
|
||||
+ return 0;
|
||||
case AMF_DATA_TYPE_ARRAY:
|
||||
parse_key = 0;
|
||||
case AMF_DATA_TYPE_MIXEDARRAY:
|
||||
- nb = bytestream_get_be32(&data);
|
||||
+ nb = bytestream2_get_be32(gb);
|
||||
case AMF_DATA_TYPE_OBJECT:
|
||||
while (nb-- > 0 || type != AMF_DATA_TYPE_ARRAY) {
|
||||
int t;
|
||||
if (parse_key) {
|
||||
- int size = bytestream_get_be16(&data);
|
||||
+ int size = bytestream2_get_be16(gb);
|
||||
if (!size) {
|
||||
- data++;
|
||||
+ bytestream2_get_byte(gb);
|
||||
break;
|
||||
}
|
||||
- if (size < 0 || size >= data_end - data)
|
||||
+ if (size < 0 || size >= bytestream2_get_bytes_left(gb))
|
||||
return -1;
|
||||
- data += size;
|
||||
+ bytestream2_skip(gb, size);
|
||||
}
|
||||
- t = ff_amf_tag_size(data, data_end);
|
||||
- if (t < 0 || t >= data_end - data)
|
||||
+ t = amf_tag_skip(gb);
|
||||
+ if (t < 0 || bytestream2_get_bytes_left(gb) <= 0)
|
||||
return -1;
|
||||
- data += t;
|
||||
}
|
||||
- return data - base;
|
||||
- case AMF_DATA_TYPE_OBJECT_END: return 1;
|
||||
+ return 0;
|
||||
+ case AMF_DATA_TYPE_OBJECT_END: return 0;
|
||||
default: return -1;
|
||||
}
|
||||
}
|
||||
|
||||
+int ff_amf_tag_size(const uint8_t *data, const uint8_t *data_end)
|
||||
+{
|
||||
+ GetByteContext gb;
|
||||
+ int ret;
|
||||
+
|
||||
+ if (data >= data_end)
|
||||
+ return -1;
|
||||
+
|
||||
+ bytestream2_init(&gb, data, data_end - data);
|
||||
+
|
||||
+ ret = amf_tag_skip(&gb);
|
||||
+ if (ret < 0 || bytestream2_get_bytes_left(&gb) <= 0)
|
||||
+ return -1;
|
||||
+ av_assert0(bytestream2_tell(&gb) >= 0 && bytestream2_tell(&gb) <= data_end - data);
|
||||
+ return bytestream2_tell(&gb);
|
||||
+}
|
||||
+
|
||||
int ff_amf_get_field_value(const uint8_t *data, const uint8_t *data_end,
|
||||
const uint8_t *name, uint8_t *dst, int dst_size)
|
||||
{
|
111
multimedia/mythtv/files/patch-CVE-2017-11665b
Normal file
111
multimedia/mythtv/files/patch-CVE-2017-11665b
Normal file
@ -0,0 +1,111 @@
|
||||
From b375cc8bb74a33a7b38175023ee337b1c378281f Mon Sep 17 00:00:00 2001
|
||||
From: Michael Niedermayer <michael@niedermayer.cc>
|
||||
Date: Fri, 28 Jul 2017 14:37:26 +0200
|
||||
Subject: [PATCH] avformat/rtmppkt: Convert ff_amf_get_field_value() to
|
||||
bytestream2
|
||||
|
||||
Fixes: out of array accesses
|
||||
|
||||
Found-by: JunDong Xie of Ant-financial Light-Year Security Lab
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
(cherry picked from commit ffcc82219cef0928bed2d558b19ef6ea35634130)
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
---
|
||||
libavformat/rtmppkt.c | 57 +++++++++++++++++++++++++++++++++------------------
|
||||
1 file changed, 37 insertions(+), 20 deletions(-)
|
||||
|
||||
diff --git libavformat/rtmppkt.c libavformat/rtmppkt.c
|
||||
index 2ea88d09c57..ca7838868e0 100644
|
||||
--- external/FFmpeg/libavformat/rtmppkt.c
|
||||
+++ external/FFmpeg/libavformat/rtmppkt.c
|
||||
@@ -505,53 +505,70 @@ int ff_amf_tag_size(const uint8_t *data, const uint8_t *data_end)
|
||||
return bytestream2_tell(&gb);
|
||||
}
|
||||
|
||||
-int ff_amf_get_field_value(const uint8_t *data, const uint8_t *data_end,
|
||||
+static int amf_get_field_value2(GetByteContext *gb,
|
||||
const uint8_t *name, uint8_t *dst, int dst_size)
|
||||
{
|
||||
int namelen = strlen(name);
|
||||
int len;
|
||||
|
||||
- while (*data != AMF_DATA_TYPE_OBJECT && data < data_end) {
|
||||
- len = ff_amf_tag_size(data, data_end);
|
||||
- if (len < 0)
|
||||
- len = data_end - data;
|
||||
- data += len;
|
||||
+ while (bytestream2_peek_byte(gb) != AMF_DATA_TYPE_OBJECT && bytestream2_get_bytes_left(gb) > 0) {
|
||||
+ int ret = amf_tag_skip(gb);
|
||||
+ if (ret < 0)
|
||||
+ return -1;
|
||||
}
|
||||
- if (data_end - data < 3)
|
||||
+ if (bytestream2_get_bytes_left(gb) < 3)
|
||||
return -1;
|
||||
- data++;
|
||||
+ bytestream2_get_byte(gb);
|
||||
+
|
||||
for (;;) {
|
||||
- int size = bytestream_get_be16(&data);
|
||||
+ int size = bytestream2_get_be16(gb);
|
||||
if (!size)
|
||||
break;
|
||||
- if (size < 0 || size >= data_end - data)
|
||||
+ if (size < 0 || size >= bytestream2_get_bytes_left(gb))
|
||||
return -1;
|
||||
- data += size;
|
||||
- if (size == namelen && !memcmp(data-size, name, namelen)) {
|
||||
- switch (*data++) {
|
||||
+ bytestream2_skip(gb, size);
|
||||
+ if (size == namelen && !memcmp(gb->buffer-size, name, namelen)) {
|
||||
+ switch (bytestream2_get_byte(gb)) {
|
||||
case AMF_DATA_TYPE_NUMBER:
|
||||
- snprintf(dst, dst_size, "%g", av_int2double(AV_RB64(data)));
|
||||
+ snprintf(dst, dst_size, "%g", av_int2double(bytestream2_get_be64(gb)));
|
||||
break;
|
||||
case AMF_DATA_TYPE_BOOL:
|
||||
- snprintf(dst, dst_size, "%s", *data ? "true" : "false");
|
||||
+ snprintf(dst, dst_size, "%s", bytestream2_get_byte(gb) ? "true" : "false");
|
||||
break;
|
||||
case AMF_DATA_TYPE_STRING:
|
||||
- len = bytestream_get_be16(&data);
|
||||
- av_strlcpy(dst, data, FFMIN(len+1, dst_size));
|
||||
+ len = bytestream2_get_be16(gb);
|
||||
+ if (dst_size < 1)
|
||||
+ return -1;
|
||||
+ if (dst_size < len + 1)
|
||||
+ len = dst_size - 1;
|
||||
+ bytestream2_get_buffer(gb, dst, len);
|
||||
+ dst[len] = 0;
|
||||
break;
|
||||
default:
|
||||
return -1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
- len = ff_amf_tag_size(data, data_end);
|
||||
- if (len < 0 || len >= data_end - data)
|
||||
+ len = amf_tag_skip(gb);
|
||||
+ if (len < 0 || bytestream2_get_bytes_left(gb) <= 0)
|
||||
return -1;
|
||||
- data += len;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
+int ff_amf_get_field_value(const uint8_t *data, const uint8_t *data_end,
|
||||
+ const uint8_t *name, uint8_t *dst, int dst_size)
|
||||
+{
|
||||
+ GetByteContext gb;
|
||||
+
|
||||
+ if (data >= data_end)
|
||||
+ return -1;
|
||||
+
|
||||
+ bytestream2_init(&gb, data, data_end - data);
|
||||
+
|
||||
+ return amf_get_field_value2(&gb, name, dst, dst_size);
|
||||
+}
|
||||
+
|
||||
static const char* rtmp_packet_type(int type)
|
||||
{
|
||||
switch (type) {
|
41
multimedia/mythtv/files/patch-CVE-2017-11719
Normal file
41
multimedia/mythtv/files/patch-CVE-2017-11719
Normal file
@ -0,0 +1,41 @@
|
||||
From 6a10b962e3053b9fc851fcce23a60ac653abdc8c Mon Sep 17 00:00:00 2001
|
||||
From: Michael Niedermayer <michael@niedermayer.cc>
|
||||
Date: Wed, 26 Jul 2017 03:26:59 +0200
|
||||
Subject: [PATCH] avcodec/dnxhddec: Move mb height check out of non hr branch
|
||||
|
||||
Fixes: out of array access
|
||||
Fixes: poc.dnxhd
|
||||
|
||||
Found-by: Bingchang, Liu@VARAS of IIE
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
(cherry picked from commit 296debd213bd6dce7647cedd34eb64e5b94cdc92)
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
---
|
||||
libavcodec/dnxhddec.c | 8 ++++++--
|
||||
1 file changed, 6 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git libavcodec/dnxhddec.c libavcodec/dnxhddec.c
|
||||
index 4d1b006bb50..66a0de2e627 100644
|
||||
--- external/FFmpeg/libavcodec/dnxhddec.c
|
||||
+++ external/FFmpeg/libavcodec/dnxhddec.c
|
||||
@@ -294,14 +294,18 @@ static int dnxhd_decode_header(DNXHDContext *ctx, AVFrame *frame,
|
||||
if (ctx->mb_height > 68 && ff_dnxhd_check_header_prefix_hr(header_prefix)) {
|
||||
ctx->data_offset = 0x170 + (ctx->mb_height << 2);
|
||||
} else {
|
||||
- if (ctx->mb_height > 68 ||
|
||||
- (ctx->mb_height << frame->interlaced_frame) > (ctx->height + 15) >> 4) {
|
||||
+ if (ctx->mb_height > 68) {
|
||||
av_log(ctx->avctx, AV_LOG_ERROR,
|
||||
"mb height too big: %d\n", ctx->mb_height);
|
||||
return AVERROR_INVALIDDATA;
|
||||
}
|
||||
ctx->data_offset = 0x280;
|
||||
}
|
||||
+ if ((ctx->mb_height << frame->interlaced_frame) > (ctx->height + 15) >> 4) {
|
||||
+ av_log(ctx->avctx, AV_LOG_ERROR,
|
||||
+ "mb height too big: %d\n", ctx->mb_height);
|
||||
+ return AVERROR_INVALIDDATA;
|
||||
+ }
|
||||
|
||||
if (buf_size < ctx->data_offset) {
|
||||
av_log(ctx->avctx, AV_LOG_ERROR,
|
33
multimedia/mythtv/files/patch-CVE-2017-14054
Normal file
33
multimedia/mythtv/files/patch-CVE-2017-14054
Normal file
@ -0,0 +1,33 @@
|
||||
From 2bbef8ee271240ce4509b23fd33e35076715a39f Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?=E5=AD=99=E6=B5=A9=20and=20=E5=BC=A0=E6=B4=AA=E4=BA=AE=28?=
|
||||
=?UTF-8?q?=E6=9C=9B=E5=88=9D=29?= <tony.sh and wangchu.zhl@alibaba-inc.com>
|
||||
Date: Fri, 25 Aug 2017 01:15:28 +0200
|
||||
Subject: [PATCH] avformat/rmdec: Fix DoS due to lack of eof check
|
||||
|
||||
Fixes: loop.ivr
|
||||
|
||||
Found-by: Xiaohei and Wangchu from Alibaba Security Team
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
(cherry picked from commit 124eb202e70678539544f6268efc98131f19fa49)
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
---
|
||||
libavformat/rmdec.c | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git libavformat/rmdec.c libavformat/rmdec.c
|
||||
index 4d565291af2..7656812eb16 100644
|
||||
--- external/FFmpeg/libavformat/rmdec.c
|
||||
+++ external/FFmpeg/libavformat/rmdec.c
|
||||
@@ -1238,8 +1238,11 @@ static int ivr_read_header(AVFormatContext *s)
|
||||
av_log(s, AV_LOG_DEBUG, "%s = '%s'\n", key, val);
|
||||
} else if (type == 4) {
|
||||
av_log(s, AV_LOG_DEBUG, "%s = '0x", key);
|
||||
- for (j = 0; j < len; j++)
|
||||
+ for (j = 0; j < len; j++) {
|
||||
+ if (avio_feof(pb))
|
||||
+ return AVERROR_INVALIDDATA;
|
||||
av_log(s, AV_LOG_DEBUG, "%X", avio_r8(pb));
|
||||
+ }
|
||||
av_log(s, AV_LOG_DEBUG, "'\n");
|
||||
} else if (len == 4 && type == 3 && !strncmp(key, "StreamCount", tlen)) {
|
||||
nb_streams = value = avio_rb32(pb);
|
28
multimedia/mythtv/files/patch-CVE-2017-14055
Normal file
28
multimedia/mythtv/files/patch-CVE-2017-14055
Normal file
@ -0,0 +1,28 @@
|
||||
From d4fc6b211f19365fbae4b4388ec396b293fda249 Mon Sep 17 00:00:00 2001
|
||||
From: Michael Niedermayer <michael@niedermayer.cc>
|
||||
Date: Fri, 25 Aug 2017 01:15:30 +0200
|
||||
Subject: [PATCH] avformat/mvdec: Fix DoS due to lack of eof check
|
||||
|
||||
Fixes: loop.mv
|
||||
|
||||
Found-by: Xiaohei and Wangchu from Alibaba Security Team
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
(cherry picked from commit 4f05e2e2dc1a89f38cd9f0960a6561083d714f1e)
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
---
|
||||
libavformat/mvdec.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git libavformat/mvdec.c libavformat/mvdec.c
|
||||
index 80ef4b1569a..e9e9fab5036 100644
|
||||
--- external/FFmpeg/libavformat/mvdec.c
|
||||
+++ external/FFmpeg/libavformat/mvdec.c
|
||||
@@ -338,6 +338,8 @@ static int mv_read_header(AVFormatContext *avctx)
|
||||
uint32_t pos = avio_rb32(pb);
|
||||
uint32_t asize = avio_rb32(pb);
|
||||
uint32_t vsize = avio_rb32(pb);
|
||||
+ if (avio_feof(pb))
|
||||
+ return AVERROR_INVALIDDATA;
|
||||
avio_skip(pb, 8);
|
||||
av_add_index_entry(ast, pos, timestamp, asize, 0, AVINDEX_KEYFRAME);
|
||||
av_add_index_entry(vst, pos + asize, i, vsize, 0, AVINDEX_KEYFRAME);
|
45
multimedia/mythtv/files/patch-CVE-2017-14056
Normal file
45
multimedia/mythtv/files/patch-CVE-2017-14056
Normal file
@ -0,0 +1,45 @@
|
||||
From 5bc9f70441d7e7067cba9188898c9252c72bab35 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?=E5=AD=99=E6=B5=A9=20and=20=E5=BC=A0=E6=B4=AA=E4=BA=AE=28?=
|
||||
=?UTF-8?q?=E6=9C=9B=E5=88=9D=29?= <tony.sh and wangchu.zhl@alibaba-inc.com>
|
||||
Date: Fri, 25 Aug 2017 01:15:29 +0200
|
||||
Subject: [PATCH] avformat/rl2: Fix DoS due to lack of eof check
|
||||
|
||||
Fixes: loop.rl2
|
||||
|
||||
Found-by: Xiaohei and Wangchu from Alibaba Security Team
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
(cherry picked from commit 96f24d1bee7fe7bac08e2b7c74db1a046c9dc0de)
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
---
|
||||
libavformat/rl2.c | 15 ++++++++++++---
|
||||
1 file changed, 12 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git libavformat/rl2.c libavformat/rl2.c
|
||||
index 0bec8f1d9ab..eb1682dfcb7 100644
|
||||
--- external/FFmpeg/libavformat/rl2.c
|
||||
+++ external/FFmpeg/libavformat/rl2.c
|
||||
@@ -170,12 +170,21 @@ static av_cold int rl2_read_header(AVFormatContext *s)
|
||||
}
|
||||
|
||||
/** read offset and size tables */
|
||||
- for(i=0; i < frame_count;i++)
|
||||
+ for(i=0; i < frame_count;i++) {
|
||||
+ if (avio_feof(pb))
|
||||
+ return AVERROR_INVALIDDATA;
|
||||
chunk_size[i] = avio_rl32(pb);
|
||||
- for(i=0; i < frame_count;i++)
|
||||
+ }
|
||||
+ for(i=0; i < frame_count;i++) {
|
||||
+ if (avio_feof(pb))
|
||||
+ return AVERROR_INVALIDDATA;
|
||||
chunk_offset[i] = avio_rl32(pb);
|
||||
- for(i=0; i < frame_count;i++)
|
||||
+ }
|
||||
+ for(i=0; i < frame_count;i++) {
|
||||
+ if (avio_feof(pb))
|
||||
+ return AVERROR_INVALIDDATA;
|
||||
audio_size[i] = avio_rl32(pb) & 0xFFFF;
|
||||
+ }
|
||||
|
||||
/** build the sample index */
|
||||
for(i=0;i<frame_count;i++){
|
38
multimedia/mythtv/files/patch-CVE-2017-14057
Normal file
38
multimedia/mythtv/files/patch-CVE-2017-14057
Normal file
@ -0,0 +1,38 @@
|
||||
From f94517934bf0ff2510f472fa2bc4cd362951109c Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?=E5=AD=99=E6=B5=A9=20and=20=E5=BC=A0=E6=B4=AA=E4=BA=AE=28?=
|
||||
=?UTF-8?q?=E6=9C=9B=E5=88=9D=29?= <tony.sh and wangchu.zhl@alibaba-inc.com>
|
||||
Date: Fri, 25 Aug 2017 12:37:25 +0200
|
||||
Subject: [PATCH] avformat/asfdec: Fix DoS due to lack of eof check
|
||||
|
||||
Fixes: loop.asf
|
||||
|
||||
Found-by: Xiaohei and Wangchu from Alibaba Security Team
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
(cherry picked from commit 7f9ec5593e04827249e7aeb466da06a98a0d7329)
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
---
|
||||
libavformat/asfdec_f.c | 6 ++++--
|
||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git libavformat/asfdec_f.c libavformat/asfdec_f.c
|
||||
index b973eff96e4..2cacafe50d5 100644
|
||||
--- external/FFmpeg/libavformat/asfdec_f.c
|
||||
+++ external/FFmpeg/libavformat/asfdec_f.c
|
||||
@@ -749,13 +749,15 @@ static int asf_read_marker(AVFormatContext *s, int64_t size)
|
||||
count = avio_rl32(pb); // markers count
|
||||
avio_rl16(pb); // reserved 2 bytes
|
||||
name_len = avio_rl16(pb); // name length
|
||||
- for (i = 0; i < name_len; i++)
|
||||
- avio_r8(pb); // skip the name
|
||||
+ avio_skip(pb, name_len);
|
||||
|
||||
for (i = 0; i < count; i++) {
|
||||
int64_t pres_time;
|
||||
int name_len;
|
||||
|
||||
+ if (avio_feof(pb))
|
||||
+ return AVERROR_INVALIDDATA;
|
||||
+
|
||||
avio_rl64(pb); // offset, 8 bytes
|
||||
pres_time = avio_rl64(pb); // presentation time
|
||||
pres_time -= asf->hdr.preroll * 10000;
|
88
multimedia/mythtv/files/patch-CVE-2017-14058
Normal file
88
multimedia/mythtv/files/patch-CVE-2017-14058
Normal file
@ -0,0 +1,88 @@
|
||||
From 2920c7cec0b1958b59e5e7990078bea4428f6912 Mon Sep 17 00:00:00 2001
|
||||
From: Michael Niedermayer <michael@niedermayer.cc>
|
||||
Date: Sat, 26 Aug 2017 01:26:58 +0200
|
||||
Subject: [PATCH] avformat/hls: Fix DoS due to infinite loop
|
||||
|
||||
Fixes: loop.m3u
|
||||
|
||||
The default max iteration count of 1000 is arbitrary and ideas for a better solution are welcome
|
||||
|
||||
Found-by: Xiaohei and Wangchu from Alibaba Security Team
|
||||
|
||||
Previous version reviewed-by: Steven Liu <lingjiujianke@gmail.com>
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
(cherry picked from commit 7ec414892ddcad88313848494b6fc5f437c9ca4a)
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
---
|
||||
doc/demuxers.texi | 18 ++++++++++++++++++
|
||||
libavformat/hls.c | 7 +++++++
|
||||
2 files changed, 25 insertions(+)
|
||||
|
||||
diff --git doc/demuxers.texi doc/demuxers.texi
|
||||
index 2934a1cf7f4..d56ad1622a8 100644
|
||||
--- external/FFmpeg/doc/demuxers.texi
|
||||
+++ external/FFmpeg/doc/demuxers.texi
|
||||
@@ -293,6 +293,24 @@ used to end the output video at the length of the shortest input file,
|
||||
which in this case is @file{input.mp4} as the GIF in this example loops
|
||||
infinitely.
|
||||
|
||||
+@section hls
|
||||
+
|
||||
+HLS demuxer
|
||||
+
|
||||
+It accepts the following options:
|
||||
+
|
||||
+@table @option
|
||||
+@item live_start_index
|
||||
+segment index to start live streams at (negative values are from the end).
|
||||
+
|
||||
+@item allowed_extensions
|
||||
+',' separated list of file extensions that hls is allowed to access.
|
||||
+
|
||||
+@item max_reload
|
||||
+Maximum number of times a insufficient list is attempted to be reloaded.
|
||||
+Default value is 1000.
|
||||
+@end table
|
||||
+
|
||||
@section image2
|
||||
|
||||
Image file demuxer.
|
||||
diff --git libavformat/hls.c libavformat/hls.c
|
||||
index ffefd284f86..87948726da6 100644
|
||||
--- external/FFmpeg/libavformat/hls.c
|
||||
+++ external/FFmpeg/libavformat/hls.c
|
||||
@@ -205,6 +205,7 @@ typedef struct HLSContext {
|
||||
AVDictionary *avio_opts;
|
||||
int strict_std_compliance;
|
||||
char *allowed_extensions;
|
||||
+ int max_reload;
|
||||
} HLSContext;
|
||||
|
||||
static int read_chomp_line(AVIOContext *s, char *buf, int maxlen)
|
||||
@@ -1255,6 +1256,7 @@ static int read_data(void *opaque, uint8_t *buf, int buf_size)
|
||||
HLSContext *c = v->parent->priv_data;
|
||||
int ret, i;
|
||||
int just_opened = 0;
|
||||
+ int reload_count = 0;
|
||||
|
||||
restart:
|
||||
if (!v->needed)
|
||||
@@ -1286,6 +1288,9 @@ static int read_data(void *opaque, uint8_t *buf, int buf_size)
|
||||
reload_interval = default_reload_interval(v);
|
||||
|
||||
reload:
|
||||
+ reload_count++;
|
||||
+ if (reload_count > c->max_reload)
|
||||
+ return AVERROR_EOF;
|
||||
if (!v->finished &&
|
||||
av_gettime_relative() - v->last_load_time >= reload_interval) {
|
||||
if ((ret = parse_playlist(c, v->url, v, NULL)) < 0) {
|
||||
@@ -2143,6 +2148,8 @@ static const AVOption hls_options[] = {
|
||||
OFFSET(allowed_extensions), AV_OPT_TYPE_STRING,
|
||||
{.str = "3gp,aac,avi,flac,mkv,m3u8,m4a,m4s,m4v,mpg,mov,mp2,mp3,mp4,mpeg,mpegts,ogg,ogv,oga,ts,vob,wav"},
|
||||
INT_MIN, INT_MAX, FLAGS},
|
||||
+ {"max_reload", "Maximum number of times a insufficient list is attempted to be reloaded",
|
||||
+ OFFSET(max_reload), AV_OPT_TYPE_INT, {.i64 = 1000}, 0, INT_MAX, FLAGS},
|
||||
{NULL}
|
||||
};
|
||||
|
34
multimedia/mythtv/files/patch-CVE-2017-14059
Normal file
34
multimedia/mythtv/files/patch-CVE-2017-14059
Normal file
@ -0,0 +1,34 @@
|
||||
From 98e177c7288574b336d80618f4ec5d1f94243070 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?=E5=AD=99=E6=B5=A9=20and=20=E5=BC=A0=E6=B4=AA=E4=BA=AE=28?=
|
||||
=?UTF-8?q?=E6=9C=9B=E5=88=9D=29?= <tony.sh and wangchu.zhl@alibaba-inc.com>
|
||||
Date: Fri, 25 Aug 2017 01:15:27 +0200
|
||||
Subject: [PATCH] avformat/cinedec: Fix DoS due to lack of eof check
|
||||
|
||||
Fixes: loop.cine
|
||||
|
||||
Found-by: Xiaohei and Wangchu from Alibaba Security Team
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
(cherry picked from commit 7e80b63ecd259d69d383623e75b318bf2bd491f6)
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
---
|
||||
libavformat/cinedec.c | 6 +++++-
|
||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git libavformat/cinedec.c libavformat/cinedec.c
|
||||
index 32cccf566b4..c615d4fc497 100644
|
||||
--- external/FFmpeg/libavformat/cinedec.c
|
||||
+++ external/FFmpeg/libavformat/cinedec.c
|
||||
@@ -267,8 +267,12 @@ static int cine_read_header(AVFormatContext *avctx)
|
||||
|
||||
/* parse image offsets */
|
||||
avio_seek(pb, offImageOffsets, SEEK_SET);
|
||||
- for (i = 0; i < st->duration; i++)
|
||||
+ for (i = 0; i < st->duration; i++) {
|
||||
+ if (avio_feof(pb))
|
||||
+ return AVERROR_INVALIDDATA;
|
||||
+
|
||||
av_add_index_entry(st, avio_rl64(pb), i, 0, 0, AVINDEX_KEYFRAME);
|
||||
+ }
|
||||
|
||||
return 0;
|
||||
}
|
33
multimedia/mythtv/files/patch-CVE-2017-14169
Normal file
33
multimedia/mythtv/files/patch-CVE-2017-14169
Normal file
@ -0,0 +1,33 @@
|
||||
From 816f7337bf3ed3e08afdc28278668d8eb81910cb Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?=E5=AD=99=E6=B5=A9=28=E6=99=93=E9=BB=91=29?=
|
||||
<tony.sh@alibaba-inc.com>
|
||||
Date: Tue, 29 Aug 2017 23:59:21 +0200
|
||||
Subject: [PATCH] avformat/mxfdec: Fix Sign error in mxf_read_primer_pack()
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Fixes: 20170829B.mxf
|
||||
|
||||
Co-Author: 张洪亮(望初)" <wangchu.zhl@alibaba-inc.com>
|
||||
Found-by: Xiaohei and Wangchu from Alibaba Security Team
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
(cherry picked from commit 9d00fb9d70ee8c0cc7002b89318c5be00f1bbdad)
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
---
|
||||
libavformat/mxfdec.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git libavformat/mxfdec.c libavformat/mxfdec.c
|
||||
index e2e34b246f7..0e9153847e8 100644
|
||||
--- external/FFmpeg/libavformat/mxfdec.c
|
||||
+++ external/FFmpeg/libavformat/mxfdec.c
|
||||
@@ -500,7 +500,7 @@ static int mxf_read_primer_pack(void *arg, AVIOContext *pb, int tag, int size, U
|
||||
avpriv_request_sample(pb, "Primer pack item length %d", item_len);
|
||||
return AVERROR_PATCHWELCOME;
|
||||
}
|
||||
- if (item_num > 65536) {
|
||||
+ if (item_num > 65536 || item_num < 0) {
|
||||
av_log(mxf->fc, AV_LOG_ERROR, "item_num %d is too large\n", item_num);
|
||||
return AVERROR_INVALIDDATA;
|
||||
}
|
43
multimedia/mythtv/files/patch-CVE-2017-14170
Normal file
43
multimedia/mythtv/files/patch-CVE-2017-14170
Normal file
@ -0,0 +1,43 @@
|
||||
From 9cbac3602610afa0867b03bc1475c5c13441d096 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?=E5=AD=99=E6=B5=A9=28=E6=99=93=E9=BB=91=29?=
|
||||
<tony.sh@alibaba-inc.com>
|
||||
Date: Tue, 29 Aug 2017 23:59:21 +0200
|
||||
Subject: [PATCH] avformat/mxfdec: Fix DoS issues in
|
||||
mxf_read_index_entry_array()
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Fixes: 20170829A.mxf
|
||||
|
||||
Co-Author: 张洪亮(望初)" <wangchu.zhl@alibaba-inc.com>
|
||||
Found-by: Xiaohei and Wangchu from Alibaba Security Team
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
(cherry picked from commit 900f39692ca0337a98a7cf047e4e2611071810c2)
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
---
|
||||
libavformat/mxfdec.c | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git libavformat/mxfdec.c libavformat/mxfdec.c
|
||||
index 2ad0c288f89..e2e34b246f7 100644
|
||||
--- external/FFmpeg/libavformat/mxfdec.c
|
||||
+++ external/FFmpeg/libavformat/mxfdec.c
|
||||
@@ -899,6 +899,8 @@ static int mxf_read_index_entry_array(AVIOContext *pb, MXFIndexTableSegment *seg
|
||||
segment->nb_index_entries = avio_rb32(pb);
|
||||
|
||||
length = avio_rb32(pb);
|
||||
+ if(segment->nb_index_entries && length < 11)
|
||||
+ return AVERROR_INVALIDDATA;
|
||||
|
||||
if (!(segment->temporal_offset_entries=av_calloc(segment->nb_index_entries, sizeof(*segment->temporal_offset_entries))) ||
|
||||
!(segment->flag_entries = av_calloc(segment->nb_index_entries, sizeof(*segment->flag_entries))) ||
|
||||
@@ -909,6 +911,8 @@ static int mxf_read_index_entry_array(AVIOContext *pb, MXFIndexTableSegment *seg
|
||||
}
|
||||
|
||||
for (i = 0; i < segment->nb_index_entries; i++) {
|
||||
+ if(avio_feof(pb))
|
||||
+ return AVERROR_INVALIDDATA;
|
||||
segment->temporal_offset_entries[i] = avio_r8(pb);
|
||||
avio_r8(pb); /* KeyFrameOffset */
|
||||
segment->flag_entries[i] = avio_r8(pb);
|
38
multimedia/mythtv/files/patch-CVE-2017-14171
Normal file
38
multimedia/mythtv/files/patch-CVE-2017-14171
Normal file
@ -0,0 +1,38 @@
|
||||
From a051de092e9c709b69d24d94b66a382909be67d5 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?=E5=AD=99=E6=B5=A9=28=E6=99=93=E9=BB=91=29?=
|
||||
<tony.sh@alibaba-inc.com>
|
||||
Date: Tue, 29 Aug 2017 23:59:21 +0200
|
||||
Subject: [PATCH] avformat/nsvdec: Fix DoS due to lack of eof check in
|
||||
nsvs_file_offset loop.
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Fixes: 20170829.nsv
|
||||
|
||||
Co-Author: 张洪亮(望初)" <wangchu.zhl@alibaba-inc.com>
|
||||
Found-by: Xiaohei and Wangchu from Alibaba Security Team
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
(cherry picked from commit c24bcb553650b91e9eff15ef6e54ca73de2453b7)
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
---
|
||||
libavformat/nsvdec.c | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git libavformat/nsvdec.c libavformat/nsvdec.c
|
||||
index 507fb396a51..16d2fa59e21 100644
|
||||
--- external/FFmpeg/libavformat/nsvdec.c
|
||||
+++ external/FFmpeg/libavformat/nsvdec.c
|
||||
@@ -350,8 +350,11 @@ static int nsv_parse_NSVf_header(AVFormatContext *s)
|
||||
if (!nsv->nsvs_file_offset)
|
||||
return AVERROR(ENOMEM);
|
||||
|
||||
- for(i=0;i<table_entries_used;i++)
|
||||
+ for(i=0;i<table_entries_used;i++) {
|
||||
+ if (avio_feof(pb))
|
||||
+ return AVERROR_INVALIDDATA;
|
||||
nsv->nsvs_file_offset[i] = avio_rl32(pb) + size;
|
||||
+ }
|
||||
|
||||
if(table_entries > table_entries_used &&
|
||||
avio_rl32(pb) == MKTAG('T','O','C','2')) {
|
34
multimedia/mythtv/files/patch-CVE-2017-14222
Normal file
34
multimedia/mythtv/files/patch-CVE-2017-14222
Normal file
@ -0,0 +1,34 @@
|
||||
From c9527df274ada02a19c2f973b29d1d5b7069d4bf Mon Sep 17 00:00:00 2001
|
||||
From: Michael Niedermayer <michael@niedermayer.cc>
|
||||
Date: Tue, 5 Sep 2017 00:16:29 +0200
|
||||
Subject: [PATCH] avformat/mov: Fix DoS in read_tfra()
|
||||
|
||||
Fixes: Missing EOF check in loop
|
||||
No testcase
|
||||
|
||||
Found-by: Xiaohei and Wangchu from Alibaba Security Team
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
(cherry picked from commit 9cb4eb772839c5e1de2855d126bf74ff16d13382)
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
---
|
||||
libavformat/mov.c | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
diff --git libavformat/mov.c libavformat/mov.c
|
||||
index 405476fd712..b97aa001a37 100644
|
||||
--- external/FFmpeg/libavformat/mov.c
|
||||
+++ external/FFmpeg/libavformat/mov.c
|
||||
@@ -5394,6 +5394,13 @@ static int read_tfra(MOVContext *mov, AVIOContext *f)
|
||||
}
|
||||
for (i = 0; i < index->item_count; i++) {
|
||||
int64_t time, offset;
|
||||
+
|
||||
+ if (avio_feof(f)) {
|
||||
+ index->item_count = 0;
|
||||
+ av_freep(&index->items);
|
||||
+ return AVERROR_INVALIDDATA;
|
||||
+ }
|
||||
+
|
||||
if (version == 1) {
|
||||
time = avio_rb64(f);
|
||||
offset = avio_rb64(f);
|
32
multimedia/mythtv/files/patch-CVE-2017-14223
Normal file
32
multimedia/mythtv/files/patch-CVE-2017-14223
Normal file
@ -0,0 +1,32 @@
|
||||
From 4e4177dde23be77a97887f409f237e17ef53f329 Mon Sep 17 00:00:00 2001
|
||||
From: Michael Niedermayer <michael@niedermayer.cc>
|
||||
Date: Tue, 5 Sep 2017 00:16:29 +0200
|
||||
Subject: [PATCH] avformat/asfdec: Fix DoS in asf_build_simple_index()
|
||||
|
||||
Fixes: Missing EOF check in loop
|
||||
No testcase
|
||||
|
||||
Found-by: Xiaohei and Wangchu from Alibaba Security Team
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
(cherry picked from commit afc9c683ed9db01edb357bc8c19edad4282b3a97)
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
---
|
||||
libavformat/asfdec_f.c | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git libavformat/asfdec_f.c libavformat/asfdec_f.c
|
||||
index 2cacafe50d5..d9dfbf0fa33 100644
|
||||
--- external/FFmpeg/libavformat/asfdec_f.c
|
||||
+++ external/FFmpeg/libavformat/asfdec_f.c
|
||||
@@ -1610,6 +1610,11 @@ static int asf_build_simple_index(AVFormatContext *s, int stream_index)
|
||||
int64_t pos = s->internal->data_offset + s->packet_size * (int64_t)pktnum;
|
||||
int64_t index_pts = FFMAX(av_rescale(itime, i, 10000) - asf->hdr.preroll, 0);
|
||||
|
||||
+ if (avio_feof(s->pb)) {
|
||||
+ ret = AVERROR_INVALIDDATA;
|
||||
+ goto end;
|
||||
+ }
|
||||
+
|
||||
if (pos != last_pos) {
|
||||
av_log(s, AV_LOG_DEBUG, "pktnum:%d, pktct:%d pts: %"PRId64"\n",
|
||||
pktnum, pktct, index_pts);
|
48
multimedia/mythtv/files/patch-CVE-2017-14225
Normal file
48
multimedia/mythtv/files/patch-CVE-2017-14225
Normal file
@ -0,0 +1,48 @@
|
||||
From 726133b6d2cd8f5f43b5af536024d8e02791d8cf Mon Sep 17 00:00:00 2001
|
||||
From: Michael Niedermayer <michael@niedermayer.cc>
|
||||
Date: Tue, 22 Aug 2017 11:02:38 +0200
|
||||
Subject: [PATCH] ffprobe: Fix null pointer dereference with color primaries
|
||||
|
||||
Found-by: AD-lab of venustech
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
(cherry picked from commit 837cb4325b712ff1aab531bf41668933f61d75d2)
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
(cherry picked from commit b2c39fcc3c0749490dc93bca80f56724878b55fe)
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
---
|
||||
ffprobe.c | 15 +++++++++++----
|
||||
1 file changed, 11 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git ffprobe.c ffprobe.c
|
||||
index 79fe296489d..703304a8c0f 100644
|
||||
--- external/FFmpeg/ffprobe.c
|
||||
+++ external/FFmpeg/ffprobe.c
|
||||
@@ -1789,6 +1789,16 @@ static void print_pkt_side_data(WriterContext *w,
|
||||
writer_print_section_footer(w);
|
||||
}
|
||||
|
||||
+static void print_primaries(WriterContext *w, enum AVColorPrimaries color_primaries)
|
||||
+{
|
||||
+ const char *val = av_color_primaries_name(color_primaries);
|
||||
+ if (!val || color_primaries == AVCOL_PRI_UNSPECIFIED) {
|
||||
+ print_str_opt("color_primaries", "unknown");
|
||||
+ } else {
|
||||
+ print_str("color_primaries", val);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
static void show_packet(WriterContext *w, InputFile *ifile, AVPacket *pkt, int packet_idx)
|
||||
{
|
||||
char val_str[128];
|
||||
@@ -2258,10 +2268,7 @@ static int show_stream(WriterContext *w, AVFormatContext *fmt_ctx, int stream_id
|
||||
else
|
||||
print_str_opt("color_transfer", av_color_transfer_name(par->color_trc));
|
||||
|
||||
- if (par->color_primaries != AVCOL_PRI_UNSPECIFIED)
|
||||
- print_str("color_primaries", av_color_primaries_name(par->color_primaries));
|
||||
- else
|
||||
- print_str_opt("color_primaries", av_color_primaries_name(par->color_primaries));
|
||||
+ print_primaries(w, par->color_primaries);
|
||||
|
||||
if (par->chroma_location != AVCHROMA_LOC_UNSPECIFIED)
|
||||
print_str("chroma_location", av_chroma_location_name(par->chroma_location));
|
28
multimedia/mythtv/files/patch-CVE-2017-14767
Normal file
28
multimedia/mythtv/files/patch-CVE-2017-14767
Normal file
@ -0,0 +1,28 @@
|
||||
From 53a6cdf89d694be1f075729f16e0a9e2dcbbcb78 Mon Sep 17 00:00:00 2001
|
||||
From: Michael Niedermayer <michael@niedermayer.cc>
|
||||
Date: Wed, 23 Aug 2017 21:30:37 +0200
|
||||
Subject: [PATCH] avformat/rtpdec_h264: Fix heap-buffer-overflow
|
||||
|
||||
Fixes: rtp_sdp/poc.sdp
|
||||
|
||||
Found-by: Bingchang <l.bing.chang.bc@gmail.com>
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
(cherry picked from commit c42a1388a6d1bfd8001bf6a4241d8ca27e49326d)
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
---
|
||||
libavformat/rtpdec_h264.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git libavformat/rtpdec_h264.c libavformat/rtpdec_h264.c
|
||||
index 8dd56a549e4..6f8148ab6d5 100644
|
||||
--- external/FFmpeg/libavformat/rtpdec_h264.c
|
||||
+++ external/FFmpeg/libavformat/rtpdec_h264.c
|
||||
@@ -166,7 +166,7 @@ static int sdp_parse_fmtp_config_h264(AVFormatContext *s,
|
||||
parse_profile_level_id(s, h264_data, value);
|
||||
} else if (!strcmp(attr, "sprop-parameter-sets")) {
|
||||
int ret;
|
||||
- if (value[strlen(value) - 1] == ',') {
|
||||
+ if (*value == 0 || value[strlen(value) - 1] == ',') {
|
||||
av_log(s, AV_LOG_WARNING, "Missing PPS in sprop-parameter-sets, ignoring\n");
|
||||
return 0;
|
||||
}
|
78
multimedia/mythtv/files/patch-CVE-2017-15186
Normal file
78
multimedia/mythtv/files/patch-CVE-2017-15186
Normal file
@ -0,0 +1,78 @@
|
||||
From 0eb0b21c7f4f2b6a3a74d2d252f95b81a4d472c3 Mon Sep 17 00:00:00 2001
|
||||
From: Michael Niedermayer <michael@niedermayer.cc>
|
||||
Date: Sat, 30 Sep 2017 00:20:09 +0200
|
||||
Subject: [PATCH] avcodec/x86/lossless_videoencdsp: Fix handling of small
|
||||
widths
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Fixes out of array access
|
||||
Fixes: crash-huf.avi
|
||||
|
||||
Regression since: 6b41b4414934cc930468ccd5db598dd6ef643987
|
||||
|
||||
This could also be fixed by adding checks in the C code that calls the dsp
|
||||
|
||||
Found-by: Zhibin Hu and 连一汉 <lianyihan@360.cn>
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
(cherry picked from commit df62b70de8aaa285168e72fe8f6e740843ca91fa)
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
---
|
||||
libavcodec/x86/huffyuvencdsp.asm | 13 +++++++------
|
||||
1 file changed, 7 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git libavcodec/x86/huffyuvencdsp.asm libavcodec/x86/huffyuvencdsp.asm
|
||||
index a55a1de65de..7a1ce2e839e 100644
|
||||
--- external/FFmpeg/libavcodec/x86/huffyuvencdsp.asm
|
||||
+++ external/FFmpeg/libavcodec/x86/huffyuvencdsp.asm
|
||||
@@ -42,10 +42,11 @@ cglobal diff_bytes, 4,5,2, dst, src1, src2, w
|
||||
%define i t0q
|
||||
%endmacro
|
||||
|
||||
-; label to jump to if w < regsize
|
||||
-%macro DIFF_BYTES_LOOP_PREP 1
|
||||
+; labels to jump to if w < regsize and w < 0
|
||||
+%macro DIFF_BYTES_LOOP_PREP 2
|
||||
mov i, wq
|
||||
and i, -2 * regsize
|
||||
+ js %2
|
||||
jz %1
|
||||
add dstq, i
|
||||
add src1q, i
|
||||
@@ -87,7 +88,7 @@ cglobal diff_bytes, 4,5,2, dst, src1, src2, w
|
||||
%if mmsize > 16
|
||||
; fall back to narrower xmm
|
||||
%define regsize mmsize / 2
|
||||
- DIFF_BYTES_LOOP_PREP .setup_loop_gpr_aa
|
||||
+ DIFF_BYTES_LOOP_PREP .setup_loop_gpr_aa, .end_aa
|
||||
.loop2_%1%2:
|
||||
DIFF_BYTES_LOOP_CORE %1, %2, xm0, xm1
|
||||
add i, 2 * regsize
|
||||
@@ -114,7 +115,7 @@ cglobal diff_bytes, 4,5,2, dst, src1, src2, w
|
||||
INIT_MMX mmx
|
||||
DIFF_BYTES_PROLOGUE
|
||||
%define regsize mmsize
|
||||
- DIFF_BYTES_LOOP_PREP .skip_main_aa
|
||||
+ DIFF_BYTES_LOOP_PREP .skip_main_aa, .end_aa
|
||||
DIFF_BYTES_BODY a, a
|
||||
%undef i
|
||||
%endif
|
||||
@@ -122,7 +123,7 @@ DIFF_BYTES_PROLOGUE
|
||||
INIT_XMM sse2
|
||||
DIFF_BYTES_PROLOGUE
|
||||
%define regsize mmsize
|
||||
- DIFF_BYTES_LOOP_PREP .skip_main_aa
|
||||
+ DIFF_BYTES_LOOP_PREP .skip_main_aa, .end_aa
|
||||
test dstq, regsize - 1
|
||||
jnz .loop_uu
|
||||
test src1q, regsize - 1
|
||||
@@ -138,7 +139,7 @@ DIFF_BYTES_PROLOGUE
|
||||
%define regsize mmsize
|
||||
; Directly using unaligned SSE2 version is marginally faster than
|
||||
; branching based on arguments.
|
||||
- DIFF_BYTES_LOOP_PREP .skip_main_uu
|
||||
+ DIFF_BYTES_LOOP_PREP .skip_main_uu, .end_uu
|
||||
test dstq, regsize - 1
|
||||
jnz .loop_uu
|
||||
test src1q, regsize - 1
|
93
multimedia/mythtv/files/patch-CVE-2017-16840
Normal file
93
multimedia/mythtv/files/patch-CVE-2017-16840
Normal file
@ -0,0 +1,93 @@
|
||||
From 519a54cc195b92fe6ba71fd156e31e944d862d7e Mon Sep 17 00:00:00 2001
|
||||
From: Rostislav Pehlivanov <atomnuker@gmail.com>
|
||||
Date: Wed, 8 Nov 2017 23:50:04 +0000
|
||||
Subject: [PATCH] vc2enc_dwt: pad the temporary buffer by the slice size
|
||||
|
||||
Since non-Haar wavelets need to look into pixels outside the frame, we
|
||||
need to pad the buffer. The old factor of two seemed to be a workaround
|
||||
that fact and only padded to the left and bottom. This correctly pads
|
||||
by the slice size and as such reduces memory usage and potential
|
||||
exploits.
|
||||
Reported by Liu Bingchang.
|
||||
|
||||
Ideally, there should be no temporary buffer but the encoder is designed
|
||||
to deinterleave the coefficients into the classical wavelet structure
|
||||
with the lower frequency values in the top left corner.
|
||||
|
||||
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
|
||||
(cherry picked from commit 3228ac730c11eca49d5680d5550128e397061c85)
|
||||
---
|
||||
libavcodec/vc2enc.c | 3 ++-
|
||||
libavcodec/vc2enc_dwt.c | 12 +++++++++---
|
||||
libavcodec/vc2enc_dwt.h | 4 +++-
|
||||
3 files changed, 14 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git libavcodec/vc2enc.c libavcodec/vc2enc.c
|
||||
index eda390163ff..745c6e974d5 100644
|
||||
--- external/FFmpeg/libavcodec/vc2enc.c
|
||||
+++ external/FFmpeg/libavcodec/vc2enc.c
|
||||
@@ -1190,7 +1190,8 @@ static av_cold int vc2_encode_init(AVCodecContext *avctx)
|
||||
/* DWT init */
|
||||
if (ff_vc2enc_init_transforms(&s->transform_args[i].t,
|
||||
s->plane[i].coef_stride,
|
||||
- s->plane[i].dwt_height))
|
||||
+ s->plane[i].dwt_height,
|
||||
+ s->slice_width, s->slice_height))
|
||||
goto alloc_fail;
|
||||
}
|
||||
|
||||
diff --git libavcodec/vc2enc_dwt.c libavcodec/vc2enc_dwt.c
|
||||
index c60b003a313..d22af8a3138 100644
|
||||
--- external/FFmpeg/libavcodec/vc2enc_dwt.c
|
||||
+++ external/FFmpeg/libavcodec/vc2enc_dwt.c
|
||||
@@ -255,21 +255,27 @@ static void vc2_subband_dwt_haar_shift(VC2TransformContext *t, dwtcoef *data,
|
||||
dwt_haar(t, data, stride, width, height, 1);
|
||||
}
|
||||
|
||||
-av_cold int ff_vc2enc_init_transforms(VC2TransformContext *s, int p_width, int p_height)
|
||||
+av_cold int ff_vc2enc_init_transforms(VC2TransformContext *s, int p_stride,
|
||||
+ int p_height, int slice_w, int slice_h)
|
||||
{
|
||||
s->vc2_subband_dwt[VC2_TRANSFORM_9_7] = vc2_subband_dwt_97;
|
||||
s->vc2_subband_dwt[VC2_TRANSFORM_5_3] = vc2_subband_dwt_53;
|
||||
s->vc2_subband_dwt[VC2_TRANSFORM_HAAR] = vc2_subband_dwt_haar;
|
||||
s->vc2_subband_dwt[VC2_TRANSFORM_HAAR_S] = vc2_subband_dwt_haar_shift;
|
||||
|
||||
- s->buffer = av_malloc(2*p_width*p_height*sizeof(dwtcoef));
|
||||
+ /* Pad by the slice size, only matters for non-Haar wavelets */
|
||||
+ s->buffer = av_calloc((p_stride + slice_w)*(p_height + slice_h), sizeof(dwtcoef));
|
||||
if (!s->buffer)
|
||||
return 1;
|
||||
|
||||
+ s->padding = (slice_h >> 1)*p_stride + (slice_w >> 1);
|
||||
+ s->buffer += s->padding;
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
|
||||
av_cold void ff_vc2enc_free_transforms(VC2TransformContext *s)
|
||||
{
|
||||
- av_freep(&s->buffer);
|
||||
+ av_free(s->buffer - s->padding);
|
||||
+ s->buffer = NULL;
|
||||
}
|
||||
diff --git libavcodec/vc2enc_dwt.h libavcodec/vc2enc_dwt.h
|
||||
index 7fbbfbe0ed9..a6932bcdaf0 100644
|
||||
--- external/FFmpeg/libavcodec/vc2enc_dwt.h
|
||||
+++ external/FFmpeg/libavcodec/vc2enc_dwt.h
|
||||
@@ -41,12 +41,14 @@ enum VC2TransformType {
|
||||
|
||||
typedef struct VC2TransformContext {
|
||||
dwtcoef *buffer;
|
||||
+ int padding;
|
||||
void (*vc2_subband_dwt[VC2_TRANSFORMS_NB])(struct VC2TransformContext *t,
|
||||
dwtcoef *data, ptrdiff_t stride,
|
||||
int width, int height);
|
||||
} VC2TransformContext;
|
||||
|
||||
-int ff_vc2enc_init_transforms(VC2TransformContext *t, int p_width, int p_height);
|
||||
+int ff_vc2enc_init_transforms(VC2TransformContext *t, int p_stride, int p_height,
|
||||
+ int slice_w, int slice_h);
|
||||
void ff_vc2enc_free_transforms(VC2TransformContext *t);
|
||||
|
||||
#endif /* AVCODEC_VC2ENC_DWT_H */
|
28
multimedia/mythtv/files/patch-CVE-2017-17081a
Normal file
28
multimedia/mythtv/files/patch-CVE-2017-17081a
Normal file
@ -0,0 +1,28 @@
|
||||
From b2c9771dd435fbce4f0a422bbdc16ecf7b243395 Mon Sep 17 00:00:00 2001
|
||||
From: Michael Niedermayer <michael@niedermayer.cc>
|
||||
Date: Mon, 9 Oct 2017 00:32:30 +0200
|
||||
Subject: [PATCH] avcodec/mpeg_er: Clear mcsel in mpeg_er_decode_mb()
|
||||
|
||||
Fixes out of array read
|
||||
Should fix: 3516/clusterfuzz-testcase-minimized-4608518562775040 (not reprodoceable)
|
||||
|
||||
Found-by: Insu Yun, Georgia Tech.
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
(cherry picked from commit 127a362630e11fe724e2e63fc871791fdcbcfa64)
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
---
|
||||
libavcodec/mpeg_er.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git libavcodec/mpeg_er.c libavcodec/mpeg_er.c
|
||||
index dd87ae9cc9e..9bd269c4402 100644
|
||||
--- external/FFmpeg/libavcodec/mpeg_er.c
|
||||
+++ external/FFmpeg/libavcodec/mpeg_er.c
|
||||
@@ -71,6 +71,7 @@ static void mpeg_er_decode_mb(void *opaque, int ref, int mv_dir, int mv_type,
|
||||
s->mb_skipped = mb_skipped;
|
||||
s->mb_x = mb_x;
|
||||
s->mb_y = mb_y;
|
||||
+ s->mcsel = 0;
|
||||
memcpy(s->mv, mv, sizeof(*mv));
|
||||
|
||||
ff_init_block_index(s);
|
33
multimedia/mythtv/files/patch-CVE-2017-17081b
Normal file
33
multimedia/mythtv/files/patch-CVE-2017-17081b
Normal file
@ -0,0 +1,33 @@
|
||||
From b51f515c5c837351f2104b43c0e2a0562a759086 Mon Sep 17 00:00:00 2001
|
||||
From: Michael Niedermayer <michael@niedermayer.cc>
|
||||
Date: Mon, 13 Nov 2017 20:47:48 +0100
|
||||
Subject: [PATCH] avcodec/x86/mpegvideodsp: Fix signedness bug in need_emu
|
||||
|
||||
Fixes: out of array read
|
||||
Fixes: 3516/attachment-311488.dat
|
||||
|
||||
Found-by: Insu Yun, Georgia Tech.
|
||||
Tested-by: wuninsu@gmail.com
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
(cherry picked from commit 58cf31cee7a456057f337b3102a03206d833d5e8)
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
---
|
||||
libavcodec/x86/mpegvideodsp.c | 5 +++--
|
||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git libavcodec/x86/mpegvideodsp.c libavcodec/x86/mpegvideodsp.c
|
||||
index e0498f38496..6009b64e076 100644
|
||||
--- external/FFmpeg/libavcodec/x86/mpegvideodsp.c
|
||||
+++ external/FFmpeg/libavcodec/x86/mpegvideodsp.c
|
||||
@@ -52,8 +52,9 @@ static void gmc_mmx(uint8_t *dst, uint8_t *src,
|
||||
const int dyh = (dyy - (1 << (16 + shift))) * (h - 1);
|
||||
const int dxh = dxy * (h - 1);
|
||||
const int dyw = dyx * (w - 1);
|
||||
- int need_emu = (unsigned) ix >= width - w ||
|
||||
- (unsigned) iy >= height - h;
|
||||
+ int need_emu = (unsigned) ix >= width - w || width < w ||
|
||||
+ (unsigned) iy >= height - h || height< h
|
||||
+ ;
|
||||
|
||||
if ( // non-constant fullpel offset (3% of blocks)
|
||||
((ox ^ (ox + dxw)) | (ox ^ (ox + dxh)) | (ox ^ (ox + dxw + dxh)) |
|
44
multimedia/mythtv/files/patch-CVE-2018-6392
Normal file
44
multimedia/mythtv/files/patch-CVE-2018-6392
Normal file
@ -0,0 +1,44 @@
|
||||
Fix for CVE-2018-6392
|
||||
https://security-tracker.debian.org/tracker/CVE-2018-6392
|
||||
https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/3f621455d62e46745453568d915badd5b1e5bcd5
|
||||
https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/c6939f65a116b1ffed345d29d8621ee4ffb32235
|
||||
|
||||
--- external/FFmpeg/libavfilter/vf_transpose.c.orig 2018-02-01 11:15:37 UTC
|
||||
+++ external/FFmpeg/libavfilter/vf_transpose.c
|
||||
@@ -27,6 +27,7 @@
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
+#include "libavutil/avassert.h"
|
||||
#include "libavutil/imgutils.h"
|
||||
#include "libavutil/internal.h"
|
||||
#include "libavutil/intreadwrite.h"
|
||||
@@ -54,6 +55,7 @@ enum TransposeDir {
|
||||
typedef struct TransContext {
|
||||
const AVClass *class;
|
||||
int hsub, vsub;
|
||||
+ int planes;
|
||||
int pixsteps[4];
|
||||
|
||||
int passthrough; ///< PassthroughType, landscape passthrough mode enabled
|
||||
@@ -106,7 +108,11 @@ static int config_props_output(AVFilterLink *outlink)
|
||||
|
||||
s->hsub = desc_in->log2_chroma_w;
|
||||
s->vsub = desc_in->log2_chroma_h;
|
||||
+ s->planes = av_pix_fmt_count_planes(outlink->format);
|
||||
|
||||
+ av_assert0(desc_in->nb_components == desc_out->nb_components);
|
||||
+
|
||||
+
|
||||
av_image_fill_max_pixsteps(s->pixsteps, NULL, desc_out);
|
||||
|
||||
outlink->w = inlink->h;
|
||||
@@ -148,7 +154,7 @@ static int filter_slice(AVFilterContext *ctx, void *ar
|
||||
AVFrame *in = td->in;
|
||||
int plane;
|
||||
|
||||
- for (plane = 0; out->data[plane]; plane++) {
|
||||
+ for (plane = 0; plane < s->planes; plane++) {
|
||||
int hsub = plane == 1 || plane == 2 ? s->hsub : 0;
|
||||
int vsub = plane == 1 || plane == 2 ? s->vsub : 0;
|
||||
int pixstep = s->pixsteps[plane];
|
15
multimedia/mythtv/files/patch-CVE-2018-6621
Normal file
15
multimedia/mythtv/files/patch-CVE-2018-6621
Normal file
@ -0,0 +1,15 @@
|
||||
Fix for CVE-2018-6621
|
||||
https://security-tracker.debian.org/tracker/CVE-2018-6621
|
||||
https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/118e1b0b3370dd1c0da442901b486689efd1654b
|
||||
|
||||
--- external/FFmpeg/libavcodec/utvideodec.c.orig 2018-03-01 05:12:04 UTC
|
||||
+++ external/FFmpeg/libavcodec/utvideodec.c
|
||||
@@ -534,7 +534,7 @@ static int decode_frame(AVCodecContext *avctx, void *d
|
||||
for (j = 0; j < c->slices; j++) {
|
||||
slice_end = bytestream2_get_le32u(&gb);
|
||||
if (slice_end < 0 || slice_end < slice_start ||
|
||||
- bytestream2_get_bytes_left(&gb) < slice_end) {
|
||||
+ bytestream2_get_bytes_left(&gb) < slice_end + 1024LL) {
|
||||
av_log(avctx, AV_LOG_ERROR, "Incorrect slice size\n");
|
||||
return AVERROR_INVALIDDATA;
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
--- configure.orig 2015-06-16 16:03:30 UTC
|
||||
--- configure.orig 2018-01-11 12:39:22 UTC
|
||||
+++ configure
|
||||
@@ -846,28 +846,28 @@ check_cc(){
|
||||
@@ -1003,35 +1003,35 @@ check_cc(){
|
||||
log check_cc "$@"
|
||||
cat > $TMPC
|
||||
log_file $TMPC
|
||||
@ -24,6 +24,14 @@
|
||||
+ check_cmd $cxx $CPPFLAGS $CXXFLAGS $ECXXFLAGS -I${prefix}/include "$@" $CXX_C -o $TMPO $TMPCPP
|
||||
}
|
||||
|
||||
check_objcc(){
|
||||
log check_objcc "$@"
|
||||
cat > $TMPM
|
||||
log_file $TMPM
|
||||
- check_cmd $objcc -Werror=missing-prototypes $CPPFLAGS $CFLAGS $OBJCFLAGS "$@" $OBJCC_C $(cc_o $TMPO) $TMPM
|
||||
+ check_cmd $objcc -Werror=missing-prototypes $CPPFLAGS $CFLAGS $OBJCFLAGS -I${prefix}/include "$@" $OBJCC_C $(cc_o $TMPO) $TMPM
|
||||
}
|
||||
|
||||
check_cpp(){
|
||||
log check_cpp "$@"
|
||||
cat > $TMPC
|
||||
@ -33,46 +41,12 @@
|
||||
}
|
||||
|
||||
as_o(){
|
||||
@@ -2539,7 +2539,7 @@ python_default="python"
|
||||
|
||||
# machine
|
||||
arch_default=$(uname -m)
|
||||
-cpu="generic"
|
||||
+cpu="i686"
|
||||
processor=`uname -p 2>/dev/null`
|
||||
processor_flags=""
|
||||
tune="generic"
|
||||
@@ -3931,7 +3931,7 @@ elif enabled x86; then
|
||||
i686|pentiumpro|pentium[23]|pentium-m|athlon|athlon-tbird|athlon-4|athlon-[mx]p|athlon64*|k8*|opteron*|athlon-fx|core2|corei7*|amdfam10|barcelona|atom|bdver*)
|
||||
cpuflags="-march=$cpu"
|
||||
enable cmov
|
||||
- enable fast_cmov
|
||||
+ disable fast_cmov
|
||||
;;
|
||||
# targets that do support conditional mov but on which it's slow
|
||||
pentium4|pentium4m|prescott|nocona)
|
||||
@@ -4102,7 +4102,6 @@ case $target_os in
|
||||
append CCONFIG "freebsd"
|
||||
# Workaround compile errors from missing u_int/uint def
|
||||
CPPFLAGS=`echo $CPPFLAGS | sed 's/-D_POSIX_C_SOURCE=200112//'`
|
||||
- disable ivtv
|
||||
enable backend
|
||||
;;
|
||||
bsd/os)
|
||||
@@ -6389,6 +6388,7 @@ cat <<EOF >> $TMPMAK
|
||||
QMAKE_LIBDIR_QT-=${sysroot}${libdir}
|
||||
QMAKE_LIBDIR-=${sysroot}${libdir}
|
||||
LATE_LIBS+=-L${sysroot}${libdir}
|
||||
+FREETYPE_CFLAGS-= -I/usr/local/include
|
||||
EOF
|
||||
|
||||
#echo "endif # FFMPEG_CONFIG_MAK" >> $TMPMAK
|
||||
@@ -6441,7 +6441,7 @@ INCDIR=\$(INSTALL_ROOT)$incdir
|
||||
@@ -8840,7 +8840,7 @@ INCDIR=\$(INSTALL_ROOT)$incdir
|
||||
BINDIR=\$(INSTALL_ROOT)$bindir
|
||||
DATADIR=\$(INSTALL_ROOT)$datadir
|
||||
MANDIR=\$(INSTALL_ROOT)$mandir
|
||||
-CFLAGS=${CFLAGS} -w
|
||||
+CFLAGS=${CFLAGS} -I/usr/local/include -w
|
||||
-CFLAGS=${CFLAGS} -DFF_API_OLD_DECODE_AUDIO=1 -w
|
||||
+CFLAGS=${CFLAGS} -DFF_API_OLD_DECODE_AUDIO=1 -I${prefix}/include -w
|
||||
endif # FFMPEG_CONFIG_MAK
|
||||
EOF
|
||||
|
||||
|
@ -1,22 +1,29 @@
|
||||
--- external/FFmpeg/configure.orig 2015-06-16 16:03:30 UTC
|
||||
Fix arch detection
|
||||
Fix runtime crashes on i386: enforce stack-alignment=16
|
||||
|
||||
--- external/FFmpeg/configure.orig 2018-02-01 11:15:37 UTC
|
||||
+++ external/FFmpeg/configure
|
||||
@@ -2167,8 +2167,8 @@ yasmexe_default="yasm"
|
||||
nogas=":"
|
||||
@@ -3189,12 +3189,7 @@ target_os_default=$(tolower $(uname -s))
|
||||
host_os=$target_os_default
|
||||
|
||||
# machine
|
||||
-arch_default=$(uname -m)
|
||||
-cpu="generic"
|
||||
-if test "$target_os_default" = aix; then
|
||||
- arch_default=$(uname -p)
|
||||
- strip_default="strip -X32_64"
|
||||
-else
|
||||
- arch_default=$(uname -m)
|
||||
-fi
|
||||
+arch_default=$(uname -p)
|
||||
+cpu="i686"
|
||||
cpu="generic"
|
||||
intrinsics="none"
|
||||
|
||||
# OS
|
||||
target_os_default=$(tolower $(uname -s))
|
||||
@@ -3137,7 +3137,7 @@ elif enabled x86; then
|
||||
i686|pentiumpro|pentium[23]|pentium-m|athlon|athlon-tbird|athlon-4|athlon-[mx]p|athlon64*|k8*|opteron*|athlon-fx|core2|corei7*|amdfam10|barcelona|atom|bdver*)
|
||||
cpuflags="-march=$cpu"
|
||||
enable cmov
|
||||
- enable fast_cmov
|
||||
+ disable fast_cmov
|
||||
;;
|
||||
# targets that do support conditional mov but on which it's slow
|
||||
pentium4|pentium4m|prescott|nocona)
|
||||
@@ -6217,6 +6212,9 @@ elif enabled llvm_gcc; then
|
||||
elif enabled clang; then
|
||||
check_cflags -mllvm -stack-alignment=16
|
||||
check_cflags -mstack-alignment=16
|
||||
+ if enabled x86_32; then
|
||||
+ check_cflags -mstackrealign
|
||||
+ fi
|
||||
check_cflags -Qunused-arguments
|
||||
check_cflags -Werror=implicit-function-declaration
|
||||
check_cflags -Werror=missing-prototypes
|
||||
|
@ -1,11 +0,0 @@
|
||||
--- external/FFmpeg/libavcodec/x86/ac3dsp_init.c.orig 2015-06-16 16:03:30 UTC
|
||||
+++ external/FFmpeg/libavcodec/x86/ac3dsp_init.c
|
||||
@@ -51,7 +51,7 @@ extern void ff_ac3_extract_exponents_3dnow(uint8_t *ex
|
||||
extern void ff_ac3_extract_exponents_sse2 (uint8_t *exp, int32_t *coef, int nb_coefs);
|
||||
extern void ff_ac3_extract_exponents_ssse3(uint8_t *exp, int32_t *coef, int nb_coefs);
|
||||
|
||||
-#if ARCH_X86_32 && defined(__INTEL_COMPILER)
|
||||
+#if ARCH_X86_32 && (defined(__INTEL_COMPILER) || defined(__clang__))
|
||||
# undef HAVE_7REGS
|
||||
# define HAVE_7REGS 0
|
||||
#endif
|
@ -0,0 +1,48 @@
|
||||
Fix RTP stream; FreeBSD's socket calls require the sockaddr struct length
|
||||
to agree with the address family.
|
||||
PR: 214852
|
||||
|
||||
--- external/FFmpeg/libavformat/rtsp.c.orig 2018-02-01 11:15:37 UTC
|
||||
+++ external/FFmpeg/libavformat/rtsp.c
|
||||
@@ -1614,7 +1614,12 @@ int ff_rtsp_make_setup_request(AVFormatContext *s, con
|
||||
}
|
||||
if (ttl > 0)
|
||||
snprintf(optbuf, sizeof(optbuf), "?ttl=%d", ttl);
|
||||
- getnameinfo((struct sockaddr*) &addr, sizeof(addr),
|
||||
+ getnameinfo((struct sockaddr*) &addr,
|
||||
+#if HAVE_STRUCT_SOCKADDR_SA_LEN
|
||||
+ ((struct sockaddr*) &addr)->sa_len,
|
||||
+#else
|
||||
+ sizeof(addr),
|
||||
+#endif
|
||||
namebuf, sizeof(namebuf), NULL, 0, NI_NUMERICHOST);
|
||||
ff_url_join(url, sizeof(url), "rtp", NULL, namebuf,
|
||||
port, "%s", optbuf);
|
||||
@@ -1830,8 +1835,13 @@ redirect:
|
||||
goto fail;
|
||||
}
|
||||
if (!getpeername(tcp_fd, (struct sockaddr*) &peer, &peer_len)) {
|
||||
- getnameinfo((struct sockaddr*) &peer, peer_len, host, sizeof(host),
|
||||
- NULL, 0, NI_NUMERICHOST);
|
||||
+ getnameinfo((struct sockaddr*) &peer,
|
||||
+#if HAVE_STRUCT_SOCKADDR_SA_LEN
|
||||
+ ((struct sockaddr*) &peer)->sa_len,
|
||||
+#else
|
||||
+ peer_len,
|
||||
+#endif
|
||||
+ host, sizeof(host), NULL, 0, NI_NUMERICHOST);
|
||||
}
|
||||
|
||||
/* request options supported by the server; this also detects server
|
||||
@@ -2310,7 +2320,11 @@ static int sdp_read_header(AVFormatContext *s)
|
||||
AVDictionary *opts = map_to_opts(rt);
|
||||
|
||||
err = getnameinfo((struct sockaddr*) &rtsp_st->sdp_ip,
|
||||
+#if HAVE_STRUCT_SOCKADDR_SA_LEN
|
||||
+ ((struct sockaddr*) &rtsp_st->sdp_ip)->sa_len,
|
||||
+#else
|
||||
sizeof(rtsp_st->sdp_ip),
|
||||
+#endif
|
||||
namebuf, sizeof(namebuf), NULL, 0, NI_NUMERICHOST);
|
||||
if (err) {
|
||||
av_log(s, AV_LOG_ERROR, "getnameinfo: %s\n", gai_strerror(err));
|
@ -0,0 +1,58 @@
|
||||
Fix build with libressl
|
||||
|
||||
--- external/FFmpeg/libavformat/tls_openssl.c.orig 2018-02-01 11:15:37 UTC
|
||||
+++ external/FFmpeg/libavformat/tls_openssl.c
|
||||
@@ -43,7 +43,7 @@ typedef struct TLSContext {
|
||||
TLSShared tls_shared;
|
||||
SSL_CTX *ctx;
|
||||
SSL *ssl;
|
||||
-#if OPENSSL_VERSION_NUMBER >= 0x1010000fL
|
||||
+#if OPENSSL_VERSION_NUMBER >= 0x1010000fL && !defined(LIBRESSL_VERSION_NUMBER)
|
||||
BIO_METHOD* url_bio_method;
|
||||
#endif
|
||||
} TLSContext;
|
||||
@@ -68,7 +68,7 @@ static unsigned long openssl_thread_id(void)
|
||||
|
||||
static int url_bio_create(BIO *b)
|
||||
{
|
||||
-#if OPENSSL_VERSION_NUMBER >= 0x1010000fL
|
||||
+#if OPENSSL_VERSION_NUMBER >= 0x1010000fL && !defined(LIBRESSL_VERSION_NUMBER)
|
||||
BIO_set_init(b, 1);
|
||||
BIO_set_data(b, NULL);
|
||||
BIO_set_flags(b, 0);
|
||||
@@ -85,7 +85,7 @@ static int url_bio_destroy(BIO *b)
|
||||
return 1;
|
||||
}
|
||||
|
||||
-#if OPENSSL_VERSION_NUMBER >= 0x1010000fL
|
||||
+#if OPENSSL_VERSION_NUMBER >= 0x1010000fL && !defined(LIBRESSL_VERSION_NUMBER)
|
||||
#define GET_BIO_DATA(x) BIO_get_data(x);
|
||||
#else
|
||||
#define GET_BIO_DATA(x) (x)->ptr;
|
||||
@@ -133,7 +133,7 @@ static int url_bio_bputs(BIO *b, const char *str)
|
||||
return url_bio_bwrite(b, str, strlen(str));
|
||||
}
|
||||
|
||||
-#if OPENSSL_VERSION_NUMBER < 0x1010000fL
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x1010000fL || defined(LIBRESSL_VERSION_NUMBER)
|
||||
static BIO_METHOD url_bio_method = {
|
||||
.type = BIO_TYPE_SOURCE_SINK,
|
||||
.name = "urlprotocol bio",
|
||||
@@ -212,7 +212,7 @@ static int tls_close(URLContext *h)
|
||||
SSL_CTX_free(c->ctx);
|
||||
if (c->tls_shared.tcp)
|
||||
ffurl_close(c->tls_shared.tcp);
|
||||
-#if OPENSSL_VERSION_NUMBER >= 0x1010000fL
|
||||
+#if OPENSSL_VERSION_NUMBER >= 0x1010000fL && !defined(LIBRESSL_VERSION_NUMBER)
|
||||
if (c->url_bio_method)
|
||||
BIO_meth_free(c->url_bio_method);
|
||||
#endif
|
||||
@@ -265,7 +265,7 @@ static int tls_open(URLContext *h, const char *uri, in
|
||||
ret = AVERROR(EIO);
|
||||
goto fail;
|
||||
}
|
||||
-#if OPENSSL_VERSION_NUMBER >= 0x1010000fL
|
||||
+#if OPENSSL_VERSION_NUMBER >= 0x1010000fL && !defined(LIBRESSL_VERSION_NUMBER)
|
||||
p->url_bio_method = BIO_meth_new(BIO_TYPE_SOURCE_SINK, "urlprotocol bio");
|
||||
BIO_meth_set_write(p->url_bio_method, url_bio_bwrite);
|
||||
BIO_meth_set_read(p->url_bio_method, url_bio_bread);
|
@ -0,0 +1,16 @@
|
||||
--- external/libmythdvdnav/dvdnav/dvdnav/dvdnav.h.orig 2018-01-11 12:39:22 UTC
|
||||
+++ external/libmythdvdnav/dvdnav/dvdnav/dvdnav.h
|
||||
@@ -33,11 +33,11 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
-#include <dvdnav/dvd_types.h>
|
||||
+#include "dvd_types.h"
|
||||
#include <dvdread/dvd_reader.h>
|
||||
#include <dvdread/nav_types.h>
|
||||
#include <dvdread/ifo_types.h> /* For vm_cmd_t */
|
||||
-#include <dvdnav/dvdnav_events.h>
|
||||
+#include "dvdnav_events.h"
|
||||
|
||||
#include "compat.h"
|
||||
|
@ -1,10 +0,0 @@
|
||||
--- external/zeromq/src/Makefile.am.orig 2015-06-16 16:03:30 UTC
|
||||
+++ external/zeromq/src/Makefile.am
|
||||
@@ -1,6 +1,6 @@
|
||||
lib_LTLIBRARIES = libmythzmq.la
|
||||
|
||||
-pkgconfigdir = $(libdir)/pkgconfig
|
||||
+pkgconfigdir = $(PKG_CONFIG_PATH)
|
||||
pkgconfig_DATA = libmythzmq.pc
|
||||
|
||||
include_HEADERS = ../include/zmq.h ../include/zmq.hpp ../include/zmq_utils.h
|
@ -1,10 +0,0 @@
|
||||
--- libs/libmyth/remoteutil.h.orig 2015-06-16 16:03:30 UTC
|
||||
+++ libs/libmyth/remoteutil.h
|
||||
@@ -10,6 +10,7 @@
|
||||
using namespace std;
|
||||
|
||||
#include "mythexp.h"
|
||||
+#include <sys/types.h>
|
||||
|
||||
class ProgramInfo;
|
||||
class MythEvent;
|
@ -1,11 +0,0 @@
|
||||
--- libs/libmythdvdnav/dvdnav/dvdnav.c.orig 2015-06-16 16:03:30 UTC
|
||||
+++ libs/libmythdvdnav/dvdnav/dvdnav.c
|
||||
@@ -33,7 +33,7 @@
|
||||
#include <limits.h>
|
||||
#include <string.h>
|
||||
#include <sys/time.h>
|
||||
-#include "dvdnav/dvdnav.h"
|
||||
+#include "dvdnav.h"
|
||||
#include <dvdread/dvd_reader.h>
|
||||
#include <dvdread/nav_types.h>
|
||||
#include <dvdread/ifo_types.h> /* For vm_cmd_t */
|
@ -0,0 +1,11 @@
|
||||
--- libs/libmythtv/DVD/dvdringbuffer.h.orig 2018-01-11 12:39:22 UTC
|
||||
+++ libs/libmythtv/DVD/dvdringbuffer.h
|
||||
@@ -21,7 +21,7 @@ extern "C" {
|
||||
#include "libavcodec/avcodec.h"
|
||||
}
|
||||
|
||||
-#include "dvdnav/dvdnav.h"
|
||||
+#include "../../../external/libmythdvdnav/dvdnav/dvdnav/dvdnav.h"
|
||||
|
||||
/** \class MythDVDContext
|
||||
* \brief Encapsulates playback context at any given moment.
|
64
multimedia/mythtv/files/patch-libs_libmythtv_dbcheck.cpp
Normal file
64
multimedia/mythtv/files/patch-libs_libmythtv_dbcheck.cpp
Normal file
@ -0,0 +1,64 @@
|
||||
Database schema 1347 fails to update due to bad SQL statement
|
||||
Ref: https://code.mythtv.org/trac/ticket/13155
|
||||
|
||||
--- libs/libmythtv/dbcheck.cpp.orig 2018-02-01 11:15:37 UTC
|
||||
+++ libs/libmythtv/dbcheck.cpp
|
||||
@@ -3340,25 +3340,24 @@ NULL
|
||||
|
||||
if (dbver == "1346")
|
||||
{
|
||||
- QString master;
|
||||
+ QList<QByteArray> updates_ba;
|
||||
// Create new MasterServerName setting
|
||||
if (gCoreContext->IsMasterHost())
|
||||
- master =
|
||||
- "insert into settings (value,data,hostname) "
|
||||
- "values('MasterServerName','"
|
||||
- + gCoreContext->GetHostName() + "', null);";
|
||||
+ updates_ba.push_back(
|
||||
+ QString("INSERT INTO settings (value, data, hostname) "
|
||||
+ "VALUES ('MasterServerName', '%1', NULL);")
|
||||
+ .arg(gCoreContext->GetHostName()).toLocal8Bit());
|
||||
else
|
||||
- master =
|
||||
- "insert into settings (value,data,hostname) "
|
||||
- "select 'MasterServerName', b.hostname, null "
|
||||
- "from settings a, settings b "
|
||||
- "where a.value = 'MasterServerIP' "
|
||||
- "and b.value in ('BackendServerIP','BackendServerIP6')"
|
||||
- "and a.data = b.data;";
|
||||
+ updates_ba.push_back(
|
||||
+ QString("INSERT INTO settings (value,data,hostname) "
|
||||
+ "SELECT 'MasterServerName', b.hostname, NULL "
|
||||
+ "FROM settings a, settings b "
|
||||
+ "WHERE a.value = 'MasterServerIP' "
|
||||
+ "AND b.value IN ('BackendServerIP','BackendServerIP6')"
|
||||
+ "AND a.data = b.data;")
|
||||
+ .toLocal8Bit());
|
||||
|
||||
- const char *updates[] = {
|
||||
- // Create new MasterServerName setting
|
||||
- master.toLocal8Bit().constData(),
|
||||
+ const char *post_sql[] = {
|
||||
// Create new BackendServerAddr setting for each backend server
|
||||
// Assume using IPV4 value.
|
||||
"insert into settings (value,data,hostname) "
|
||||
@@ -3385,8 +3384,17 @@ NULL
|
||||
// Delete obsolete settings
|
||||
"delete from settings "
|
||||
"where value in ('WatchTVGuide');",
|
||||
- NULL
|
||||
};
|
||||
+
|
||||
+ for (uint i = 0; i < sizeof(post_sql)/sizeof(char*); i++)
|
||||
+ updates_ba.push_back(QByteArray(post_sql[i]));
|
||||
+
|
||||
+ // Convert update ByteArrays to NULL terminated char**
|
||||
+ QList<QByteArray>::const_iterator it = updates_ba.begin();
|
||||
+ vector<const char*> updates;
|
||||
+ for (; it != updates_ba.end(); ++it)
|
||||
+ updates.push_back((*it).constData());
|
||||
+ updates.push_back(NULL);
|
||||
|
||||
if (!performActualUpdate(&updates[0], "1347", dbver))
|
||||
return false;
|
@ -1,29 +0,0 @@
|
||||
--- libs/libmythtv/recorders/dvbstreamhandler.cpp.orig 2015-06-16 16:03:30 UTC
|
||||
+++ libs/libmythtv/recorders/dvbstreamhandler.cpp
|
||||
@@ -620,7 +620,7 @@ bool DVBPIDInfo::Open(const QString &dvb_dev, bool use
|
||||
{
|
||||
struct dmx_pes_filter_params pesFilterParams;
|
||||
memset(&pesFilterParams, 0, sizeof(struct dmx_pes_filter_params));
|
||||
- pesFilterParams.pid = (__u16) _pid;
|
||||
+ pesFilterParams.pid = (uint16_t) _pid;
|
||||
pesFilterParams.input = DMX_IN_FRONTEND;
|
||||
pesFilterParams.output = DMX_OUT_TS_TAP;
|
||||
pesFilterParams.flags = DMX_IMMEDIATE_START;
|
||||
@@ -640,7 +640,7 @@ bool DVBPIDInfo::Open(const QString &dvb_dev, bool use
|
||||
{
|
||||
struct dmx_sct_filter_params sctFilterParams;
|
||||
memset(&sctFilterParams, 0, sizeof(struct dmx_sct_filter_params));
|
||||
- switch ( (__u16) _pid )
|
||||
+ switch ( (uint16_t) _pid )
|
||||
{
|
||||
case 0x0: // PAT
|
||||
sctFilterParams.filter.filter[0] = 0;
|
||||
@@ -676,7 +676,7 @@ bool DVBPIDInfo::Open(const QString &dvb_dev, bool use
|
||||
sctFilterParams.filter.mask[0] = 0x00;
|
||||
break;
|
||||
}
|
||||
- sctFilterParams.pid = (__u16) _pid;
|
||||
+ sctFilterParams.pid = (uint16_t) _pid;
|
||||
sctFilterParams.timeout = 0;
|
||||
sctFilterParams.flags = DMX_IMMEDIATE_START;
|
||||
|
@ -1,11 +0,0 @@
|
||||
--- libs/libmythtv/videoout_vdpau.cpp.orig 2015-06-16 16:03:30 UTC
|
||||
+++ libs/libmythtv/videoout_vdpau.cpp
|
||||
@@ -442,7 +442,7 @@ void VideoOutputVDPAU::PrepareFrame(VideoFrame *frame,
|
||||
if (frame)
|
||||
{
|
||||
// FIXME for 0.23. This should be triggered from AFD by a seek
|
||||
- if ((abs(frame->frameNumber - framesPlayed) > 8))
|
||||
+ if ((labs(frame->frameNumber - framesPlayed) > 8))
|
||||
ClearReferenceFrames();
|
||||
new_frame = (framesPlayed != frame->frameNumber + 1);
|
||||
framesPlayed = frame->frameNumber + 1;
|
@ -1,19 +0,0 @@
|
||||
--- libs/libmythui/mythgesture.cpp.orig 2015-06-16 16:03:30 UTC
|
||||
+++ libs/libmythui/mythgesture.cpp
|
||||
@@ -28,6 +28,7 @@
|
||||
|
||||
#include "mythgesture.h"
|
||||
|
||||
+#include <cstdlib>
|
||||
#include <cmath>
|
||||
#include <algorithm>
|
||||
#include <complex>
|
||||
@@ -284,7 +285,7 @@ bool MythGesture::record(const QPoint & p)
|
||||
int dely = p.y() - points.back().y();
|
||||
|
||||
/* step by the greatest delta direction */
|
||||
- if (abs(delx) > abs(dely))
|
||||
+ if (std::abs(delx) > std::abs(dely))
|
||||
{
|
||||
float iy = points.back().y();
|
||||
|
@ -1,4 +1,4 @@
|
||||
--- libs/libmythui/mythpainter.cpp.orig 2015-06-16 16:03:30 UTC
|
||||
--- libs/libmythui/mythpainter.cpp.orig 2018-01-11 12:39:22 UTC
|
||||
+++ libs/libmythui/mythpainter.cpp
|
||||
@@ -1,6 +1,7 @@
|
||||
#include <stdint.h>
|
||||
|
@ -0,0 +1,10 @@
|
||||
--- libs/libmythui/mythrender_vdpau.h.orig 2018-01-27 11:25:49 UTC
|
||||
+++ libs/libmythui/mythrender_vdpau.h
|
||||
@@ -12,6 +12,7 @@
|
||||
|
||||
extern "C" {
|
||||
#include "libavcodec/vdpau.h"
|
||||
+#include <vdpau/vdpau_x11.h>
|
||||
}
|
||||
|
||||
#define MIN_OUTPUT_SURFACES 2 // UI
|
@ -1,10 +0,0 @@
|
||||
--- libs/libmythupnp/mmulticastsocketdevice.h.orig 2015-06-16 16:03:30 UTC
|
||||
+++ libs/libmythupnp/mmulticastsocketdevice.h
|
||||
@@ -22,6 +22,7 @@
|
||||
# include <ws2tcpip.h>
|
||||
# endif
|
||||
#else
|
||||
+# include <sys/types.h>
|
||||
# include <sys/socket.h>
|
||||
# include <netinet/in.h>
|
||||
# include <netinet/ip.h>
|
File diff suppressed because it is too large
Load Diff
@ -2,9 +2,8 @@
|
||||
# $FreeBSD$
|
||||
|
||||
PORTNAME= mythweb
|
||||
PORTVERSION= 0.28.1
|
||||
DISTVERSIONPREFIX= v
|
||||
PORTREVISION= 1
|
||||
DISTVERSION= 29.1
|
||||
CATEGORIES= www
|
||||
PKGNAMEPREFIX= mythplugin-
|
||||
|
||||
@ -14,14 +13,11 @@ COMMENT= Frontend for scheduling and managing recordings on your MythTV Box
|
||||
LICENSE= GPLv2
|
||||
LICENSE_FILE= ${WRKSRC}/LICENSE
|
||||
|
||||
IGNORE_WITH_PHP= 70 71 72
|
||||
|
||||
RUN_DEPENDS= p5-DBD-mysql>=0:databases/p5-DBD-mysql
|
||||
|
||||
USES= php shebangfix
|
||||
USES= php shebangfix perl5
|
||||
USE_PERL5= run
|
||||
USE_PHP= json pcre posix mysqli session spl sockets
|
||||
USE_GITHUB= yes
|
||||
GH_ACCOUNT= MythTV
|
||||
USE_PHP= json mysql pcre posix session spl
|
||||
SHEBANG_FILES= mythweb.pl modules/_shared/lang/build_translation.pl \
|
||||
modules/coverart/handler.pl modules/stream/*.pl
|
||||
|
||||
@ -31,11 +27,13 @@ PLIST_SUB= WWWOWN="${WWWOWN}" WWWGRP="${WWWGRP}"
|
||||
SUB_FILES= pkg-message
|
||||
REINPLACE_ARGS= -i ""
|
||||
|
||||
OPTIONS_DEFINE= APACHE LIGHTTPD
|
||||
OPTIONS_DEFINE= APACHE LIGHTTPD NGINX
|
||||
OPTIONS_DEFAULT= APACHE
|
||||
|
||||
APACHE_USE= APACHE_RUN=22+
|
||||
LIGHTTPD_RUN_DEPENDS= lighttpd:www/lighttpd
|
||||
NGINX_DESC= Nginx server support
|
||||
NGINX_RUN_DEPENDS= nginx:www/nginx
|
||||
|
||||
post-patch:
|
||||
@${REINPLACE_CMD} -e 's|/var/www/html|${WWWDIR}|' \
|
||||
|
@ -1,3 +1,3 @@
|
||||
TIMESTAMP = 1494080463
|
||||
SHA256 (MythTV-mythweb-v0.28.1_GH0.tar.gz) = bbd82992230d3571eba55a26a91cc3f2dcddfa631d1822ce58e1bf99f2537244
|
||||
SIZE (MythTV-mythweb-v0.28.1_GH0.tar.gz) = 1705490
|
||||
TIMESTAMP = 1519575608
|
||||
SHA256 (MythTV-mythweb-v29.1_GH0.tar.gz) = 30583d7c077dbc732053d0ee7b13a46ab3ceaeb0aaa7c8e9744ef6ac959989e8
|
||||
SIZE (MythTV-mythweb-v29.1_GH0.tar.gz) = 1796312
|
||||
|
@ -49,6 +49,9 @@
|
||||
%%WWWDIR%%/includes/translate.php
|
||||
%%WWWDIR%%/includes/utils.php
|
||||
%%WWWDIR%%/js/AC_OETags.js
|
||||
%%WWWDIR%%/js/README
|
||||
%%WWWDIR%%/js/ajax/libs/jquery/3.2.1/jquery.min.js
|
||||
%%WWWDIR%%/js/ajax/libs/prototype/1.7.3.0/prototype.js
|
||||
%%WWWDIR%%/js/dialog/dialog.css
|
||||
%%WWWDIR%%/js/dialog/dialog.js
|
||||
%%WWWDIR%%/js/jquery-1.9.1.min.js
|
||||
|
Loading…
Reference in New Issue
Block a user