From b1aa349f119c4f2d5487767cf3603cfa4f79a908 Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Fri, 12 Dec 2014 09:32:03 -0500 Subject: [PATCH 01/21] add check to see if user has rights to view this monitor --- web/skins/classic/views/watch.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/web/skins/classic/views/watch.php b/web/skins/classic/views/watch.php index 5a3d17c2c..ea6d4fb13 100644 --- a/web/skins/classic/views/watch.php +++ b/web/skins/classic/views/watch.php @@ -23,6 +23,10 @@ if ( !canView( 'Stream' ) ) $view = "error"; return; } +if ( ! visibleMonitor( $_REQUEST['mid'] ) ) { + $view = "error"; + return; +} $sql = 'SELECT C.*, M.* FROM Monitors AS M LEFT JOIN Controls AS C ON (M.ControlId = C.Id ) WHERE M.Id = ?'; $monitor = dbFetchOne( $sql, NULL, array( $_REQUEST['mid'] ) ); From 3c8153c9b4563df734d8da61fede0316bf047a89 Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Fri, 12 Dec 2014 09:38:54 -0500 Subject: [PATCH 02/21] better fix for the view=console security flaw. This does it in index.php,so it guards all pages, and also just changes the view to login, so instead of giving an error, it presents you with the login, which I think is better. --- web/index.php | 5 +++++ web/skins/classic/views/console.php | 5 ----- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/web/index.php b/web/index.php index f6ca44ff2..a91c59ce2 100644 --- a/web/index.php +++ b/web/index.php @@ -122,6 +122,11 @@ foreach ( getSkinIncludes( 'skin.php' ) as $includeFile ) require_once( 'includes/actions.php' ); +# If I put this here, it protects all views and popups, but it has to go after actions.php because actions.php does the actual logging in. +if ( ZM_OPT_USE_AUTH && ! isset($user) && $view != 'login' ) { + $view = 'login'; +} + if ( isset( $_REQUEST['request'] ) ) { foreach ( getSkinIncludes( 'ajax/'.$request.'.php', true, true ) as $includeFile ) diff --git a/web/skins/classic/views/console.php b/web/skins/classic/views/console.php index 54a39d662..3320857ba 100644 --- a/web/skins/classic/views/console.php +++ b/web/skins/classic/views/console.php @@ -18,11 +18,6 @@ // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. // -if ( ZM_OPT_USE_AUTH && ! isset($user) ) { - $view = "error"; - return; -} - $eventCounts = array( array( "title" => $SLANG['Events'], From 78f0243c69d81e43b28a6f8c4b1e4f20eacc7258 Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Fri, 12 Dec 2014 16:33:18 -0500 Subject: [PATCH 03/21] This replaces Module::Load with Module::Load::Conditional which can actually handle errors. Then I move the module load call up before the fork so that any errors will be visible and will make zmcontrol.pl die quickly instead of waiting 11 seconds for something that will never happen. --- scripts/zmcontrol.pl.in | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/scripts/zmcontrol.pl.in b/scripts/zmcontrol.pl.in index dcfef5c87..aac99b636 100644 --- a/scripts/zmcontrol.pl.in +++ b/scripts/zmcontrol.pl.in @@ -33,7 +33,7 @@ use Getopt::Long; use POSIX qw/strftime EPIPE/; use Socket; #use Data::Dumper; -use Module::Load; +use Module::Load::Conditional qw{can_load};; use constant MAX_CONNECT_DELAY => 10; use constant MAX_COMMAND_WAIT => 1800; @@ -129,6 +129,10 @@ if ( !$server_up ) Info( "Starting control server $id/$protocol" ); close( CLIENT ); + if ( ! can_load( modules => { "ZoneMinder::Control::$protocol" => undef } ) ) { + Fatal("Can't load ZoneMinder::Control::$protocol"); + } + if ( my $cpid = fork() ) { logReinit(); @@ -156,8 +160,6 @@ if ( !$server_up ) $0 = $0." --id $id"; - load "ZoneMinder::Control::$protocol"; - my $control = "ZoneMinder::Control::$protocol"->new( $id ); my $control_key = $control->getKey(); $control->loadMonitor(); From 099529c787fff9f9d1917179b15222739389f1b5 Mon Sep 17 00:00:00 2001 From: Emmanuel Papin Date: Sat, 13 Dec 2014 16:55:42 +0100 Subject: [PATCH 04/21] Switch patching system to quilt and add a patch to fix perl install directory --- distros/debian/control | 2 +- distros/debian/patches/01_vendor-perl.diff | 17 +++++++++++++++++ distros/debian/patches/series | 1 + distros/debian/rules | 2 +- 4 files changed, 20 insertions(+), 2 deletions(-) create mode 100644 distros/debian/patches/01_vendor-perl.diff create mode 100644 distros/debian/patches/series diff --git a/distros/debian/control b/distros/debian/control index 81ed17252..6832492be 100644 --- a/distros/debian/control +++ b/distros/debian/control @@ -2,7 +2,7 @@ Source: zoneminder Section: net Priority: optional Maintainer: Isaac Connor -Build-Depends: debhelper (>= 7.0.50), autoconf, automake, dpatch, libphp-serialization-perl, libgnutls-dev|libgnutls28-dev, libmysqlclient-dev | libmariadbclient-dev, libdbd-mysql-perl, libdate-manip-perl, libwww-perl, libjpeg8-dev|libjpeg9-dev|libjpeg62-turbo-dev, libpcre3-dev, libavcodec-dev, libavformat-dev (>= 3:0.svn20090204), libswscale-dev (>= 3:0.svn20090204), libavutil-dev, libv4l-dev (>= 0.8.3), libbz2-dev, libtool, libsys-mmap-perl, ffmpeg | libav-tools, libnetpbm10-dev, libavdevice-dev, libdevice-serialport-perl, libarchive-zip-perl, libmime-lite-perl, dh-autoreconf, libvlccore-dev, libvlc-dev, libcurl4-gnutls-dev | libcurl4-nss-dev | libcurl4-openssl-dev, libgcrypt11-dev|libgcrypt20-dev, libpolkit-gobject-1-dev +Build-Depends: debhelper (>= 7.0.50), autoconf, automake, quilt, libphp-serialization-perl, libgnutls-dev|libgnutls28-dev, libmysqlclient-dev | libmariadbclient-dev, libdbd-mysql-perl, libdate-manip-perl, libwww-perl, libjpeg8-dev|libjpeg9-dev|libjpeg62-turbo-dev, libpcre3-dev, libavcodec-dev, libavformat-dev (>= 3:0.svn20090204), libswscale-dev (>= 3:0.svn20090204), libavutil-dev, libv4l-dev (>= 0.8.3), libbz2-dev, libtool, libsys-mmap-perl, ffmpeg | libav-tools, libnetpbm10-dev, libavdevice-dev, libdevice-serialport-perl, libarchive-zip-perl, libmime-lite-perl, dh-autoreconf, libvlccore-dev, libvlc-dev, libcurl4-gnutls-dev | libcurl4-nss-dev | libcurl4-openssl-dev, libgcrypt11-dev|libgcrypt20-dev, libpolkit-gobject-1-dev Standards-Version: 3.9.2 Package: zoneminder diff --git a/distros/debian/patches/01_vendor-perl.diff b/distros/debian/patches/01_vendor-perl.diff new file mode 100644 index 000000000..a58ef8778 --- /dev/null +++ b/distros/debian/patches/01_vendor-perl.diff @@ -0,0 +1,17 @@ +Index: ZoneMinder/configure.ac +=================================================================== +--- ZoneMinder.orig/configure.ac 2014-12-13 15:10:27.705191682 +0100 ++++ ZoneMinder/configure.ac 2014-12-13 16:50:07.101049743 +0100 +@@ -443,10 +443,10 @@ + PERL_SITE_LIB=`perl -V:installsitelib | sed -e "s/.*='\(.*\)';/\1/"` + PERL_LIB_PATH=`echo $PERL_SITE_LIB | sed -e "s|^$PERL_SITE_PREFIX||"` + EXTRA_PERL_LIB="use lib '$prefix$PERL_LIB_PATH'; # Include custom perl install path" +- PERL_MM_PARMS="PREFIX=$prefix" ++ PERL_MM_PARMS="\"PREFIX=$prefix INSTALLDIRS=vendor\"" + else + EXTRA_PERL_LIB="# Include from system perl paths only" +- PERL_MM_PARMS= ++ PERL_MM_PARMS="\"INSTALLDIRS=vendor\"" + fi + AC_SUBST(PERL_MM_PARMS) + AC_SUBST(EXTRA_PERL_LIB) diff --git a/distros/debian/patches/series b/distros/debian/patches/series new file mode 100644 index 000000000..b479dc507 --- /dev/null +++ b/distros/debian/patches/series @@ -0,0 +1 @@ +01_vendor-perl.diff diff --git a/distros/debian/rules b/distros/debian/rules index df11f4988..c9e592db9 100755 --- a/distros/debian/rules +++ b/distros/debian/rules @@ -25,7 +25,7 @@ else endif %: - dh $@ --with autoreconf + dh $@ --with quilt,autoreconf override_dh_auto_configure: CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" ./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --sysconfdir=/etc/zm --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info --with-mysql=/usr --with-mariadb=/usr --with-webdir=/usr/share/zoneminder --with-ffmpeg=/usr --with-cgidir=/usr/lib/cgi-bin --with-webuser=www-data --with-webgroup=www-data --enable-crashtrace=no --enable-mmap=yes From 28516df0ec7316af02a4f08170f57507ab2afc70 Mon Sep 17 00:00:00 2001 From: Emmanuel Papin Date: Sat, 13 Dec 2014 17:04:07 +0100 Subject: [PATCH 05/21] Use dh_auto_configure instead of standard configure command --- distros/debian/rules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/distros/debian/rules b/distros/debian/rules index c9e592db9..7eceea86a 100755 --- a/distros/debian/rules +++ b/distros/debian/rules @@ -28,7 +28,7 @@ endif dh $@ --with quilt,autoreconf override_dh_auto_configure: - CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" ./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --sysconfdir=/etc/zm --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info --with-mysql=/usr --with-mariadb=/usr --with-webdir=/usr/share/zoneminder --with-ffmpeg=/usr --with-cgidir=/usr/lib/cgi-bin --with-webuser=www-data --with-webgroup=www-data --enable-crashtrace=no --enable-mmap=yes + CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" dh_auto_configure -- --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --sysconfdir=/etc/zm --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info --with-mysql=/usr --with-mariadb=/usr --with-webdir=/usr/share/zoneminder --with-ffmpeg=/usr --with-cgidir=/usr/lib/cgi-bin --with-webuser=www-data --with-webgroup=www-data --enable-crashtrace=no --enable-mmap=yes override_dh_clean: # Add here commands to clean up after the build process. From 59e2d0873da015fcc219c045e9c60f913103b0fb Mon Sep 17 00:00:00 2001 From: Emmanuel Papin Date: Sat, 13 Dec 2014 17:30:21 +0100 Subject: [PATCH 06/21] Add required README.source file when using a patching system --- distros/debian/README.source | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 distros/debian/README.source diff --git a/distros/debian/README.source b/distros/debian/README.source new file mode 100644 index 000000000..646e55d86 --- /dev/null +++ b/distros/debian/README.source @@ -0,0 +1,5 @@ +This package uses quilt to manage all modifications to the upstream source. +Changes are stored in the source package as diffs in debian/patches and applied +during the build. + +See /usr/share/doc/quilt/README.source for a detailed explanation. From 63d75debffe7aff099fa5843b66b67724d0be948 Mon Sep 17 00:00:00 2001 From: Emmanuel Papin Date: Sat, 13 Dec 2014 17:32:01 +0100 Subject: [PATCH 07/21] Use dh_install and dh_link in override_dh_install --- distros/debian/install | 5 +++++ distros/debian/rules | 19 +++++++------------ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/distros/debian/install b/distros/debian/install index 9e8953409..4b0009cea 100644 --- a/distros/debian/install +++ b/distros/debian/install @@ -3,5 +3,10 @@ usr/lib/cgi-bin usr/share/man usr/share/perl5/ZoneMinder usr/share/perl5/ZoneMinder.pm +usr/share/polkit-1/actions +usr/share/polkit-1/rules.d usr/share/zoneminder etc/zm +db/zm_create.sql usr/share/zoneminder/db +db/zm_update-*.sql usr/share/zoneminder/db +debian/apache.conf etc/zm diff --git a/distros/debian/rules b/distros/debian/rules index 7eceea86a..d07d3b823 100755 --- a/distros/debian/rules +++ b/distros/debian/rules @@ -36,28 +36,23 @@ override_dh_clean: dh_clean override_dh_install: - # Add here commands to install the package into debian/zm. - $(MAKE) install DESTDIR=$(CURDIR)/debian/zoneminder RUNDIR=$(CURDIR)/debian/zoneminder/var/run ZM_RUNDIR=$(CURDIR)/debian/zoneminder/var/run - install -D -m 0644 db/zm_create.sql $(CURDIR)/debian/zoneminder/usr/share/zoneminder/db - install -D -m 0644 db/zm_update-*.sql $(CURDIR)/debian/zoneminder/usr/share/zoneminder/db - install -D -m 0644 debian/apache.conf $(CURDIR)/debian/zoneminder/etc/zm + dh_install --fail-missing # # NOTE: This is a short-term kludge; hopefully changes in the next # upstream version will render this unnecessary. rm -rf debian/zoneminder/usr/share/zoneminder/events rm -rf debian/zoneminder/usr/share/zoneminder/images rm -rf debian/zoneminder/usr/share/zoneminder/temp - ln -s /var/cache/zoneminder/events debian/zoneminder/usr/share/zoneminder/ - ln -s /var/cache/zoneminder/images debian/zoneminder/usr/share/zoneminder/ - ln -s /var/cache/zoneminder/temp debian/zoneminder/usr/share/zoneminder/ - + dh_link var/cache/zoneminder/events usr/share/zoneminder/events + dh_link var/cache/zoneminder/images usr/share/zoneminder/images + dh_link var/cache/zoneminder/temp usr/share/zoneminder/temp # - # This is a slightly lesser kludge; moving the cgi stuff to + # This is a slightly lesser kludge; moving the cgi stuff to # /usr/share/zoneminder/cgi-bin breaks one set of behavior, - # having it just in /usr/lib/cgi-bin breaks another bit of + # having it just in /usr/lib/cgi-bin breaks another bit of # behavior. # - ln -s /usr/lib/cgi-bin debian/zoneminder/usr/share/zoneminder/ + dh_link usr/lib/cgi-bin usr/share/zoneminder/cgi-bin override_dh_fixperms: dh_fixperms From 7cdaf1a41e880ee62b97c363ddce18a929d76dc1 Mon Sep 17 00:00:00 2001 From: Emmanuel Papin Date: Sat, 13 Dec 2014 17:39:06 +0100 Subject: [PATCH 08/21] Upgrade build dependency to version 9 of debhelper (fix a lintian warning) and fix some typo in control file --- distros/debian/control | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/distros/debian/control b/distros/debian/control index 6832492be..4715d6f24 100644 --- a/distros/debian/control +++ b/distros/debian/control @@ -2,7 +2,7 @@ Source: zoneminder Section: net Priority: optional Maintainer: Isaac Connor -Build-Depends: debhelper (>= 7.0.50), autoconf, automake, quilt, libphp-serialization-perl, libgnutls-dev|libgnutls28-dev, libmysqlclient-dev | libmariadbclient-dev, libdbd-mysql-perl, libdate-manip-perl, libwww-perl, libjpeg8-dev|libjpeg9-dev|libjpeg62-turbo-dev, libpcre3-dev, libavcodec-dev, libavformat-dev (>= 3:0.svn20090204), libswscale-dev (>= 3:0.svn20090204), libavutil-dev, libv4l-dev (>= 0.8.3), libbz2-dev, libtool, libsys-mmap-perl, ffmpeg | libav-tools, libnetpbm10-dev, libavdevice-dev, libdevice-serialport-perl, libarchive-zip-perl, libmime-lite-perl, dh-autoreconf, libvlccore-dev, libvlc-dev, libcurl4-gnutls-dev | libcurl4-nss-dev | libcurl4-openssl-dev, libgcrypt11-dev|libgcrypt20-dev, libpolkit-gobject-1-dev +Build-Depends: debhelper (>= 9), autoconf, automake, quilt, libphp-serialization-perl, libgnutls-dev|libgnutls28-dev, libmysqlclient-dev | libmariadbclient-dev, libdbd-mysql-perl, libdate-manip-perl, libwww-perl, libjpeg8-dev|libjpeg9-dev|libjpeg62-turbo-dev, libpcre3-dev, libavcodec-dev, libavformat-dev (>= 3:0.svn20090204), libswscale-dev (>= 3:0.svn20090204), libavutil-dev, libv4l-dev (>= 0.8.3), libbz2-dev, libtool, libsys-mmap-perl, ffmpeg | libav-tools, libnetpbm10-dev, libavdevice-dev, libdevice-serialport-perl, libarchive-zip-perl, libmime-lite-perl, dh-autoreconf, libvlccore-dev, libvlc-dev, libcurl4-gnutls-dev | libcurl4-nss-dev | libcurl4-openssl-dev, libgcrypt11-dev|libgcrypt20-dev, libpolkit-gobject-1-dev Standards-Version: 3.9.2 Package: zoneminder @@ -10,7 +10,7 @@ Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends}, apache2, libapache2-mod-php5 | libapache2-mod-fcgid, php5, php5-mysql|php5-mysqlnd, libphp-serialization-perl, libdate-manip-perl, libmime-lite-perl, libmime-tools-perl, mariadb-client|mysql-client, libwww-perl, libarchive-tar-perl, libarchive-zip-perl, libdevice-serialport-perl, libpcre3, ffmpeg | libav-tools, rsyslog | system-log-daemon, libmodule-load-perl, libsys-mmap-perl, libjson-any-perl, netpbm, libavdevice53 | libavdevice55, libjpeg8|libjpeg9|libjpeg62-turbo, zip, libnet-sftp-foreign-perl, libio-pty-perl, libexpect-perl, libvlccore5 | libvlccore7 | libvlccore8, libvlc5, libcurl4-gnutls-dev | libcurl4-nss-dev | libcurl4-openssl-dev, libpolkit-gobject-1-0, liburi-encode-perl Recommends: mysql-server|mariadb-server Description: A video camera security and surveillance solution - ZoneMinder is intended for use in single or multi-camera video security + ZoneMinder is intended for use in single or multi-camera video security applications, including commercial or home CCTV, theft prevention and child or family member or home monitoring and other care scenarios. It supports capture, analysis, recording, and monitoring of video data coming @@ -23,12 +23,10 @@ Description: A video camera security and surveillance solution Package: zoneminder-dbg Architecture: any -Depends: - zoneminder (= ${binary:Version}), - ${misc:Depends} +Depends: zoneminder (= ${binary:Version}), ${misc:Depends} Description: debugging syumbols for zoneminder. ZoneMinder is a video camera security and surveillance solution. - ZoneMinder is intended for use in single or multi-camera video security + ZoneMinder is intended for use in single or multi-camera video security applications, including commercial or home CCTV, theft prevention and child or family member or home monitoring and other care scenarios. It supports capture, analysis, recording, and monitoring of video data coming From 655af1d373fb3fe85c6e3b15b11c4b944a9341c6 Mon Sep 17 00:00:00 2001 From: Emmanuel Papin Date: Sat, 13 Dec 2014 17:43:24 +0100 Subject: [PATCH 09/21] Upgrade Standards-Version in control file to fix a lintian warning --- distros/debian/control | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/distros/debian/control b/distros/debian/control index 4715d6f24..87246bb08 100644 --- a/distros/debian/control +++ b/distros/debian/control @@ -3,7 +3,7 @@ Section: net Priority: optional Maintainer: Isaac Connor Build-Depends: debhelper (>= 9), autoconf, automake, quilt, libphp-serialization-perl, libgnutls-dev|libgnutls28-dev, libmysqlclient-dev | libmariadbclient-dev, libdbd-mysql-perl, libdate-manip-perl, libwww-perl, libjpeg8-dev|libjpeg9-dev|libjpeg62-turbo-dev, libpcre3-dev, libavcodec-dev, libavformat-dev (>= 3:0.svn20090204), libswscale-dev (>= 3:0.svn20090204), libavutil-dev, libv4l-dev (>= 0.8.3), libbz2-dev, libtool, libsys-mmap-perl, ffmpeg | libav-tools, libnetpbm10-dev, libavdevice-dev, libdevice-serialport-perl, libarchive-zip-perl, libmime-lite-perl, dh-autoreconf, libvlccore-dev, libvlc-dev, libcurl4-gnutls-dev | libcurl4-nss-dev | libcurl4-openssl-dev, libgcrypt11-dev|libgcrypt20-dev, libpolkit-gobject-1-dev -Standards-Version: 3.9.2 +Standards-Version: 3.9.4 Package: zoneminder Architecture: any From a27e99b104ed752b6622b09bd38581968157126d Mon Sep 17 00:00:00 2001 From: Emmanuel Papin Date: Sat, 13 Dec 2014 17:50:52 +0100 Subject: [PATCH 10/21] Add section 'debug' and priority 'extra' to zoneminder debug package to fix two lintian warnings --- distros/debian/control | 2 ++ 1 file changed, 2 insertions(+) diff --git a/distros/debian/control b/distros/debian/control index 87246bb08..2bf7d6fbc 100644 --- a/distros/debian/control +++ b/distros/debian/control @@ -22,6 +22,8 @@ Description: A video camera security and surveillance solution via X.10 or other protocols. Package: zoneminder-dbg +Section: debug +Priority: extra Architecture: any Depends: zoneminder (= ${binary:Version}), ${misc:Depends} Description: debugging syumbols for zoneminder. From af6941f1ef142b77026dffecbf3f50d8f5d8944a Mon Sep 17 00:00:00 2001 From: Emmanuel Papin Date: Sat, 13 Dec 2014 17:53:53 +0100 Subject: [PATCH 11/21] Fix lintian warning 'description-synopsis-starts-with-article' and more typo in control file --- distros/debian/control | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/distros/debian/control b/distros/debian/control index 2bf7d6fbc..285c2257c 100644 --- a/distros/debian/control +++ b/distros/debian/control @@ -9,7 +9,7 @@ Package: zoneminder Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends}, apache2, libapache2-mod-php5 | libapache2-mod-fcgid, php5, php5-mysql|php5-mysqlnd, libphp-serialization-perl, libdate-manip-perl, libmime-lite-perl, libmime-tools-perl, mariadb-client|mysql-client, libwww-perl, libarchive-tar-perl, libarchive-zip-perl, libdevice-serialport-perl, libpcre3, ffmpeg | libav-tools, rsyslog | system-log-daemon, libmodule-load-perl, libsys-mmap-perl, libjson-any-perl, netpbm, libavdevice53 | libavdevice55, libjpeg8|libjpeg9|libjpeg62-turbo, zip, libnet-sftp-foreign-perl, libio-pty-perl, libexpect-perl, libvlccore5 | libvlccore7 | libvlccore8, libvlc5, libcurl4-gnutls-dev | libcurl4-nss-dev | libcurl4-openssl-dev, libpolkit-gobject-1-0, liburi-encode-perl Recommends: mysql-server|mariadb-server -Description: A video camera security and surveillance solution +Description: Video camera security and surveillance solution ZoneMinder is intended for use in single or multi-camera video security applications, including commercial or home CCTV, theft prevention and child or family member or home monitoring and other care scenarios. It @@ -26,7 +26,7 @@ Section: debug Priority: extra Architecture: any Depends: zoneminder (= ${binary:Version}), ${misc:Depends} -Description: debugging syumbols for zoneminder. +Description: Debugging symbols for zoneminder. ZoneMinder is a video camera security and surveillance solution. ZoneMinder is intended for use in single or multi-camera video security applications, including commercial or home CCTV, theft prevention and child From 10dba9b4c2348a7c4c0f88fc7f0c1c2f3c5c0d7b Mon Sep 17 00:00:00 2001 From: jrd288 Date: Mon, 15 Dec 2014 17:17:03 -0500 Subject: [PATCH 12/21] Offer login instead of error When a user accesses a view but receives an error, and is not logged on, he is offered a login prompt instead. The login prompt saves the original query URL in a hidden field, and postlogin redirects back to the original URL once the user has logged on. If the user is logged in and there is an error, no login prompt is shown. This allows the user to click an event link in an e-mail and then log in before being shown the event, instead of requiring going back through the front ZM page to log in. --- web/index.php | 11 ++++++++++ web/skins/classic/views/js/postlogin.js.php | 23 +++++++++++++++++++++ web/skins/classic/views/login.php | 1 + 3 files changed, 35 insertions(+) create mode 100644 web/skins/classic/views/js/postlogin.js.php diff --git a/web/index.php b/web/index.php index f6ca44ff2..84880d70b 100644 --- a/web/index.php +++ b/web/index.php @@ -142,7 +142,18 @@ else Fatal( "View '$view' does not exist" ); require_once $includeFile; } + // If the view overrides $view to 'error', and the user is not logged in, then the + // issue is probably resolvable by logging in, so provide the opportunity to do so. + // The login view should handle redirecting to the correct location afterward. + if ( $view == 'error' && !isset($user) ) + { + $view = 'login'; + foreach ( getSkinIncludes( 'views/login.php', true, true ) as $includeFile ) + require_once $includeFile; + } } + // If the view is missing or the view still returned error with the user logged in, + // then it is not recoverable. if ( !$includeFiles || $view == 'error' ) { foreach ( getSkinIncludes( 'views/error.php', true, true ) as $includeFile ) diff --git a/web/skins/classic/views/js/postlogin.js.php b/web/skins/classic/views/js/postlogin.js.php new file mode 100644 index 000000000..fea68ec70 --- /dev/null +++ b/web/skins/classic/views/js/postlogin.js.php @@ -0,0 +1,23 @@ + + +( + function () + { + // Append '?(GET query)' to URL if the GET query is not empty. + var querySuffix = ""; + + var newUrl = thisUrl + querySuffix; + window.location.replace(newUrl); + } +).delay( 500 ); diff --git a/web/skins/classic/views/login.php b/web/skins/classic/views/login.php index a322ab663..a7562e5fa 100644 --- a/web/skins/classic/views/login.php +++ b/web/skins/classic/views/login.php @@ -29,6 +29,7 @@ xhtmlHeaders(__FILE__, $SLANG['Login'] );
+ From f4289cd2530d908e54ba0ae7ff58894f1d1b68e8 Mon Sep 17 00:00:00 2001 From: jrd288 Date: Mon, 15 Dec 2014 17:38:18 -0500 Subject: [PATCH 13/21] postlogin.js replaced by postlogin.js.php --- web/skins/classic/views/js/postlogin.js | 1 - 1 file changed, 1 deletion(-) delete mode 100644 web/skins/classic/views/js/postlogin.js diff --git a/web/skins/classic/views/js/postlogin.js b/web/skins/classic/views/js/postlogin.js deleted file mode 100644 index 06033187c..000000000 --- a/web/skins/classic/views/js/postlogin.js +++ /dev/null @@ -1 +0,0 @@ -(function () { window.location.replace( thisUrl ); }).delay( 500 ); From 52d3ec71424dd0da0e84aed8b4efe9d014ea5628 Mon Sep 17 00:00:00 2001 From: jrd288 Date: Mon, 15 Dec 2014 18:11:06 -0500 Subject: [PATCH 14/21] Fixed autotools build to reflect file name change postlogin.js -> postlolgin.js.php --- web/skins/classic/views/js/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/skins/classic/views/js/Makefile.am b/web/skins/classic/views/js/Makefile.am index ba1845e0c..a06927367 100644 --- a/web/skins/classic/views/js/Makefile.am +++ b/web/skins/classic/views/js/Makefile.am @@ -33,7 +33,7 @@ dist_web_DATA = \ montage.js \ montage.js.php \ options.js.php \ - postlogin.js \ + postlogin.js.php \ state.js \ state.js.php \ timeline.js \ From e9e6d84c7bd136435004fc78e4f2cb003fb46ea5 Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Wed, 17 Dec 2014 15:30:20 -0500 Subject: [PATCH 15/21] bump release # --- distros/ubuntu1204/changelog | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/distros/ubuntu1204/changelog b/distros/ubuntu1204/changelog index 994f653b7..8e1a92bcb 100644 --- a/distros/ubuntu1204/changelog +++ b/distros/ubuntu1204/changelog @@ -1,3 +1,9 @@ +zoneminder (1.28.0+1-trusty-SNAPSHOT2014121201) trusty; urgency=medium + + * Merge of security fixes and a few other things. See github for more info. + + -- Isaac Connor Fri, 12 Dec 2014 16:38:36 -0500 + zoneminder (1.28.0+1-utopic-SNAPSHOT2014112001) utopic; urgency=medium * Various fixes and developments since 1.28.0. Includes Digest-Auth for HTTP and better for RTSP From 67fc4c5ea975eb51d950210475acfebf7dfed3ed Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Wed, 17 Dec 2014 15:43:32 -0500 Subject: [PATCH 16/21] update to what has been done in debian --- distros/ubuntu1204/control | 16 ++++++++-------- distros/ubuntu1204/install | 12 ++++++++++++ distros/ubuntu1204/rules | 22 +++++++++------------- 3 files changed, 29 insertions(+), 21 deletions(-) create mode 100644 distros/ubuntu1204/install diff --git a/distros/ubuntu1204/control b/distros/ubuntu1204/control index 9c4dc5995..2ecb8cfe2 100644 --- a/distros/ubuntu1204/control +++ b/distros/ubuntu1204/control @@ -2,14 +2,14 @@ Source: zoneminder Section: net Priority: optional Maintainer: Isaac Connor -Build-Depends: debhelper (>= 7.0.50), autoconf, automake, dpatch, libphp-serialization-perl, libgnutls-dev, libmysqlclient-dev | libmariadbclient-dev, libdbd-mysql-perl, libdate-manip-perl, libwww-perl, libjpeg8-dev, libpcre3-dev, libavcodec-dev, libavformat-dev (>= 3:0.svn20090204), libswscale-dev (>= 3:0.svn20090204), libavutil-dev, libv4l-dev (>= 0.8.3), libbz2-dev, libtool, libsys-mmap-perl, ffmpeg | libav-tools, libnetpbm10-dev, libavdevice-dev, libdevice-serialport-perl, libpcre3, libarchive-zip-perl, libmime-lite-perl, libjpeg8, dh-autoreconf, libvlccore-dev, libvlc-dev, libcurl4-gnutls-dev | libcurl4-nss-dev | libcurl4-openssl-dev, libgcrypt11-dev, libpolkit-gobject-1-dev -Standards-Version: 3.9.2 +Build-Depends: debhelper (>= 9), autoconf, automake, quilt, libphp-serialization-perl, libgnutls-dev, libmysqlclient-dev | libmariadbclient-dev, libdbd-mysql-perl, libdate-manip-perl, libwww-perl, libjpeg8-dev, libpcre3-dev, libavcodec-dev, libavformat-dev (>= 3:0.svn20090204), libswscale-dev (>= 3:0.svn20090204), libavutil-dev, libv4l-dev (>= 0.8.3), libbz2-dev, libtool, libsys-mmap-perl, ffmpeg | libav-tools, libnetpbm10-dev, libavdevice-dev, libdevice-serialport-perl, libpcre3, libarchive-zip-perl, libmime-lite-perl, libjpeg8, dh-autoreconf, libvlccore-dev, libvlc-dev, libcurl4-gnutls-dev | libcurl4-nss-dev | libcurl4-openssl-dev, libgcrypt11-dev, libpolkit-gobject-1-dev +Standards-Version: 3.9.4 Package: zoneminder Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends}, apache2, libapache2-mod-php5 | libapache2-mod-fcgid, php5, php5-mysql|php5-mysqlnd, libphp-serialization-perl, libdate-manip-perl, libmime-lite-perl, libmime-tools-perl, mariadb-client|mysql-client, libwww-perl, libarchive-tar-perl, libarchive-zip-perl, libdevice-serialport-perl, libpcre3, ffmpeg | libav-tools, rsyslog | system-log-daemon, libmodule-load-perl, libsys-mmap-perl, libjson-any-perl, netpbm, libavdevice53 | libavdevice55, libjpeg8, zip, libnet-sftp-foreign-perl, libio-pty-perl, libexpect-perl, libvlccore5 | libvlccore7 | libvlccore8, libvlc5, libcurl4-gnutls-dev | libcurl4-nss-dev | libcurl4-openssl-dev, libpolkit-gobject-1-0, liburi-encode-perl Recommends: mysql-server|mariadb-server -Description: A video camera security and surveillance solution +Description: Video camera security and surveillance solution ZoneMinder is intended for use in single or multi-camera video security applications, including commercial or home CCTV, theft prevention and child or family member or home monitoring and other care scenarios. It @@ -22,13 +22,13 @@ Description: A video camera security and surveillance solution via X.10 or other protocols. Package: zoneminder-dbg +Section: debug +Priority: extra Architecture: any -Depends: - zoneminder (= ${binary:Version}), - ${misc:Depends} -Description: debugging syumbols for zoneminder. +Depends: zoneminder (= ${binary:Version}), ${misc:Depends} +Description: Debugging symbols for zoneminder. ZoneMinder is a video camera security and surveillance solution. - ZoneMinder is intended for use in single or multi-camera video security + ZoneMinder is intended for use in single or multi-camera video security applications, including commercial or home CCTV, theft prevention and child or family member or home monitoring and other care scenarios. It supports capture, analysis, recording, and monitoring of video data coming diff --git a/distros/ubuntu1204/install b/distros/ubuntu1204/install new file mode 100644 index 000000000..4b0009cea --- /dev/null +++ b/distros/ubuntu1204/install @@ -0,0 +1,12 @@ +usr/bin +usr/lib/cgi-bin +usr/share/man +usr/share/perl5/ZoneMinder +usr/share/perl5/ZoneMinder.pm +usr/share/polkit-1/actions +usr/share/polkit-1/rules.d +usr/share/zoneminder +etc/zm +db/zm_create.sql usr/share/zoneminder/db +db/zm_update-*.sql usr/share/zoneminder/db +debian/apache.conf etc/zm diff --git a/distros/ubuntu1204/rules b/distros/ubuntu1204/rules index df11f4988..985fecb61 100755 --- a/distros/ubuntu1204/rules +++ b/distros/ubuntu1204/rules @@ -25,10 +25,10 @@ else endif %: - dh $@ --with autoreconf + dh $@ --with quilt,autoreconf override_dh_auto_configure: - CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" ./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --sysconfdir=/etc/zm --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info --with-mysql=/usr --with-mariadb=/usr --with-webdir=/usr/share/zoneminder --with-ffmpeg=/usr --with-cgidir=/usr/lib/cgi-bin --with-webuser=www-data --with-webgroup=www-data --enable-crashtrace=no --enable-mmap=yes + CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" dh_auto_configure -- --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --sysconfdir=/etc/zm --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info --with-mysql=/usr --with-mariadb=/usr --with-webdir=/usr/share/zoneminder --with-ffmpeg=/usr --with-cgidir=/usr/lib/cgi-bin --with-webuser=www-data --with-webgroup=www-data --enable-crashtrace=no --enable-mmap=yes override_dh_clean: # Add here commands to clean up after the build process. @@ -36,28 +36,24 @@ override_dh_clean: dh_clean override_dh_install: - # Add here commands to install the package into debian/zm. - $(MAKE) install DESTDIR=$(CURDIR)/debian/zoneminder RUNDIR=$(CURDIR)/debian/zoneminder/var/run ZM_RUNDIR=$(CURDIR)/debian/zoneminder/var/run - install -D -m 0644 db/zm_create.sql $(CURDIR)/debian/zoneminder/usr/share/zoneminder/db - install -D -m 0644 db/zm_update-*.sql $(CURDIR)/debian/zoneminder/usr/share/zoneminder/db - install -D -m 0644 debian/apache.conf $(CURDIR)/debian/zoneminder/etc/zm + dh_install --fail-missing # # NOTE: This is a short-term kludge; hopefully changes in the next # upstream version will render this unnecessary. rm -rf debian/zoneminder/usr/share/zoneminder/events rm -rf debian/zoneminder/usr/share/zoneminder/images rm -rf debian/zoneminder/usr/share/zoneminder/temp - ln -s /var/cache/zoneminder/events debian/zoneminder/usr/share/zoneminder/ - ln -s /var/cache/zoneminder/images debian/zoneminder/usr/share/zoneminder/ - ln -s /var/cache/zoneminder/temp debian/zoneminder/usr/share/zoneminder/ + dh_link var/cache/zoneminder/events usr/share/zoneminder/events + dh_link var/cache/zoneminder/images usr/share/zoneminder/images + dh_link var/cache/zoneminder/temp usr/share/zoneminder/temp # - # This is a slightly lesser kludge; moving the cgi stuff to + # This is a slightly lesser kludge; moving the cgi stuff to # /usr/share/zoneminder/cgi-bin breaks one set of behavior, - # having it just in /usr/lib/cgi-bin breaks another bit of + # having it just in /usr/lib/cgi-bin breaks another bit of # behavior. # - ln -s /usr/lib/cgi-bin debian/zoneminder/usr/share/zoneminder/ + dh_link /usr/lib/cgi-bin usr/share/zoneminder/cgi-bin override_dh_fixperms: dh_fixperms From 9b860fb08c06fc0d14e2cef08935bccf6c115678 Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Wed, 17 Dec 2014 16:10:54 -0500 Subject: [PATCH 17/21] libjpeg updates to match debian --- distros/ubuntu1204/control | 4 ++-- distros/ubuntu1204/rules | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/distros/ubuntu1204/control b/distros/ubuntu1204/control index 2ecb8cfe2..0f1c509aa 100644 --- a/distros/ubuntu1204/control +++ b/distros/ubuntu1204/control @@ -2,12 +2,12 @@ Source: zoneminder Section: net Priority: optional Maintainer: Isaac Connor -Build-Depends: debhelper (>= 9), autoconf, automake, quilt, libphp-serialization-perl, libgnutls-dev, libmysqlclient-dev | libmariadbclient-dev, libdbd-mysql-perl, libdate-manip-perl, libwww-perl, libjpeg8-dev, libpcre3-dev, libavcodec-dev, libavformat-dev (>= 3:0.svn20090204), libswscale-dev (>= 3:0.svn20090204), libavutil-dev, libv4l-dev (>= 0.8.3), libbz2-dev, libtool, libsys-mmap-perl, ffmpeg | libav-tools, libnetpbm10-dev, libavdevice-dev, libdevice-serialport-perl, libpcre3, libarchive-zip-perl, libmime-lite-perl, libjpeg8, dh-autoreconf, libvlccore-dev, libvlc-dev, libcurl4-gnutls-dev | libcurl4-nss-dev | libcurl4-openssl-dev, libgcrypt11-dev, libpolkit-gobject-1-dev +Build-Depends: debhelper (>= 9), autoconf, automake, quilt, libphp-serialization-perl, libgnutls-dev, libmysqlclient-dev | libmariadbclient-dev, libdbd-mysql-perl, libdate-manip-perl, libwww-perl, libjpeg8-dev|libjpeg9-dev|libjpeg62-turbo-dev, libpcre3-dev, libavcodec-dev, libavformat-dev (>= 3:0.svn20090204), libswscale-dev (>= 3:0.svn20090204), libavutil-dev, libv4l-dev (>= 0.8.3), libbz2-dev, libtool, libsys-mmap-perl, ffmpeg | libav-tools, libnetpbm10-dev, libavdevice-dev, libdevice-serialport-perl, libpcre3, libarchive-zip-perl, libmime-lite-perl, dh-autoreconf, libvlccore-dev, libvlc-dev, libcurl4-gnutls-dev | libcurl4-nss-dev | libcurl4-openssl-dev, libgcrypt11-dev, libpolkit-gobject-1-dev Standards-Version: 3.9.4 Package: zoneminder Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends}, apache2, libapache2-mod-php5 | libapache2-mod-fcgid, php5, php5-mysql|php5-mysqlnd, libphp-serialization-perl, libdate-manip-perl, libmime-lite-perl, libmime-tools-perl, mariadb-client|mysql-client, libwww-perl, libarchive-tar-perl, libarchive-zip-perl, libdevice-serialport-perl, libpcre3, ffmpeg | libav-tools, rsyslog | system-log-daemon, libmodule-load-perl, libsys-mmap-perl, libjson-any-perl, netpbm, libavdevice53 | libavdevice55, libjpeg8, zip, libnet-sftp-foreign-perl, libio-pty-perl, libexpect-perl, libvlccore5 | libvlccore7 | libvlccore8, libvlc5, libcurl4-gnutls-dev | libcurl4-nss-dev | libcurl4-openssl-dev, libpolkit-gobject-1-0, liburi-encode-perl +Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends}, apache2, libapache2-mod-php5 | libapache2-mod-fcgid, php5, php5-mysql|php5-mysqlnd, libphp-serialization-perl, libdate-manip-perl, libmime-lite-perl, libmime-tools-perl, mariadb-client|mysql-client, libwww-perl, libarchive-tar-perl, libarchive-zip-perl, libdevice-serialport-perl, libpcre3, ffmpeg | libav-tools, rsyslog | system-log-daemon, libmodule-load-perl, libsys-mmap-perl, libjson-any-perl, netpbm, libavdevice53 | libavdevice55, libjpeg8|libjpeg9|libjpeg62-turbo, zip, libnet-sftp-foreign-perl, libio-pty-perl, libexpect-perl, libvlccore5 | libvlccore7 | libvlccore8, libvlc5, libcurl4-gnutls-dev | libcurl4-nss-dev | libcurl4-openssl-dev, libpolkit-gobject-1-0, liburi-encode-perl Recommends: mysql-server|mariadb-server Description: Video camera security and surveillance solution ZoneMinder is intended for use in single or multi-camera video security diff --git a/distros/ubuntu1204/rules b/distros/ubuntu1204/rules index 985fecb61..e25e5514d 100755 --- a/distros/ubuntu1204/rules +++ b/distros/ubuntu1204/rules @@ -53,7 +53,7 @@ override_dh_install: # having it just in /usr/lib/cgi-bin breaks another bit of # behavior. # - dh_link /usr/lib/cgi-bin usr/share/zoneminder/cgi-bin + dh_link usr/lib/cgi-bin usr/share/zoneminder/cgi-bin override_dh_fixperms: dh_fixperms From 5dd1b6a388844e737fab42e7a269ec459761ec41 Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Wed, 17 Dec 2014 16:11:26 -0500 Subject: [PATCH 18/21] this is in debian --- distros/ubuntu1204/links | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 distros/ubuntu1204/links diff --git a/distros/ubuntu1204/links b/distros/ubuntu1204/links new file mode 100644 index 000000000..9715ee428 --- /dev/null +++ b/distros/ubuntu1204/links @@ -0,0 +1,4 @@ +var/cache/zoneminder/events usr/share/zoneminder/events +var/cache/zoneminder/images usr/share/zoneminder/images +var/cache/zoneminder/temp usr/share/zoneminder/temp +usr/lib/cgi-bin usr/share/zoneminder/cgi-bin From b921b6f2547a73678a3445552f5ca28d2f895dd1 Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Wed, 17 Dec 2014 16:23:04 -0500 Subject: [PATCH 19/21] the debian packaging has this, and apparently we need it to build --- distros/ubuntu1204/patches/01_vendor-perl.diff | 17 +++++++++++++++++ distros/ubuntu1204/patches/series | 1 + 2 files changed, 18 insertions(+) create mode 100644 distros/ubuntu1204/patches/01_vendor-perl.diff create mode 100644 distros/ubuntu1204/patches/series diff --git a/distros/ubuntu1204/patches/01_vendor-perl.diff b/distros/ubuntu1204/patches/01_vendor-perl.diff new file mode 100644 index 000000000..a58ef8778 --- /dev/null +++ b/distros/ubuntu1204/patches/01_vendor-perl.diff @@ -0,0 +1,17 @@ +Index: ZoneMinder/configure.ac +=================================================================== +--- ZoneMinder.orig/configure.ac 2014-12-13 15:10:27.705191682 +0100 ++++ ZoneMinder/configure.ac 2014-12-13 16:50:07.101049743 +0100 +@@ -443,10 +443,10 @@ + PERL_SITE_LIB=`perl -V:installsitelib | sed -e "s/.*='\(.*\)';/\1/"` + PERL_LIB_PATH=`echo $PERL_SITE_LIB | sed -e "s|^$PERL_SITE_PREFIX||"` + EXTRA_PERL_LIB="use lib '$prefix$PERL_LIB_PATH'; # Include custom perl install path" +- PERL_MM_PARMS="PREFIX=$prefix" ++ PERL_MM_PARMS="\"PREFIX=$prefix INSTALLDIRS=vendor\"" + else + EXTRA_PERL_LIB="# Include from system perl paths only" +- PERL_MM_PARMS= ++ PERL_MM_PARMS="\"INSTALLDIRS=vendor\"" + fi + AC_SUBST(PERL_MM_PARMS) + AC_SUBST(EXTRA_PERL_LIB) diff --git a/distros/ubuntu1204/patches/series b/distros/ubuntu1204/patches/series new file mode 100644 index 000000000..b479dc507 --- /dev/null +++ b/distros/ubuntu1204/patches/series @@ -0,0 +1 @@ +01_vendor-perl.diff From d7586c2a286c4e7ea78e07633394ad1afd2f20a3 Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Wed, 17 Dec 2014 16:35:30 -0500 Subject: [PATCH 20/21] fix a bare ZM_PATH_BIN which should be $Config{ZM_PATH_BIN} --- scripts/zmtrack.pl.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/zmtrack.pl.in b/scripts/zmtrack.pl.in index 6822f6677..f3a5a0e15 100644 --- a/scripts/zmtrack.pl.in +++ b/scripts/zmtrack.pl.in @@ -141,7 +141,7 @@ sub Track my ( $detaint_x ) = $x =~ /^(\d+)$/; $x = $detaint_x; my ( $detaint_y ) = $y =~ /^(\d+)$/; $y = $detaint_y; - my $ctrlCommand = ZM_PATH_BIN."/zmcontrol.pl -i ".$monitor->{Id}; + my $ctrlCommand = $Config{ZM_PATH_BIN}."/zmcontrol.pl -i ".$monitor->{Id}; $ctrlCommand .= " --command=".($monitor->{CanMoveMap}?"moveMap":"movePseudoMap")." --xcoord=$x --ycoord=$y"; executeShellCommand( $ctrlCommand ); } @@ -150,7 +150,7 @@ sub Return { my $monitor = shift; - my $ctrlCommand = ZM_PATH_BIN."/zmcontrol.pl -i ".$monitor->{Id}; + my $ctrlCommand = $Config{ZM_PATH_BIN}."/zmcontrol.pl -i ".$monitor->{Id}; if ( $monitor->{ReturnLocation} > 0 ) { $ctrlCommand .= " --command=presetGoto --preset=".$monitor->{ReturnLocation}; From 1131809c9273f5a12123465d4c0d3e0f3a170be1 Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Fri, 19 Dec 2014 10:18:27 -0500 Subject: [PATCH 21/21] format duration into HH:MM:SS --- web/skins/classic/views/events.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/skins/classic/views/events.php b/web/skins/classic/views/events.php index cd17a14e6..9c4a5a299 100644 --- a/web/skins/classic/views/events.php +++ b/web/skins/classic/views/events.php @@ -205,7 +205,7 @@ foreach ( $events as $event ) - +