Merge branch 'master' into plugin_support_test

Conflicts:
	distros/debian/control
	web/skins/classic/views/js/Makefile.am
This commit is contained in:
Emmanuel Papin 2014-12-21 16:49:25 +01:00
commit cb3b8a901e
22 changed files with 155 additions and 54 deletions

View File

@ -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.

View File

@ -2,14 +2,14 @@ Source: zoneminder
Section: net Section: net
Priority: optional Priority: optional
Maintainer: Isaac Connor <iconnor@connortechnology.com> Maintainer: Isaac Connor <iconnor@connortechnology.com>
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 (>= 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 Package: zoneminder
Architecture: any 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 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 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 ZoneMinder is intended for use in single or multi-camera video security
applications, including commercial or home CCTV, theft prevention and child applications, including commercial or home CCTV, theft prevention and child
or family member or home monitoring and other care scenarios. It or family member or home monitoring and other care scenarios. It
@ -22,9 +22,11 @@ Description: A video camera security and surveillance solution
via X.10 or other protocols. via X.10 or other protocols.
Package: zoneminder-dbg Package: zoneminder-dbg
Section: debug
Priority: extra
Architecture: any Architecture: any
Depends: zoneminder (= ${binary:Version}), ${misc:Depends} 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 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 applications, including commercial or home CCTV, theft prevention and child

View File

@ -3,5 +3,10 @@ usr/lib/cgi-bin
usr/share/man usr/share/man
usr/share/perl5/ZoneMinder usr/share/perl5/ZoneMinder
usr/share/perl5/ZoneMinder.pm usr/share/perl5/ZoneMinder.pm
usr/share/polkit-1/actions
usr/share/polkit-1/rules.d
usr/share/zoneminder usr/share/zoneminder
etc/zm etc/zm
db/zm_create.sql usr/share/zoneminder/db
db/zm_update-*.sql usr/share/zoneminder/db
debian/apache.conf etc/zm

View File

@ -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)

View File

@ -0,0 +1 @@
01_vendor-perl.diff

View File

@ -25,10 +25,10 @@ else
endif endif
%: %:
dh $@ --with autoreconf dh $@ --with quilt,autoreconf
override_dh_auto_configure: 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: override_dh_clean:
# Add here commands to clean up after the build process. # Add here commands to clean up after the build process.
@ -36,28 +36,23 @@ override_dh_clean:
dh_clean dh_clean
override_dh_install: override_dh_install:
# Add here commands to install the package into debian/zm. dh_install --fail-missing
$(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
# #
# NOTE: This is a short-term kludge; hopefully changes in the next # NOTE: This is a short-term kludge; hopefully changes in the next
# upstream version will render this unnecessary. # upstream version will render this unnecessary.
rm -rf debian/zoneminder/usr/share/zoneminder/events rm -rf debian/zoneminder/usr/share/zoneminder/events
rm -rf debian/zoneminder/usr/share/zoneminder/images rm -rf debian/zoneminder/usr/share/zoneminder/images
rm -rf debian/zoneminder/usr/share/zoneminder/temp rm -rf debian/zoneminder/usr/share/zoneminder/temp
ln -s /var/cache/zoneminder/events debian/zoneminder/usr/share/zoneminder/ dh_link var/cache/zoneminder/events usr/share/zoneminder/events
ln -s /var/cache/zoneminder/images debian/zoneminder/usr/share/zoneminder/ dh_link var/cache/zoneminder/images usr/share/zoneminder/images
ln -s /var/cache/zoneminder/temp debian/zoneminder/usr/share/zoneminder/ 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, # /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. # 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: override_dh_fixperms:
dh_fixperms dh_fixperms

View File

@ -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 <iconnor@connortechnology.com> Fri, 12 Dec 2014 16:38:36 -0500
zoneminder (1.28.0+1-utopic-SNAPSHOT2014112001) utopic; urgency=medium 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 * Various fixes and developments since 1.28.0. Includes Digest-Auth for HTTP and better for RTSP

View File

@ -2,14 +2,14 @@ Source: zoneminder
Section: net Section: net
Priority: optional Priority: optional
Maintainer: Isaac Connor <iconnor@connortechnology.com> Maintainer: Isaac Connor <iconnor@connortechnology.com>
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 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.2 Standards-Version: 3.9.4
Package: zoneminder Package: zoneminder
Architecture: any 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 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 ZoneMinder is intended for use in single or multi-camera video security
applications, including commercial or home CCTV, theft prevention and child applications, including commercial or home CCTV, theft prevention and child
or family member or home monitoring and other care scenarios. It or family member or home monitoring and other care scenarios. It
@ -22,11 +22,11 @@ Description: A video camera security and surveillance solution
via X.10 or other protocols. via X.10 or other protocols.
Package: zoneminder-dbg Package: zoneminder-dbg
Section: debug
Priority: extra
Architecture: any Architecture: any
Depends: Depends: zoneminder (= ${binary:Version}), ${misc:Depends}
zoneminder (= ${binary:Version}), Description: Debugging symbols for zoneminder.
${misc:Depends}
Description: debugging syumbols for zoneminder.
ZoneMinder is a video camera security and surveillance solution. 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 applications, including commercial or home CCTV, theft prevention and child

View File

@ -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

4
distros/ubuntu1204/links Normal file
View File

@ -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

View File

@ -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)

