From 4dee84f799815b6e203420f460bdf77be22e83c8 Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Fri, 26 May 2017 13:21:32 -0400 Subject: [PATCH 01/56] More updates from SA (#1895) * merge from SA, includes StorageAreas support * merge from SA. Adds the ability to pass in additional options when connecting * fix options, to remove indexes * remove StorageAreas stuff * put back AutoMessage and AutoVideo logic * fixup docs, cleanup --- distros/debian/apache.conf | 4 +- scripts/ZoneMinder/lib/ZoneMinder/Database.pm | 8 +- scripts/ZoneMinder/lib/ZoneMinder/Filter.pm | 69 ++------ scripts/ZoneMinder/lib/ZoneMinder/Object.pm | 150 ++++++++++++++++++ 4 files changed, 169 insertions(+), 62 deletions(-) create mode 100644 scripts/ZoneMinder/lib/ZoneMinder/Object.pm diff --git a/distros/debian/apache.conf b/distros/debian/apache.conf index 9a5e02690..b0a22c4d8 100644 --- a/distros/debian/apache.conf +++ b/distros/debian/apache.conf @@ -2,7 +2,7 @@ Alias /zm /usr/share/zoneminder/www - Options +ExecCGI + Options -Indexes +ExecCGI AllowOverride All AddHandler fcgid-script .php FCGIWrapper /usr/bin/php5-cgi @@ -12,7 +12,7 @@ Alias /zm /usr/share/zoneminder/www - Options Indexes FollowSymLinks + Options -Indexes +FollowSymLinks DirectoryIndex index.php diff --git a/scripts/ZoneMinder/lib/ZoneMinder/Database.pm b/scripts/ZoneMinder/lib/ZoneMinder/Database.pm index 9e8e041c8..19374543e 100644 --- a/scripts/ZoneMinder/lib/ZoneMinder/Database.pm +++ b/scripts/ZoneMinder/lib/ZoneMinder/Database.pm @@ -75,9 +75,11 @@ sub zmDbConnect { if ( $force ) { zmDbDisconnect(); } - if ( !defined( $dbh ) ) { + my $options = shift; + + if ( ( ! defined( $dbh ) ) or ! $dbh->ping() ) { + my ( $host, $portOrSocket ) = ( $ZoneMinder::Config::Config{ZM_DB_HOST} =~ /^([^:]+)(?::(.+))?$/ ); my $socket; - my ( $host, $portOrSocket ) = ( $Config{ZM_DB_HOST} =~ /^([^:]+)(?::(.+))?$/ ); if ( defined($portOrSocket) ) { if ( $portOrSocket =~ /^\// ) { @@ -89,7 +91,7 @@ sub zmDbConnect { $socket = ";host=".$Config{ZM_DB_HOST}; } $dbh = DBI->connect( "DBI:mysql:database=".$Config{ZM_DB_NAME} - .$socket + .$socket . ($options?';'.join(';', map { $_.'='.$$options{$_} } keys %{$options} ) : '' ) , $Config{ZM_DB_USER} , $Config{ZM_DB_PASS} ); diff --git a/scripts/ZoneMinder/lib/ZoneMinder/Filter.pm b/scripts/ZoneMinder/lib/ZoneMinder/Filter.pm index fe54e5a86..75d0e6ad4 100644 --- a/scripts/ZoneMinder/lib/ZoneMinder/Filter.pm +++ b/scripts/ZoneMinder/lib/ZoneMinder/Filter.pm @@ -28,31 +28,14 @@ use 5.006; use strict; use warnings; -require Exporter; require ZoneMinder::Base; require Date::Manip; -our @ISA = qw(Exporter ZoneMinder::Base); - -# Items to export into callers namespace by default. Note: do not export -# names by default without a very good reason. Use EXPORT_OK instead. -# Do not simply export all your public functions/methods/constants. - -# This allows declaration use ZoneMinder ':all'; -# If you do not need this, moving things directly into @EXPORT or @EXPORT_OK -# will save memory. -our %EXPORT_TAGS = ( - 'functions' => [ qw( - ) ] - ); -push( @{$EXPORT_TAGS{all}}, @{$EXPORT_TAGS{$_}} ) foreach keys %EXPORT_TAGS; - -our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } ); - -our @EXPORT = qw(); - -our $VERSION = $ZoneMinder::Base::VERSION; +use parent qw(ZoneMinder::Object); +use vars qw/ $table $primary_key /; +$table = 'Filters'; +$primary_key = 'Id'; # ========================================================================== # # General Utility Functions @@ -62,40 +45,10 @@ our $VERSION = $ZoneMinder::Base::VERSION; use ZoneMinder::Config qw(:all); use ZoneMinder::Logger qw(:all); use ZoneMinder::Database qw(:all); +require ZoneMinder::Server; use POSIX; -sub new { - my ( $parent, $id, $data ) = @_; - - my $self = {}; - bless $self, $parent; - $$self{dbh} = $ZoneMinder::Database::dbh; -#zmDbConnect(); - if ( ( $$self{Id} = $id ) or $data ) { -#$log->debug("loading $parent $id") if $debug or DEBUG_ALL; - $self->load( $data ); - } - return $self; -} # end sub new - -sub load { - my ( $self, $data ) = @_; - my $type = ref $self; - if ( ! $data ) { -#$log->debug("Object::load Loading from db $type"); - $data = $$self{dbh}->selectrow_hashref( 'SELECT * FROM Filter WHERE Id=?', {}, $$self{Id} ); - if ( ! $data ) { - Error( "Failure to load Filter record for $$self{Id}: Reason: " . $$self{dbh}->errstr ); - } else { - Debug( 3, "Loaded Filter $$self{Id}" ); - } # end if - } # end if ! $data - if ( $data and %$data ) { - @$self{keys %$data} = values %$data; - } # end if -} # end sub load - sub Name { if ( @_ > 1 ) { $_[0]{Name} = $_[1]; @@ -142,7 +95,6 @@ sub find_one { sub Execute { my $self = $_[0]; - my $sql = $self->Sql(); if ( $self->{HasDiskPercent} ) { @@ -158,8 +110,9 @@ sub Execute { $sql =~ s/zmSystemLoad/$load/g; } - my $sth = $$self{dbh}->prepare_cached( $sql ) - or Fatal( "Can't prepare '$sql': ".$$self{dbh}->errstr() ); + Debug("Filter::Execute SQL ($sql)"); + my $sth = $ZoneMinder::Database::dbh->prepare_cached( $sql ) + or Fatal( "Can't prepare '$sql': ".$ZoneMinder::Database::dbh->errstr() ); my $res = $sth->execute(); if ( !$res ) { Error( "Can't execute filter '$sql', ignoring: ".$sth->errstr() ); @@ -171,6 +124,7 @@ sub Execute { push @results, $event; } $sth->finish(); + Debug("Loaded " . @results . " events for filter $_[0]{Name} using query ($sql)"); return @results; } @@ -308,6 +262,8 @@ sub Sql { if ( $self->{AutoArchive} ) { push @auto_terms, "E.Archived = 0"; } + # Don't do this, it prevents re-generation and concatenation. + # If the file already exists, then the video won't be re-recreated if ( $self->{AutoVideo} ) { push @auto_terms, "E.Videoed = 0"; } @@ -359,14 +315,13 @@ sub Sql { if ( $filter_expr->{limit} ) { $sql .= " limit 0,".$filter_expr->{limit}; } - Debug( "SQL:$sql\n" ); $self->{Sql} = $sql; } # end if has Sql return $self->{Sql}; } # end sub Sql sub getDiskPercent { - my $command = "df ."; + my $command = "df " . ($_[0] ? $_[0] : '.'); my $df = qx( $command ); my $space = -1; if ( $df =~ /\s(\d+)%/ms ) { diff --git a/scripts/ZoneMinder/lib/ZoneMinder/Object.pm b/scripts/ZoneMinder/lib/ZoneMinder/Object.pm new file mode 100644 index 000000000..b87e111a6 --- /dev/null +++ b/scripts/ZoneMinder/lib/ZoneMinder/Object.pm @@ -0,0 +1,150 @@ +# ========================================================================== +# +# ZoneMinder Object Module, $Date$, $Revision$ +# Copyright (C) 2001-2017 ZoneMinder LLC +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# ========================================================================== +# +# This module contains the common definitions and functions used by the rest +# of the ZoneMinder scripts +# +package ZoneMinder::Object; + +use 5.006; +use strict; +use warnings; + +require ZoneMinder::Base; + +our @ISA = qw(ZoneMinder::Base); + +# ========================================================================== +# +# General Utility Functions +# +# ========================================================================== + +use ZoneMinder::Config qw(:all); +use ZoneMinder::Logger qw(:all); +use ZoneMinder::Database qw(:all); + +use vars qw/ $AUTOLOAD /; + +sub new { + my ( $parent, $id, $data ) = @_; + + my $self = {}; + bless $self, $parent; + no strict 'refs'; + my $primary_key = ${$parent.'::primary_key'}; + if ( ! $primary_key ) { + Error( 'NO primary_key for type ' . $parent ); + return; + } # end if + if ( ( $$self{$primary_key} = $id ) or $data ) { +#$log->debug("loading $parent $id") if $debug or DEBUG_ALL; + $self->load( $data ); + } + return $self; +} # end sub new + +sub load { + my ( $self, $data ) = @_; + my $type = ref $self; + if ( ! $data ) { + no strict 'refs'; + my $table = ${$type.'::table'}; + if ( ! $table ) { + Error( 'NO table for type ' . $type ); + return; + } # end if + my $primary_key = ${$type.'::primary_key'}; + if ( ! $primary_key ) { + Error( 'NO primary_key for type ' . $type ); + return; + } # end if + + if ( ! $$self{$primary_key} ) { + my ( $caller, undef, $line ) = caller; + Error( (ref $self) . "::load called without $primary_key from $caller:$line"); + } else { +#$log->debug("Object::load Loading from db $type"); + Debug("Loading $type from $table WHERE $primary_key = $$self{$primary_key}"); + $data = $ZoneMinder::Database::dbh->selectrow_hashref( "SELECT * FROM $table WHERE $primary_key=?", {}, $$self{$primary_key} ); + if ( ! $data ) { + if ( $ZoneMinder::Database::dbh->errstr ) { + Error( "Failure to load Object record for $$self{$primary_key}: Reason: " . $ZoneMinder::Database::dbh->errstr ); + } else { + Debug("No Results Loading $type from $table WHERE $primary_key = $$self{$primary_key}"); + } # end if + } # end if + } # end if + } # end if ! $data + if ( $data and %$data ) { + @$self{keys %$data} = values %$data; + } # end if +} # end sub load + +sub AUTOLOAD { + my ( $self, $newvalue ) = @_; + my $type = ref($_[0]); + my $name = $AUTOLOAD; + $name =~ s/.*://; + if ( @_ > 1 ) { + return $_[0]{$name} = $_[1]; + } + return $_[0]{$name}; +} + + +1; +__END__ + +# Below is stub documentation for your module. You'd better edit it! + +=head1 NAME + +ZoneMinder::Object + +=head1 SYNOPSIS + + use parent ZoneMinder::Object; + + This package should likely not be used directly, as it is meant mainly to be a parent for all other ZoneMinder classes. + +=head1 DESCRIPTION + + A base Object to act as parent for other ZoneMinder Objects. + +=head2 EXPORT + +None by default. + +=head1 AUTHOR + +Isaac Connor, Eisaac@zoneminder.comE + +=head1 COPYRIGHT AND LICENSE + +Copyright (C) 2001-2017 ZoneMinder LLC + +This library is free software; you can redistribute it and/or modify +it under the same terms as Perl itself, either Perl version 5.8.3 or, +at your option, any later version of Perl 5 you may have available. + + +=cut From 94151b031826274a0d985188a203696049385692 Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Fri, 26 May 2017 14:30:21 -0400 Subject: [PATCH 02/56] put back changelog --- distros/ubuntu1204/changelog | 573 +++++++++++++++++++++++++++++++++++ 1 file changed, 573 insertions(+) create mode 100644 distros/ubuntu1204/changelog diff --git a/distros/ubuntu1204/changelog b/distros/ubuntu1204/changelog new file mode 100644 index 000000000..c7e86f69d --- /dev/null +++ b/distros/ubuntu1204/changelog @@ -0,0 +1,573 @@ +zoneminder (1.28.1+1-vivid-SNAPSHOT2015081701) vivid; urgency=medium + + * include api, switch to cmake build + + -- Isaac Connor Mon, 17 Aug 2015 10:29:23 -0400 + + +zoneminder (1.28.1-8) unstable; urgency=medium + + * Patchworks: + + New upstream "980-fix-image-size.patch". + + New "default_cgi-path.patch" to correct default ZM_PATH_ZMS. + * postinst: set "root" as group owner for "/var/log/zm" to silence + logrotate warnings. + * Minor correction to README.Debian. + + -- Dmitry Smirnov Sun, 16 Aug 2015 19:19:50 +1000 + +zoneminder (1.28.1-7) unstable; urgency=medium + + * Build-Depends += "cakephp (<< 3.0.0~)"; + Zoneminder is not compatible with latest CakePHP. + * Handle conffile removal from maintscript. + * rules: build man pages reproducibly. + * gbp.conf: renamed old style config section [git-dch] to [dch]. + * README + + added instructions to update owner of the "/etc/zm/zm.conf" + (Closes: #789327). + + zmupdate.pl needs CREATE rights. + + added note about required number of "fcgiwrap" workers. + * New upstream patch: "zmtrigger-plus.patch". + + -- Dmitry Smirnov Mon, 20 Jul 2015 16:30:15 +1000 + +zoneminder (1.28.1-6) unstable; urgency=low + + * New "zoneminder-doc" and "zoneminder-dbg" packages. + + -- Dmitry Smirnov Sun, 19 Apr 2015 14:50:41 +1000 + +zoneminder (1.28.1-5) unstable; urgency=low + + * Move handling of "/var/run/zm" and "/tmp/zm" from .service into .tmpfile. + Let dh_installinit do the job. Thanks, Andrew Bauer. + * Use dh_apache2 to install Apache conf file; remove old conf and symlink. + * Promote "libapache2-mod-php5 | php5-fpm" to Recommends. + * Build-Depends: + + dh-linktree + + cakephp (>= 2.6.3) + + libjs-jquery + + libjs-mootools + * Depends: + - libjs-jquery + - libjs-mootools + * Build-time replace bundled CakePHP with system one using "dh-linktree". + * Use "dh-linktree" to handle mootools and jquery symlinks. + + -- Dmitry Smirnov Sun, 19 Apr 2015 11:45:01 +1000 + +zoneminder (1.28.1-4) unstable; urgency=low + + * New patch to fix HTML export with USE_DEEP_STORAGE (closes: #723706). + * New "783.patch" to describe potential data loss in ZM_USE_DEEP_STORAGE. + * New patch to change default date format to region-neutral ISO notation + with time zone. + * Build sphinx documentation: + + Install "zoneminder.1" man page. + + Build-Depends += "python-sphinx | python3-sphinx" + + Added commented "zoneminder-doc" package. + + Added "docs.patch" to unlink distro-specific installation docs. + * rules: + + set ZM_CONTENTDIR, ZM_SOCKDIR and ZM_TMPDIR. + + remove mistakengly installed Perl module templates. + * Updated startup scripts to create ZM_TMPDIR. + * Hurd improvements: + + New patch to add PATH_MAX definitions. + + Build without MMAP support on Hurd. + + libsys-mmap-perl [!hurd-any]. + + -- Dmitry Smirnov Mon, 06 Apr 2015 18:18:55 +1000 + +zoneminder (1.28.1-3) unstable; urgency=low + + * Updated Apache2 and nginx configuration templates to support CGI. + * Updated README.Debian to document cgi-bin setup. + * Removed "/usr/share/zoneminder/www/cgi-bin" symlink. + * Added "apache2.patch" to correct Apache2 site configuration example. + * control: Suggests += "fcgiwrap". + * rules: added dh_systemd overrides to prevent automatic service + activation and start. + * Added note about manual service activation to README.Debian + (Closes: #781733). + + -- Dmitry Smirnov Thu, 02 Apr 2015 23:20:20 +1100 + +zoneminder (1.28.1-2) unstable; urgency=low + + * Removed word "Linux" from short package description. + * Build-Depends: do not require "libv4l-dev" on Hurd i.e. [!hurd-any]. + * Added run-time Perl Depends: + + libdbd-mysql-perl + + libimage-info-perl + + libmodule-load-conditional-perl + + libnet-sftp-foreign-perl + + liburi-encode-perl + * Prepare for package split: added commented "libzoneminder-perl" + and "zoneminder-dbg" packages to "debian/control". + * rules: do not install worthless ".packlist" file. + * Updated "libv4l1-videodev.h.patch" to fix v4lv1 detection in CMake. + + -- Dmitry Smirnov Thu, 02 Apr 2015 13:25:19 +1100 + +zoneminder (1.28.1-1) unstable; urgency=low + + [ Dmitry Smirnov ] + * New upstream release [February 2015]. + * Upload to unstable. + * Disabled automatic database upgrades: post(inst|rm) scripts no longer + touch database or do unexpected stuff (Closes: #779254). + See README.Debian for details. + * Updated installation paths: + + /usr/share/zoneminder --> /usr/share/zoneminder/www + + /usr/lib/cgi-bin --> /usr/lib/zoneminder/cgi-bin + * Added logrotate config (Closes: #544826). + Thanks, Alberto Reyes. + * Native systemd service; "--with systemd" added to dh. + * Build with CMake instead of autoconf; rules clean-up. + * Build with all hardening. + * Build and install "zmupdate.pl.1" man page. + * Added nginx/php5-fpm configuration example. + * Install upstream "apache.conf" example. + * Described setup of Zoneminer web site and database in README.Debian. + * Install "/etc/zm/zm.conf" with tighter permissions. + * Added TODO.Debian. + * Added "debian/clean"; "debian/gbp.conf"; bug-presubj. + * Remove bundled Cake tests to take ~5 MB off big-usr-share. + * Standards-Version: 3.9.6; compat/debhelper to version 9. + * Vcs links to new git repository at collab-maint. + * Build-Depends: + + dh-systemd + + libgcrypt11-dev --> libgcrypt-dev + + libcurl4-gnutls-dev + + libvlc-dev + + policykit-1 (required by "zmsystemctl.pl") + - dh-autoreconf, autoconf, automake + * Depends: + - apache2 + - libapache2-mod-php5 (moved to Suggests) + - libpcre3 (invalid) + - libmodule-load-perl (obsolete; replaced with perl-modules) + - libarchive-tar-perl (obsolete; replaced with perl-modules) + - mysql-server (moved to Recommends, Closes: #759504). + - php5 + + libav-tools + + libjs-jquery (replaces bundled component) + + libjs-mootool (replaces bundled component) + + libjson-any-perl (Closes: #690803). + + perl-modules (Closes: #745819). + * Recommends: + + apache2 | httpd + + mysql-server | virtual-mysql-server (Closes: #732874). + * Suggests: + + libapache2-mod-php5 | php5-fpm + + logrotate + * Refreshed, renamed and re-ordered patches; added DEP-3 headers. + * Removed "vendor_perl" patch (applied-upstream). + * New patches: + + cmake-fix-confpath.patch + + cmake-gnutls.patch + + cmake-nossl.patch + + cmake.patch + + format-hardening.patch + + pod_man_fixes.patch + + pod_name_fixes.patch + + pod_zmupdate-to-pod2usage.patch + * Lintianisation (incomplete): + - extra-license-file + - init.d-script-missing-lsb-description + - init.d-script-does-not-source-init-functions + - privacy-breach-generic + - package-contains-empty-directory + - manpage-has-errors-from-pod2man + - manpage-has-bad-whatis-entry + - quilt-patch-missing-description + - no-dep5-copyright + * Lintian-overrides: + + unusual-interpreter usr/bin/zmsystemctl.pl #!/usr/bin/pkexec + + script-not-executable usr/share/zoneminder/www/api/* + + script-with-language-extension usr/bin/*.pl + + source-is-missing web/tools/mootools/mootools-*-yc.js + + source-is-missing web/skins/*/js/jquery-1.4.2.min.js + + source-contains-prebuilt-javascript-object + * Renamed files in "debian". + * watch: dfsg repacksuffix and dversionmangle. + * "debian/copyright" to Copyright-Format-1.0. + * Set myself as new Maintainer (Closes: #760314). + + [ Vagrant Cascadian ] + * Removed obsolete DM-Upload-Allowed flag. + * Update debian/watch to use tarballs from github. + * Add Build-Depends on libgcrypt11-dev (Closes: #745819). + * Use canonical alioth Vcs-Hg URL. + * debian/control: Add Build-Depends: libpolkit-gobject-1-dev. + * Removed configure flag "--enable-crashtrace=no", which is no longer + present upstream. + + -- Dmitry Smirnov Tue, 31 Mar 2015 15:11:13 +1100 + +zoneminder (1.26.5-3.1) experimental; urgency=low + + * Non-maintainer upload. + * Add libav10.patch and compile against libav10 (Closes: #739461) + + -- Reinhard Tartler Wed, 19 Mar 2014 00:31:22 +0000 + +zoneminder (1.26.5-3) unstable; urgency=low + + + * Previous release still didn't build on PPC - this has been corrected. + (Closes: #736516) + + -- Peter Howard Tue, 4 Feb 2014 02:02:10 +1000 + +zoneminder (1.26.5-2) unstable; urgency=low + + * Remove dependency on ffmpeg + (Closes: #721161) + + * Builds again on non-x86 target architectures. + + -- Peter Howard Thu, 23 Jan 2014 01:02:10 +1000 + +zoneminder (1.26.5-1) unstable; urgency=low + + * New upstream version + (Closes: #694131) + * Change Build-Depends on libgnutls-dev to libgnutls-openssl-dev + (Closes: #731560) + -- Peter Howard Tue, 17 Dec 2013 01:02:10 +1000 + +zoneminder (1.25.0-4) unstable; urgency=high + + * Add CVE-2013-0232 patch + [SECURITY] CVE-2013-0232: Shell escape commands with untrusted content. + Thanks to James McCoy (Closes: #698910) + Thanks also to Salvatore Bonaccorso + + -- Peter Howard Tue, 12 Jun 2013 12:02:10 +1000 + +zoneminder (1.25.0-3) unstable; urgency=low + + * debian/rules: Export CFLAGS, CPPFLAGS, CXXFLAGS and LDFLAGS, to ensure + hardening build flags are enabled. + + -- Vagrant Cascadian Tue, 28 Aug 2012 12:10:03 -0700 + +zoneminder (1.25.0-2) unstable; urgency=low + + [ Vagrant Cascadian ] + * Add a patch to disable checking for updated versions by default, as + upgrades should happen through package management. + * Use dpkg-buildflags in debian/rules to set default compiler flags. + * Ensure zoneminder is stopped before starting (Closes: #657407). + + [ Peter Howard ] + * Fix postinst to add permission for table creation during upgrade + (Closes: #657407). + + -- Vagrant Cascadian Thu, 23 Aug 2012 12:40:34 -0700 + +zoneminder (1.25.0-1.1) unstable; urgency=low + + * Non-maintainer upload. + * Fix "ftbfs with GCC-4.7": add patch Fix-FTBFS-with-gcc-4.7 from Cyril + Brulebois: fix missing includes. + (Closes: #667428) + + -- gregor herrmann Sun, 13 May 2012 17:02:21 +0200 + +zoneminder (1.25.0-1) unstable; urgency=low + + * Fix typo in libv4l1-videodev.h patch that caused v4l1 support to be + dropped. + * Fail to build if version in postinst doesn't match upstream version. + * Add Build-Depends: libavdevice-dev to fix MPEG streaming (Closes: #515558). + * debian/rules: Convert to using debhelper overrides. + * Set debian/compat to 7. + * Simplify debian/watch file. + * Refresh debian/patches/use_libjs-mootools. + * Refresh debian/patches/libv4l1-videodev.h. + * Remove dependencies on php4 and related packages. + * Remove build-dependencies on libmysqlclient14-dev and + libmysqlclient15-dev. + * Update Build-Depends to use libjpeg-dev instead of libjpeg62-dev + (Closes: #647114). + * Add patch to fix build by testing for C headers rather than C++ headers. + Thanks to Ryan Niebur. (Closes: #654230) + * Add a patch to fix build problems caused by API changes in libav 0.8. + Thanks again to Ryan Niebur. (Closes: #654230) + + -- Vagrant Cascadian Mon, 16 Jan 2012 11:58:05 -0800 + +zoneminder (1.24.4-1) unstable; urgency=low + + [ Peter Howard ] + * Initial release of 1.24.4 (Closes: #634985). + - Fix 32/64-bit type declarations (Closes: #614404). + * Update patches. + + [ Vagrant Cascadian ] + * Add patch to fix FTBFS by using libv4l1-videodev.h from libv4l-dev. + Thanks to Andreas Metzler for reporting the issue. + (Closes: #619813). + * Document adding the www-data user to the video group in README.Debian. + (Closes: #611324) + * Depend on libsys-mmap-perl to enable mapped memory support. + (Closes: #607331) + * Update libjs-mootools patch to use -nc variants (Closes: #635075). + * Depend on javascript-common, to ensure that /javascript is available in + the web server. + * Set the upstream version in postinst at build time. + * Use dh-autoreconf to properly clean up autogenerated files during build. + * Add Vcs-HG to debian/control. + * Add Build-Depends: libv4l-dev, libbz2-dev, dh-autoreconf, libsys-mmap-perl. + + -- Vagrant Cascadian Sun, 24 Jul 2011 16:44:30 +0200 + +zoneminder (1.24.2-9) unstable; urgency=low + + * Apply patch from Ubuntu to fix FTBFS with ffmpeg 0.6: + - Add -D__STDC_CONSTANT_MACROS to CPPFLAGS (closes: 614080). + * Update Standards-Version to 3.9.1, no changes necessary. + + -- Vagrant Cascadian Sun, 20 Feb 2011 23:43:02 -0800 + +zoneminder (1.24.2-8) unstable; urgency=medium + + [ Vagrant Cascadian ] + * Apply patch to fix V4L2 cameras without crop support (closes: #608790). + Thanks to piratebab. + * Add preinst script which aborts if dangerous symlinks exist. + (closes: #608793) + + [ Peter Howard ] + * Added to README.Debian with info about images and events directories. + (closes: #608793) + + -- Vagrant Cascadian Sat, 15 Jan 2011 19:39:26 -0800 + +zoneminder (1.24.2-7) unstable; urgency=medium + + * Do not set ownership of /var/cache/zoneminder when upgrading, which fixes a + regression causing upgrades to take inordinately long with large + installations (closes: #597040). + + -- Vagrant Cascadian Fri, 17 Sep 2010 11:24:41 -0700 + +zoneminder (1.24.2-6) unstable; urgency=low + + * Only remove database on purge. This requires only creating the database if + it doesn't already exist, and upgrading the database only if the database + is an older version (closes: #497107). + + * Do not prompt the user on database upgrades by using the --nointeractive + flag when calling zmupdate.pl from postinst (closes: #595902). + + -- Vagrant Cascadian Fri, 10 Sep 2010 10:06:06 -0700 + +zoneminder (1.24.2-5) unstable; urgency=low + + [ Peter Howard ] + * Add zip dependency + (closes: #494261) + * Add debian/watch file + (closes: #545552) + * Use packaged libjs-mootools + (closes: #585590) + * Miscellaneous cleanups + + [ Vagrant Cascadian ] + * Add vagrant@debian.org as uploader + * Update Standards-Version to 3.9.0, no changes necessary. + + -- Vagrant Cascadian Fri, 23 Jul 2010 18:12:50 -0500 + +zoneminder (1.24.2-4.1) unstable; urgency=low + + * Non-maintainer upload. + * Fix "package removed, processes still running": apply patch to + debian/postinst by Vagrant Cascadian: use invoke-rc.d and run + mysql-related actions only when mysql is running (closes: #583648). + + -- gregor herrmann Thu, 01 Jul 2010 19:47:10 +0200 + +zoneminder (1.24.2-4) unstable; urgency=high + * Update init.d to list mysql dependency + (closes: #583505) + * Change dependency from libmime-perl to libmime-tools-perl + (closes: #585589) + * Problems in changelog format fixed + (closes: #585592) + * Fix debian-rules-ignores-make-clean-error + (closes: #585593) + -- Peter Howard Mon, 14 jun 2010 15:02:10 +1000 + +zoneminder (1.24.2-3) unstable; urgency=high + * Changes symbols to build with libjpeg8 + (closes: #565326, #568327) + * Note: location of all perl files should have been fixed in previous release + (closes: #553096) + -- Peter Howard Mon, 26 apr 2010 15:02:10 +1000 + +zoneminder (1.24.2-2) unstable; urgency=high + + * Remove custom perl parth from zmpkg.pl, fix location of manpages. + (closes: #551746, #553092) + * Fix GCC4.4 bug + (closes: #531717) + * Fix potential bug in postinst script + + -- Peter Howard Sat, 14 Nov 2009 15:02:10 +1000 + +zoneminder (1.24.2-1) unstable; urgency=high + + * Initial release of zoneminder 1.24.2 + -- Peter Howard Fri, 11 Sep 2009 07:02:50 +1000 + +zoneminder (1.24.1-1) unstable; urgency=high + + * Initial release of zoneminder 1.24.1, closing CVE-2008-3882, + CVE-2008-3881, CVE-2008-3880 + (closes: #497640) + * Change syslog dependency to rsyslog. + (closes: #526918) + * Add missing perl dependency. + * Restore patch to disable "check for updates" by default. + * Removed spurious '$' in init script. + (closes: #486064) + * Change permission of zm.conf from 0600 to 0400 for CVE-2008-6755 + (closes: #528252) + -- Peter Howard Sat, 16 May 2009 07:02:50 +1000 + +zoneminder (1.23.3-4) unstable; urgency=high + + * update to get it building with latest unstable. Thanks to waldi@debian.org + (closes: #517569) + -- Peter Howard Thu, 16 Apr 2009 01:02:50 +1000 + +zoneminder (1.23.3-3) unstable; urgency=high + + * ffmpeg confirmed working + (closes: #475145) + * Fix upgrade problem intrudouced in 1.23.3-1 + (closes: #481637) + * Include libmime-lite-perl in dependencies + (closes: #486312) + -- Peter Howard Thu, 18 Sep 2008 01:02:50 +1000 + +zoneminder (1.23.3-2) unstable; urgency=high + + * ffmpeg finally working? + + -- Peter Howard Wed, 13 Aug 2008 01:02:50 +1000 + +zoneminder (1.23.3-1) unstable; urgency=high + + * Initial version for 1.23.3 - security fix. + (closes: #479034) + + -- Peter Howard Wed, 19 Mar 2008 01:02:50 +1000 + +zoneminder (1.23.2-2) unstable; urgency=low + + * Update to init.d + (closes: #468856) + * Add dependency on logging daemon + (closes: #471277) + + -- Peter Howard Wed, 19 Mar 2008 01:02:50 +1000 + +zoneminder (1.23.2-1) unstable; urgency=low + + * Initial version for 1.23.2 + (closes: #464152) + * Zoneminder 1.23.2 upstream includes fix for GCC 4.3 + (closes: #454980) + * Includes ffmpeg patch by Alexander Kushnirenko + + -- Peter Howard Sat, 01 Mar 2008 16:02:50 +1000 + +zoneminder (1.22.3-10) unstable; urgency=low + + * Fix bug introduced in -9 where perl is put under /usr/local + (closes: #457507) + + -- Peter Howard Mon, 24 Dec 2007 16:02:50 +1000 + +zoneminder (1.22.3-9) unstable; urgency=low + + * Starting zoneminder via init script now invokes "zmfix -a" + (closes: #481637) + * Change apache2-mpm-prefork dependency to apache2 + * Temp dir for export under /var/cache/zoneminder (but linked back to + /usr/share/zoneminder for now) + * Redo use of gnutls rather than openssl for md5 hashes + + -- Peter Howard Mon, 10 Dec 2007 16:02:50 +1000 + +zoneminder (1.22.3-8) unstable; urgency=low + + * Build now includes libpcre3 + (closes: #437533) + * "Monitor Presets" patch now applied to package during build. + + -- Peter Howard Sat, 18 Aug 2007 14:35:23 +1000 + +zoneminder (1.22.3-7) unstable; urgency=low + + * Turn off debug trace and crash dump on build + (closes:#414857,#414891) + * Additional perl libraries added in dependencies + (closes:#416291) + * Change preferred PHP version from 4 to 5 + -- Peter Howard Sun, 29 Jul 2007 15:11:13 +1000 + +zoneminder (1.22.3-6) unstable; urgency=low + + * Removed a similar bash only statement from zmpkg.pl + (closes:414882) + + -- Peter Howard Sat, 14 Apr 2007 11:46:56 +1000 + +zoneminder (1.22.3-5) unstable; urgency=low + + * Installs with "phone home" feature turned off by default, and permissions + on /etc/zm/zm.conf fixed (now the 0600 it s hould be) + (closes:415349) + * Removed "stupid bash-ism" on mysqld check in postinst file. + + -- Peter Howard Fri, 6 Apr 2007 15:50:00 +1000 + +zoneminder (1.22.3-4) unstable; urgency=low + + * Put libmysqlclient-15-dev in front of -14-dev so sbuild works + (closes: #414410) + + -- Peter Howard Mon, 12 Mar 2007 11:38:56 +1100 + +zoneminder (1.22.3-3) unstable; urgency=low + + * Clean up of postinstall, postrm ; user "zm" definitely was a mistake + * Also in postinstall: check and start MySQL if it's not running. + * init.d script now checks if zoneminder isn't running and still returns 0 + (which helps uninstalling) + * Addition of php5 dependency options as well as php4. + + -- Peter Howard Mon, 26 Feb 2007 10:40:52 +1100 + +zoneminder (1.22.3-2) unstable; urgency=low + + * Added zmuser in the mysql creation; this should fix the install problem + for people, but needs to be cleaned up (in -3) + + -- Peter Howard Fri, 16 Feb 2007 14:16:03 +1100 + +zoneminder (1.22.3-1) unstable; urgency=low + + * Initial Version. (closes: #248393) + * Patched out use of openssl; uses gnutls instead for MD5 hashes. + * Removed MakeMaker-inserted Perl licensing (with authors permission) in + various scripts; replaced with GPL. + + -- Peter Howard Wed, 7 Feb 2007 14:09:01 +1100 From b23c45c9bcdf0b29910bd4a0845b956ecc6bddbf Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Mon, 29 May 2017 10:00:46 -0400 Subject: [PATCH 03/56] bump version to 1.31.0 --- version | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/version b/version index 593d72103..34aae156b 100644 --- a/version +++ b/version @@ -1 +1 @@ -1.30.4 +1.31.0 From 772df5b41b9d8710e41821484de55ce495070d36 Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Tue, 30 May 2017 10:31:02 -0400 Subject: [PATCH 04/56] add a cast to quiet compiler warning --- src/zma.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/zma.cpp b/src/zma.cpp index 4479b4f78..e59a0e65d 100644 --- a/src/zma.cpp +++ b/src/zma.cpp @@ -163,7 +163,7 @@ int main( int argc, char *argv[] ) if ( analysis_update_delay ) { cur_time = time( 0 ); - if ( ( cur_time - last_analysis_update_time ) > analysis_update_delay ) + if ( (unsigned int)( cur_time - last_analysis_update_time ) > analysis_update_delay ) { analysis_rate = monitor->GetAnalysisRate(); monitor->UpdateAdaptiveSkip(); From fe2155dd1a051872e1ded1560135ec9fa0ada395 Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Tue, 30 May 2017 11:15:00 -0400 Subject: [PATCH 05/56] merges from SA --- web/includes/functions.php | 171 ++++++++++++++++++++++++++++--------- 1 file changed, 132 insertions(+), 39 deletions(-) diff --git a/web/includes/functions.php b/web/includes/functions.php index 06c3f6478..37dd33d91 100644 --- a/web/includes/functions.php +++ b/web/includes/functions.php @@ -27,13 +27,10 @@ if ( version_compare( phpversion(), '4.3.0', '<') ) { } } -require_once( 'logger.php' ); -require_once( 'database.php' ); - function userLogin( $username, $password='', $passwordHashed=false ) { global $user, $cookies; - $sql = 'select * from Users where Enabled = 1'; + $sql = 'SELECT * FROM Users WHERE Enabled = 1'; $sql_values = NULL; if ( ZM_AUTH_TYPE == 'builtin' ) { if ( $passwordHashed ) { @@ -323,9 +320,9 @@ function outputImageStream( $id, $src, $width, $height, $title='' ) { function getImageStream( $id, $src, $width, $height, $title='' ) { if ( canStreamIframe() ) { - return '