View File

@ -0,0 +1 @@
01_vendor-perl.diff

View File

@ -25,10 +25,10 @@ else
endif endif
%: %:
dh $@ --with autoreconf dh $@ --with quilt,autoreconf
override_dh_auto_configure: 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: override_dh_clean:
# Add here commands to clean up after the build process. # Add here commands to clean up after the build process.
@ -36,20 +36,16 @@ override_dh_clean:
dh_clean dh_clean
override_dh_install: override_dh_install:
# Add here commands to install the package into debian/zm. dh_install --fail-missing
$(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
# #
# NOTE: This is a short-term kludge; hopefully changes in the next # NOTE: This is a short-term kludge; hopefully changes in the next
# upstream version will render this unnecessary. # upstream version will render this unnecessary.
rm -rf debian/zoneminder/usr/share/zoneminder/events rm -rf debian/zoneminder/usr/share/zoneminder/events
rm -rf debian/zoneminder/usr/share/zoneminder/images rm -rf debian/zoneminder/usr/share/zoneminder/images
rm -rf debian/zoneminder/usr/share/zoneminder/temp rm -rf debian/zoneminder/usr/share/zoneminder/temp
ln -s /var/cache/zoneminder/events debian/zoneminder/usr/share/zoneminder/ dh_link var/cache/zoneminder/events usr/share/zoneminder/events
ln -s /var/cache/zoneminder/images debian/zoneminder/usr/share/zoneminder/ dh_link var/cache/zoneminder/images usr/share/zoneminder/images
ln -s /var/cache/zoneminder/temp debian/zoneminder/usr/share/zoneminder/ 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
@ -57,7 +53,7 @@ override_dh_install:
# 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. # 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: override_dh_fixperms:
dh_fixperms dh_fixperms

View File

@ -33,7 +33,7 @@ use Getopt::Long;
use POSIX qw/strftime EPIPE/; use POSIX qw/strftime EPIPE/;
use Socket; use Socket;
#use Data::Dumper; #use Data::Dumper;
use Module::Load; use Module::Load::Conditional qw{can_load};;
use constant MAX_CONNECT_DELAY => 10; use constant MAX_CONNECT_DELAY => 10;
use constant MAX_COMMAND_WAIT => 1800; use constant MAX_COMMAND_WAIT => 1800;
@ -129,6 +129,10 @@ if ( !$server_up )
Info( "Starting control server $id/$protocol" ); Info( "Starting control server $id/$protocol" );
close( CLIENT ); close( CLIENT );
if ( ! can_load( modules => { "ZoneMinder::Control::$protocol" => undef } ) ) {
Fatal("Can't load ZoneMinder::Control::$protocol");
}
if ( my $cpid = fork() ) if ( my $cpid = fork() )
{ {
logReinit(); logReinit();
@ -156,8 +160,6 @@ if ( !$server_up )
$0 = $0." --id $id"; $0 = $0." --id $id";
load "ZoneMinder::Control::$protocol";
my $control = "ZoneMinder::Control::$protocol"->new( $id ); my $control = "ZoneMinder::Control::$protocol"->new( $id );
my $control_key = $control->getKey(); my $control_key = $control->getKey();
$control->loadMonitor(); $control->loadMonitor();

View File

@ -141,7 +141,7 @@ sub Track
my ( $detaint_x ) = $x =~ /^(\d+)$/; $x = $detaint_x; my ( $detaint_x ) = $x =~ /^(\d+)$/; $x = $detaint_x;
my ( $detaint_y ) = $y =~ /^(\d+)$/; $y = $detaint_y; 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"; $ctrlCommand .= " --command=".($monitor->{CanMoveMap}?"moveMap":"movePseudoMap")." --xcoord=$x --ycoord=$y";
executeShellCommand( $ctrlCommand ); executeShellCommand( $ctrlCommand );
} }
@ -150,7 +150,7 @@ sub Return
{ {
my $monitor = shift; 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 ) if ( $monitor->{ReturnLocation} > 0 )
{ {
$ctrlCommand .= " --command=presetGoto --preset=".$monitor->{ReturnLocation}; $ctrlCommand .= " --command=presetGoto --preset=".$monitor->{ReturnLocation};

View File

@ -122,6 +122,11 @@ foreach ( getSkinIncludes( 'skin.php' ) as $includeFile )
require_once( 'includes/actions.php' ); 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'] ) ) if ( isset( $_REQUEST['request'] ) )
{ {
foreach ( getSkinIncludes( 'ajax/'.$request.'.php', true, true ) as $includeFile ) foreach ( getSkinIncludes( 'ajax/'.$request.'.php', true, true ) as $includeFile )
@ -142,7 +147,18 @@ else
Fatal( "View '$view' does not exist" ); Fatal( "View '$view' does not exist" );
require_once $includeFile; 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' ) if ( !$includeFiles || $view == 'error' )
{ {
foreach ( getSkinIncludes( 'views/error.php', true, true ) as $includeFile ) foreach ( getSkinIncludes( 'views/error.php', true, true ) as $includeFile )

View File

@ -18,11 +18,6 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
// //
if ( ZM_OPT_USE_AUTH && ! isset($user) ) {
$view = "error";
return;
}
$eventCounts = array( $eventCounts = array(
array( array(
"title" => $SLANG['Events'], "title" => $SLANG['Events'],

View File

@ -205,7 +205,7 @@ foreach ( $events as $event )
<td class="colMonitorName"><?php echo $event['MonitorName'] ?></td> <td class="colMonitorName"><?php echo $event['MonitorName'] ?></td>
<td class="colCause"><?php echo makePopupLink( '?view=eventdetail&amp;eid='.$event['Id'], 'zmEventDetail', 'eventdetail', validHtmlStr($event['Cause']), canEdit( 'Events' ), 'title="'.htmlspecialchars($event['Notes']).'"' ) ?></td> <td class="colCause"><?php echo makePopupLink( '?view=eventdetail&amp;eid='.$event['Id'], 'zmEventDetail', 'eventdetail', validHtmlStr($event['Cause']), canEdit( 'Events' ), 'title="'.htmlspecialchars($event['Notes']).'"' ) ?></td>
<td class="colTime"><?php echo strftime( STRF_FMT_DATETIME_SHORTER, strtotime($event['StartTime']) ) ?></td> <td class="colTime"><?php echo strftime( STRF_FMT_DATETIME_SHORTER, strtotime($event['StartTime']) ) ?></td>
<td class="colDuration"><?php echo $event['Length'] ?></td> <td class="colDuration"><?php echo gmdate("H:i:s", $event['Length'] ) ?></td>
<td class="colFrames"><?php echo makePopupLink( '?view=frames&amp;eid='.$event['Id'], 'zmFrames', 'frames', $event['Frames'] ) ?></td> <td class="colFrames"><?php echo makePopupLink( '?view=frames&amp;eid='.$event['Id'], 'zmFrames', 'frames', $event['Frames'] ) ?></td>
<td class="colAlarmFrames"><?php echo makePopupLink( '?view=frames&amp;eid='.$event['Id'], 'zmFrames', 'frames', $event['AlarmFrames'] ) ?></td> <td class="colAlarmFrames"><?php echo makePopupLink( '?view=frames&amp;eid='.$event['Id'], 'zmFrames', 'frames', $event['AlarmFrames'] ) ?></td>
<td class="colTotScore"><?php echo $event['TotScore'] ?></td> <td class="colTotScore"><?php echo $event['TotScore'] ?></td>

View File

@ -1 +0,0 @@
(function () { window.location.replace( thisUrl ); }).delay( 500 );

View File

@ -0,0 +1,23 @@
<?php
// $thisUrl is the base URL used to access ZoneMinder.
//
// If the user attempts to access a privileged view but is not logged in, then he may
// be given the opportunity to log in via the login view. In that case, the login view
// will save the GET request via the postLoginQuery variable. After logging in, this
// view receives the postLoginQuery via the login form submission, and we can then
// redirect the user to his original intended destination by appending it to the URL.
?>
(
function ()
{
// Append '?(GET query)' to URL if the GET query is not empty.
var querySuffix = "<?php
if (!empty($_POST["postLoginQuery"]))
echo "?".$_POST["postLoginQuery"];
?>";
var newUrl = thisUrl + querySuffix;
window.location.replace(newUrl);
}
).delay( 500 );

View File

@ -29,6 +29,7 @@ xhtmlHeaders(__FILE__, $SLANG['Login'] );
<form name="loginForm" id="loginForm" method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>"> <form name="loginForm" id="loginForm" method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>">
<input type="hidden" name="action" value="login"/> <input type="hidden" name="action" value="login"/>
<input type="hidden" name="view" value="postlogin"/> <input type="hidden" name="view" value="postlogin"/>
<input type="hidden" name="postLoginQuery" value="<?php echo $_SERVER['QUERY_STRING'] ?>">
<table id="loginTable" class="minor" cellspacing="0"> <table id="loginTable" class="minor" cellspacing="0">
<tbody> <tbody>
<tr> <tr>

View File

@ -23,6 +23,10 @@ if ( !canView( 'Stream' ) )
$view = "error"; $view = "error";
return; 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 = ?'; $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'] ) ); $monitor = dbFetchOne( $sql, NULL, array( $_REQUEST['mid'] ) );