From e3d06ca1036336c8bdd98fe4b8a3ccc7f68a6acd Mon Sep 17 00:00:00 2001 From: Pliable Pixels Date: Mon, 2 Nov 2015 16:54:52 -0500 Subject: [PATCH 01/22] added prev/next event ids --- web/api/app/Controller/EventsController.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/web/api/app/Controller/EventsController.php b/web/api/app/Controller/EventsController.php index 1afd3be1f..9c861c040 100644 --- a/web/api/app/Controller/EventsController.php +++ b/web/api/app/Controller/EventsController.php @@ -83,10 +83,14 @@ class EventsController extends AppController { } $options = array('conditions' => array('Event.' . $this->Event->primaryKey => $id)); $event = $this->Event->find('first', $options); + $this->Event->id = $id; + $event_neighbors = $this->Event->find('neighbors'); $path = $configs['ZM_DIR_EVENTS'].'/'.$this->Image->getEventPath($event).'/'; $event['Event']['BasePath'] = $path; + $event['Event']['Next'] = $event_neighbors['next']['Event']['Id']; + $event['Event']['Prev'] = $event_neighbors['prev']['Event']['Id']; $this->set(array( 'event' => $event, From 7cbad44ae4edd56a6e871059fecf1759f03c37dc Mon Sep 17 00:00:00 2001 From: Pliable Pixels Date: Wed, 4 Nov 2015 14:23:28 -0500 Subject: [PATCH 02/22] also return the prev and next events for the same monitor as the current event --- web/api/app/Controller/EventsController.php | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/web/api/app/Controller/EventsController.php b/web/api/app/Controller/EventsController.php index 9c861c040..18de054a8 100644 --- a/web/api/app/Controller/EventsController.php +++ b/web/api/app/Controller/EventsController.php @@ -83,15 +83,23 @@ class EventsController extends AppController { } $options = array('conditions' => array('Event.' . $this->Event->primaryKey => $id)); $event = $this->Event->find('first', $options); + + $path = $configs['ZM_DIR_EVENTS'].'/'.$this->Image->getEventPath($event).'/'; + $event['Event']['BasePath'] = $path; + + # Get the previous and next events for any monitor $this->Event->id = $id; $event_neighbors = $this->Event->find('neighbors'); - - $path = $configs['ZM_DIR_EVENTS'].'/'.$this->Image->getEventPath($event).'/'; - - $event['Event']['BasePath'] = $path; $event['Event']['Next'] = $event_neighbors['next']['Event']['Id']; $event['Event']['Prev'] = $event_neighbors['prev']['Event']['Id']; + # Also get the previous and next events for the same monitor + $event_monitor_neighbors = $this->Event->find('neighbors', array( + 'conditions'=>array('Event.MonitorId'=>$event['Event']['MonitorId']) + )); + $event['Event']['NextOfMonitor'] = $event_monitor_neighbors['next']['Event']['Id']; + $event['Event']['PrevOfMonitor'] = $event_monitor_neighbors['prev']['Event']['Id']; + $this->set(array( 'event' => $event, '_serialize' => array('event') From 477e63a87827b8803cbe66211765fd5913b259f6 Mon Sep 17 00:00:00 2001 From: SteveGilvarry Date: Thu, 5 Nov 2015 17:19:58 +1100 Subject: [PATCH 03/22] Reorder RTSPDescribe to avoid -wreorder warnings --- src/zm_remote_camera_rtsp.cpp | 5 +++-- src/zm_rtsp.h | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/zm_remote_camera_rtsp.cpp b/src/zm_remote_camera_rtsp.cpp index 7e00a5d60..a07d97a8e 100644 --- a/src/zm_remote_camera_rtsp.cpp +++ b/src/zm_remote_camera_rtsp.cpp @@ -30,8 +30,9 @@ RemoteCameraRtsp::RemoteCameraRtsp( int p_id, const std::string &p_method, const std::string &p_host, const std::string &p_port, const std::string &p_path, int p_width, int p_height, bool p_rtsp_describe, int p_colours, int p_brightness, int p_contrast, int p_hue, int p_colour, bool p_capture ) : RemoteCamera( p_id, "rtsp", p_host, p_port, p_path, p_width, p_height, p_colours, p_brightness, p_contrast, p_hue, p_colour, p_capture ), - rtspThread( 0 ), - rtsp_describe( p_rtsp_describe ) + rtsp_describe( p_rtsp_describe ), + rtspThread( 0 ) + { if ( p_method == "rtpUni" ) method = RtspThread::RTP_UNICAST; diff --git a/src/zm_rtsp.h b/src/zm_rtsp.h index f5dcb9552..acd28e651 100644 --- a/src/zm_rtsp.h +++ b/src/zm_rtsp.h @@ -50,12 +50,13 @@ private: private: int mId; - bool mRtspDescribe; + RtspMethod mMethod; std::string mProtocol; std::string mHost; std::string mPort; std::string mPath; + bool mRtspDescribe; std::string mUrl; // Reworked authentication system From 6b994132f153b522767bf6efb3c30aaf553ea717 Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Mon, 9 Nov 2015 12:34:11 -0500 Subject: [PATCH 04/22] grant create,index to zmuser when updating --- distros/debian/postinst | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/distros/debian/postinst b/distros/debian/postinst index d06f9c641..17d308fe4 100644 --- a/distros/debian/postinst +++ b/distros/debian/postinst @@ -15,7 +15,7 @@ if [ "$1" = "configure" ]; then # test if database if already present... if ! $(echo quit | mysql --defaults-file=/etc/mysql/debian.cnf zm > /dev/null 2> /dev/null) ; then cat /usr/share/zoneminder/db/zm_create.sql | mysql --defaults-file=/etc/mysql/debian.cnf - echo 'grant lock tables, alter,select,insert,update,delete on zm.* to 'zmuser'@localhost identified by "zmpass";' | mysql --defaults-file=/etc/mysql/debian.cnf mysql + echo 'grant lock tables, alter,select,insert,update,delete,create,index on zm.* to 'zmuser'@localhost identified by "zmpass";' | mysql --defaults-file=/etc/mysql/debian.cnf mysql fi invoke-rc.d zoneminder stop || true @@ -47,6 +47,8 @@ if [ "$1" = "configure" ]; then chown www-data:www-data -R /var/cache/zoneminder else chown www-data:www-data /var/log/zm + + echo 'grant lock tables, create, index, alter on zm.* to 'zmuser'@localhost identified by "zmpass";' | mysql --defaults-file=/etc/mysq zmupdate.pl fi fi From 82edfc2f1681778db2cd38764969a29b23604ba9 Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Mon, 9 Nov 2015 12:34:24 -0500 Subject: [PATCH 05/22] grant create,index to zmuser when updating --- distros/ubuntu1504_cmake/zoneminder.postinst | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/distros/ubuntu1504_cmake/zoneminder.postinst b/distros/ubuntu1504_cmake/zoneminder.postinst index e7810e468..e85dcf3ff 100644 --- a/distros/ubuntu1504_cmake/zoneminder.postinst +++ b/distros/ubuntu1504_cmake/zoneminder.postinst @@ -8,6 +8,16 @@ if [ "$1" = "configure" ]; then if [ -z "$2" ]; then chown www-data:www-data -R /var/cache/zoneminder fi + + # Do this every time the package is installed or upgraded + # Test for database presence to avoid failure of zmupdate.pl + + # Ensure zoneminder is stopped + deb-systemd-invoke stop zoneminder.service || exit $? + + # Run the ZoneMinder update tool + zmupdate.pl --nointeractive + fi #DEBHELPER# From ac76d224b8d17a8927bfd13e531a3766e8b6fe82 Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Mon, 9 Nov 2015 12:36:23 -0500 Subject: [PATCH 06/22] grant create,index to zmuser when updating --- distros/ubuntu1504_cmake/zoneminder.postinst | 1 + 1 file changed, 1 insertion(+) diff --git a/distros/ubuntu1504_cmake/zoneminder.postinst b/distros/ubuntu1504_cmake/zoneminder.postinst index e85dcf3ff..4d2da7331 100644 --- a/distros/ubuntu1504_cmake/zoneminder.postinst +++ b/distros/ubuntu1504_cmake/zoneminder.postinst @@ -15,6 +15,7 @@ if [ "$1" = "configure" ]; then # Ensure zoneminder is stopped deb-systemd-invoke stop zoneminder.service || exit $? + echo 'grant lock tables, create, index, alter on zm.* to 'zmuser'@localhost identified by "zmpass";' | mysql --defaults-file=/etc/mysql/debian.cnf mysql # Run the ZoneMinder update tool zmupdate.pl --nointeractive From 16274e46bcbbf1c199e4d6f5afe4d2e5823df59d Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Mon, 9 Nov 2015 12:36:26 -0500 Subject: [PATCH 07/22] grant create,index to zmuser when updating --- distros/debian/postinst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/distros/debian/postinst b/distros/debian/postinst index 17d308fe4..42a3bb1dc 100644 --- a/distros/debian/postinst +++ b/distros/debian/postinst @@ -48,7 +48,7 @@ if [ "$1" = "configure" ]; then else chown www-data:www-data /var/log/zm - echo 'grant lock tables, create, index, alter on zm.* to 'zmuser'@localhost identified by "zmpass";' | mysql --defaults-file=/etc/mysq + echo 'grant lock tables, create, index, alter on zm.* to 'zmuser'@localhost identified by "zmpass";' | mysql --defaults-file=/etc/mysql/debian.cnf mysql zmupdate.pl fi fi From d231ac453341d7ddf42953a889c4e3a8a2723e60 Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Tue, 10 Nov 2015 14:46:12 -0500 Subject: [PATCH 08/22] remove comment at end of line --- scripts/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/Makefile.am b/scripts/Makefile.am index 92fddf98d..5eacd8203 100644 --- a/scripts/Makefile.am +++ b/scripts/Makefile.am @@ -57,7 +57,7 @@ EXTRA_DIST = \ ZoneMinder/lib/ZoneMinder/ConfigAdmin.pm \ ZoneMinder/lib/ZoneMinder/ConfigData.pm.in \ ZoneMinder/lib/ZoneMinder/Control.pm \ - ZoneMinder/lib/ZoneMinder/Control \ # Grab all ptz control skips under the Control folder + ZoneMinder/lib/ZoneMinder/Control \ ZoneMinder/lib/ZoneMinder/Trigger/Channel.pm \ ZoneMinder/lib/ZoneMinder/Trigger/Channel/Handle.pm \ ZoneMinder/lib/ZoneMinder/Trigger/Channel/Spawning.pm \ From 5e70146b0e051158e9d762af5d7473d18637a6ea Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Wed, 11 Nov 2015 16:43:57 -0500 Subject: [PATCH 09/22] Monitor->Frames, since we are updating Frames --- db/zm_update-1.28.107.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/db/zm_update-1.28.107.sql b/db/zm_update-1.28.107.sql index 4d4c6432d..76fea0100 100644 --- a/db/zm_update-1.28.107.sql +++ b/db/zm_update-1.28.107.sql @@ -13,7 +13,7 @@ SET @s = (SELECT IF( AND table_schema = DATABASE() AND column_name = 'Id' ) > 0, -"SELECT 'Column ID already exists in Monitors'", +"SELECT 'Column ID already exists in Frames'", "ALTER TABLE `Frames` ADD COLUMN `Id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT FIRST, DROP PRIMARY KEY, ADD PRIMARY KEY(`Id`)" )); From 0ee7b3d7299123f1debcaec083d27eaafe1117a4 Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Wed, 11 Nov 2015 16:54:41 -0500 Subject: [PATCH 10/22] add hostname to Servers table --- db/zm_update-1.28.109.sql | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 db/zm_update-1.28.109.sql diff --git a/db/zm_update-1.28.109.sql b/db/zm_update-1.28.109.sql new file mode 100644 index 000000000..c23927e26 --- /dev/null +++ b/db/zm_update-1.28.109.sql @@ -0,0 +1,21 @@ +-- +-- This updates a 1.28.106 database to 1.28.107 +-- + +-- +-- Update Frame table to have a PrimaryKey of ID, insetad of a Composite Primary Key +-- Used primarially for compatibility with CakePHP +-- +SET @s = (SELECT IF( + (SELECT COUNT(*) + FROM INFORMATION_SCHEMA.COLUMNS + WHERE table_name = 'Servers' + AND table_schema = DATABASE() + AND column_name = 'Hostname' + ) > 0, +"SELECT 'Column Hostname already exists in Servers'", +"ALTER TABLE `Servers` ADD COLUMN `Hostname` TEXT AFTER Name", +)); + +PREPARE stmt FROM @s; +EXECUTE stmt; From a0d4934b848b3efa7c6aa039c37ba8cf7ba6f959 Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Wed, 11 Nov 2015 16:56:28 -0500 Subject: [PATCH 11/22] Have PDO actually throw exceptions on db errors. Prior to this it would have been just failing silently. Also, fix a . to -> in the exception catcher. --- web/includes/database.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/web/includes/database.php b/web/includes/database.php index b849405d9..2d7bfd7a9 100644 --- a/web/includes/database.php +++ b/web/includes/database.php @@ -32,6 +32,7 @@ function dbConnect() try { $dbConn = new PDO( ZM_DB_TYPE . ':host=' . ZM_DB_HOST . ';dbname='.ZM_DB_NAME, ZM_DB_USER, ZM_DB_PASS ); + $dbConn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch(PDOException $ex ) { echo "Unable to connect to ZM db." . $ex->getMessage(); $dbConn = null; @@ -111,7 +112,7 @@ function dbQuery( $sql, $params=NULL ) { $result = $dbConn->query( $sql ); } } catch(PDOException $e) { - Fatal( "SQL-ERR '".$e.getMessage()."', statement was '".$sql."'" ); + Fatal( "SQL-ERR '".$e->getMessage()."', statement was '".$sql."'" ); } return( $result ); } From 551194227d35d7eb300a34fb841c2e6106e42083 Mon Sep 17 00:00:00 2001 From: abishai Date: Sun, 15 Nov 2015 21:40:25 +0000 Subject: [PATCH 12/22] compat for php 5.4 --- web/views/image.php | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/web/views/image.php b/web/views/image.php index 80377599f..de8205f76 100644 --- a/web/views/image.php +++ b/web/views/image.php @@ -40,6 +40,21 @@ if ( !canView( 'Events' ) ) header( 'Content-type: image/jpeg' ); +// Compatibility for PHP 5.4 +if (!function_exists('imagescale')) +{ + function imagescale($image, $new_width, $new_height = -1, $mode = 0) + { + $mode; // Not supported + + $new_height = ($new_height == -1) ? imagesy($image) : $new_height; + $imageNew = imagecreatetruecolor($new_width, $new_height); + imagecopyresampled($imageNew, $image, 0, 0, 0, 0, (int)$new_width, (int)$new_height, imagesx($image), imagesy($image)); + + return $imageNew; + } +} + $errorText = false; if ( empty($_REQUEST['path']) ) { From e00049f17a69eca4a61822244a55782a14954cf3 Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Mon, 16 Nov 2015 09:30:09 -0500 Subject: [PATCH 13/22] change format to native --- distros/ubuntu1204_cmake/source/format | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/distros/ubuntu1204_cmake/source/format b/distros/ubuntu1204_cmake/source/format index 163aaf8d8..89ae9db8f 100644 --- a/distros/ubuntu1204_cmake/source/format +++ b/distros/ubuntu1204_cmake/source/format @@ -1 +1 @@ -3.0 (quilt) +3.0 (native) From f322bde35c75da86b217472eb09e7ea42becf0e5 Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Mon, 16 Nov 2015 11:01:11 -0500 Subject: [PATCH 14/22] increase version to 109 because I at some point pushed a db update script --- CMakeLists.txt | 2 +- configure.ac | 2 +- version | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ea67474d6..c7be1ceec 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,7 +4,7 @@ # cmake_minimum_required (VERSION 2.6) project (zoneminder) -set(zoneminder_VERSION "1.28.108") +set(zoneminder_VERSION "1.28.109") # make API version a minor of ZM version set(zoneminder_API_VERSION "${zoneminder_VERSION}.1") diff --git a/configure.ac b/configure.ac index 436be34cf..b9d4ef2ee 100644 --- a/configure.ac +++ b/configure.ac @@ -3,7 +3,7 @@ # For instructions on building with cmake, please see INSTALL # AC_PREREQ(2.59) -AC_INIT(zm,1.28.108,[http://www.zoneminder.com/forums/ - Please check FAQ first],zoneminder,http://www.zoneminder.com/downloads.html) +AC_INIT(zm,1.28.109,[http://www.zoneminder.com/forums/ - Please check FAQ first],zoneminder,http://www.zoneminder.com/downloads.html) AM_INIT_AUTOMAKE AC_CONFIG_SRCDIR(src/zm.h) AC_CONFIG_HEADERS(config.h) diff --git a/version b/version index ca2c9c84c..a960d2a6d 100644 --- a/version +++ b/version @@ -1 +1 @@ -1.28.108 +1.28.109 From 7f5958d873bc4f00739324f99741031c5a443f64 Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Mon, 16 Nov 2015 11:01:41 -0500 Subject: [PATCH 15/22] remove comma that shouldn't be there --- db/zm_update-1.28.109.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/db/zm_update-1.28.109.sql b/db/zm_update-1.28.109.sql index c23927e26..be6dca9f1 100644 --- a/db/zm_update-1.28.109.sql +++ b/db/zm_update-1.28.109.sql @@ -14,7 +14,7 @@ SET @s = (SELECT IF( AND column_name = 'Hostname' ) > 0, "SELECT 'Column Hostname already exists in Servers'", -"ALTER TABLE `Servers` ADD COLUMN `Hostname` TEXT AFTER Name", +"ALTER TABLE `Servers` ADD COLUMN `Hostname` TEXT AFTER Name" )); PREPARE stmt FROM @s; From 9052274d0d6ce0fbab6a57d50e79baf7a829d37f Mon Sep 17 00:00:00 2001 From: Andy Bauer Date: Tue, 17 Nov 2015 12:20:51 -0600 Subject: [PATCH 16/22] Update rpm documentation to reference index permission --- distros/fedora/README.Fedora | 16 ++++++++-------- distros/redhat/README.CentOS | 12 ++++++------ distros/redhat/README.Centos7 | 16 ++++++++-------- 3 files changed, 22 insertions(+), 22 deletions(-) diff --git a/distros/fedora/README.Fedora b/distros/fedora/README.Fedora index 3043d78fd..94b3c5712 100644 --- a/distros/fedora/README.Fedora +++ b/distros/fedora/README.Fedora @@ -11,9 +11,9 @@ What's New 2. The ZoneMinder config file, zm.conf, has been moved under /etc/zm. -3. The ZoneMinder mysql account now requires "Create" permission. This change - must be done manually before ZoneMinder will run. See the installation steps - below. +3. The ZoneMinder mysql account now requires "create" and "index" permission. + This change must be done manually before ZoneMinder will run. See the + installation steps below. 4. A new permission group called "Groups" has been added. This allows the system administrator to assign "view", "edit", or "none" permission to @@ -46,9 +46,9 @@ New installs mysql -u root -p < /usr/share/zoneminder/db/zm_create.sql mysql -u root -p - mysql> grant select,insert,update,delete,lock tables,alter,create - on zm.* to 'zmuser'@localhost identified by 'zmpass'; - mysql> exit; + mysql> grant select,insert,update,delete,lock tables,alter,create,index + on zm.* to 'zmuser'@localhost identified by 'zmpass'; + mysql> exit; mysqladmin -u root -p reload The database account credentials, zmuser/zmpass, are arbitrary. Set them to @@ -113,8 +113,8 @@ Upgrades Over time, the database account permissions required for normal operation have changed. Verify the zmuser database account has been granted select, - insert, update, delete, lock tables, alter, and create permission to the - ZoneMinder database: + insert, update, delete, lock tables, alter, create, and index permission + to the ZoneMinder database: mysql -u root -p mysql> show grants for zmuser@localhost; diff --git a/distros/redhat/README.CentOS b/distros/redhat/README.CentOS index 05e2cb0ab..39586b7d3 100644 --- a/distros/redhat/README.CentOS +++ b/distros/redhat/README.CentOS @@ -1,9 +1,9 @@ What's New ========== -1. The ZoneMinder mysql account now requires "Create" permission. This change - must be done manually before ZoneMinder will run. See the installation steps - below. +1. The ZoneMinder mysql account now requires "create" and "index" permission. + This change must be done manually before ZoneMinder will run. See the + installation steps below. 2. A new permission group called "Groups" has been added. This allows the system administrator to assign "view", "edit", or "none" permission to @@ -32,7 +32,7 @@ New installs mysql -uroot -p mysql> create database zm; - mysql> grant select,insert,update,delete,lock tables,alter,create + mysql> grant select,insert,update,delete,lock tables,alter,create,index on zm.* to 'zmuser'@localhost identified by 'zmpass'; mysql> exit; mysql -uroot -p < /usr/share/zoneminder/db/zm_create.sql @@ -105,8 +105,8 @@ New installs Over time, the database account permissions required for normal operation have changed. Verify the zmuser database account has been granted select, - insert, update, delete, lock tables, alter, and create permission to the - ZoneMinder database: + insert, update, delete, lock tables, alter, create, and index permission + to the ZoneMinder database: mysql -u root -p mysql> show grants for zmuser@localhost; diff --git a/distros/redhat/README.Centos7 b/distros/redhat/README.Centos7 index 70e98b006..9bf9a8462 100644 --- a/distros/redhat/README.Centos7 +++ b/distros/redhat/README.Centos7 @@ -1,9 +1,9 @@ What's New ========== -1. The ZoneMinder mysql account now requires "Create" permission. This change - must be done manually before ZoneMinder will run. See the installation steps - below. +1. The ZoneMinder mysql account now requires "create" and "index" permission. + This change must be done manually before ZoneMinder will run. See the + installation steps below. 2. A new permission group called "Groups" has been added. This allows the system administrator to assign "view", "edit", or "none" permission to @@ -34,9 +34,9 @@ New installs mysql -u root -p < /usr/share/zoneminder/db/zm_create.sql mysql -u root -p - mysql> grant select,insert,update,delete,lock tables,alter,create - on zm.* to 'zmuser'@localhost identified by 'zmpass'; - mysql> exit; + mysql> grant select,insert,update,delete,lock tables,alter,create,index + on zm.* to 'zmuser'@localhost identified by 'zmpass'; + mysql> exit; mysqladmin -u root -p reload The database account credentials, zmuser/zmpass, are arbitrary. Set them to @@ -100,8 +100,8 @@ Upgrades Over time, the database account permissions required for normal operation have changed. Verify the zmuser database account has been granted select, - insert, update, delete, lock tables, alter, and create permission to the - ZoneMinder database: + insert, update, delete, lock tables, alter, create, and index permission + to the ZoneMinder database: mysql -u root -p mysql> show grants for zmuser@localhost; From 37b041b561371f04ee5019dffbde72fbe1fbe42a Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Fri, 20 Nov 2015 16:00:57 -0500 Subject: [PATCH 17/22] add index to recommended default permissions on zmuser --- distros/ubuntu1504_cmake/README.Debian | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/distros/ubuntu1504_cmake/README.Debian b/distros/ubuntu1504_cmake/README.Debian index 2ba809fe4..8182e0678 100644 --- a/distros/ubuntu1504_cmake/README.Debian +++ b/distros/ubuntu1504_cmake/README.Debian @@ -8,7 +8,7 @@ Initializing database OR cat /usr/share/zoneminder/db/zm_create.sql | sudo mysql --defaults-file=/etc/mysql/debian.cnf - echo 'grant lock tables,alter,create,select,insert,update,delete on zm.* to 'zmuser'@localhost identified by "zmpass";'\ + echo 'grant lock tables,alter,create,index,select,insert,update,delete on zm.* to 'zmuser'@localhost identified by "zmpass";'\ | sudo mysql --defaults-file=/etc/mysql/debian.cnf mysql Hint: generate secure password with `pwgen` and update "/etc/zm/zm.conf" From a9609d2a438a8f5eb5539da9167c4160af8807a6 Mon Sep 17 00:00:00 2001 From: Andrew Bauer Date: Sat, 21 Nov 2015 12:17:23 -0600 Subject: [PATCH 18/22] fix mem alloc fault in zm_monitor.cpp --- src/zm_monitor.cpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/zm_monitor.cpp b/src/zm_monitor.cpp index ca14b5373..753a3dd62 100644 --- a/src/zm_monitor.cpp +++ b/src/zm_monitor.cpp @@ -4196,21 +4196,24 @@ void MonitorStream::runStream() char *swap_path = 0; bool buffered_playback = false; + + // 15 is the max length for the swap path suffix, /zmswap-whatever, assuming max 6 digits for monitor id + const int max_swap_len_suffix = 15; + int swap_path_length = strlen(config.path_swap)+1; // +1 for NULL terminator if ( connkey && playback_buffer > 0 ) { - if ( swap_path_length + 15 > PATH_MAX ) { - // 15 is for /zmswap-whatever, assuming max 6 digits for monitor id - Error( "Swap Path is too long. %d > %d ", swap_path_length+15, PATH_MAX ); + if ( swap_path_length + max_swap_len_suffix > PATH_MAX ) { + Error( "Swap Path is too long. %d > %d ", swap_path_length+max_swap_len_suffix, PATH_MAX ); } else { - swap_path = (char *)malloc( swap_path_length+15 ); + swap_path = (char *)malloc( swap_path_length+max_swap_len_suffix ); Debug( 3, "Checking swap image path %s", config.path_swap ); strncpy( swap_path, config.path_swap, swap_path_length ); if ( checkSwapPath( swap_path, false ) ) { - snprintf( &(swap_path[swap_path_length]), sizeof(swap_path)-swap_path_length, "/zmswap-m%d", monitor->Id() ); + snprintf( &(swap_path[swap_path_length]), max_swap_len_suffix, "/zmswap-m%d", monitor->Id() ); if ( checkSwapPath( swap_path, true ) ) { - snprintf( &(swap_path[swap_path_length]), sizeof(swap_path)-swap_path_length, "/zmswap-q%06d", connkey ); + snprintf( &(swap_path[swap_path_length]), max_swap_len_suffix, "/zmswap-q%06d", connkey ); if ( checkSwapPath( swap_path, true ) ) { buffered_playback = true; } From e65f91d404d19616be5b906910f1494caa2326be Mon Sep 17 00:00:00 2001 From: Andy Bauer Date: Sat, 21 Nov 2015 15:18:43 -0600 Subject: [PATCH 19/22] update rpm documentation --- distros/fedora/README.Fedora | 23 ++++++++++++++++------- distros/redhat/README.CentOS | 23 ++++++++++++++++------- distros/redhat/README.Centos7 | 23 ++++++++++++++++------- 3 files changed, 48 insertions(+), 21 deletions(-) diff --git a/distros/fedora/README.Fedora b/distros/fedora/README.Fedora index 94b3c5712..85088d868 100644 --- a/distros/fedora/README.Fedora +++ b/distros/fedora/README.Fedora @@ -11,9 +11,9 @@ What's New 2. The ZoneMinder config file, zm.conf, has been moved under /etc/zm. -3. The ZoneMinder mysql account now requires "create" and "index" permission. - This change must be done manually before ZoneMinder will run. See the - installation steps below. +3. Due to the active state of the ZoneMinder project, we now recommend granting + ALL permission to the ZoneMinder mysql account. This change must be done + manually before ZoneMinder will run. See the installation steps below. 4. A new permission group called "Groups" has been added. This allows the system administrator to assign "view", "edit", or "none" permission to @@ -46,7 +46,7 @@ New installs mysql -u root -p < /usr/share/zoneminder/db/zm_create.sql mysql -u root -p - mysql> grant select,insert,update,delete,lock tables,alter,create,index + mysql> grant all on zm.* to 'zmuser'@localhost identified by 'zmpass'; mysql> exit; mysqladmin -u root -p reload @@ -59,6 +59,11 @@ New installs Change ZM_DB_USER and ZM_DB_PASS to the values you created in the previous step. + Additionally, you must also edit + /usr/share/zoneminder/www/api/app/Config/database.php in a similar manner. + Scroll down and change login and password to the values you created in the + previous step. + 4. Edit /etc/php.ini, uncomment the date.timezone line, and add your local timezone. PHP will complain loudly if this is not set, or if it is set incorrectly, and these complaints will show up in the zoneminder logging @@ -109,12 +114,16 @@ Upgrades Compare /etc/zm/zm.conf to /etc/zm/zm.conf.rpmnew. Verify that zm.conf contains any new config settings that may be in zm.conf.rpmnew. + Additionally, you must also edit + /usr/share/zoneminder/www/api/app/Config/database.php in a similar manner. + Scroll down and change login and password to the values you used + previsouly. + 2. Verify permissions of the zmuser account. Over time, the database account permissions required for normal operation - have changed. Verify the zmuser database account has been granted select, - insert, update, delete, lock tables, alter, create, and index permission - to the ZoneMinder database: + have increased. Verify the zmuser database account has been granted all + permission to the ZoneMinder database: mysql -u root -p mysql> show grants for zmuser@localhost; diff --git a/distros/redhat/README.CentOS b/distros/redhat/README.CentOS index 39586b7d3..e6e53bbc6 100644 --- a/distros/redhat/README.CentOS +++ b/distros/redhat/README.CentOS @@ -1,9 +1,9 @@ What's New ========== -1. The ZoneMinder mysql account now requires "create" and "index" permission. - This change must be done manually before ZoneMinder will run. See the - installation steps below. +1. Due to the active state of the ZoneMinder project, we now recommend granting + ALL permission to the ZoneMinder mysql account. This change must be done + manually before ZoneMinder will run. See the installation steps below. 2. A new permission group called "Groups" has been added. This allows the system administrator to assign "view", "edit", or "none" permission to @@ -32,7 +32,7 @@ New installs mysql -uroot -p mysql> create database zm; - mysql> grant select,insert,update,delete,lock tables,alter,create,index + mysql> grant all on zm.* to 'zmuser'@localhost identified by 'zmpass'; mysql> exit; mysql -uroot -p < /usr/share/zoneminder/db/zm_create.sql @@ -45,6 +45,11 @@ New installs other than zmuser/zmpass then you must now edit /etc/zm.conf. Change ZM_DB_USER and ZM_DB_PASS to the values you created in step 2. + Additionally, you must also edit + /usr/share/zoneminder/www/api/app/Config/database.php in a similar manner. + Scroll down and change login and password to the values you created in the + previous step. + 4. Edit /etc/php.ini, uncomment the date.timezone line, and add your local timezone. PHP will complain loudly if this is not set, or if it is set incorrectly, and these complaints will show up in the zoneminder logging @@ -101,12 +106,16 @@ New installs Compare /etc/zm.conf to /etc/zm.conf.rpmnew. Verify that zm.conf contains any new config settings that may be in zm.conf.rpmnew. + Additionally, you must also edit + /usr/share/zoneminder/www/api/app/Config/database.php in a similar manner. + Scroll down and change login and password to the values you used + previsouly. + 2. Verify permissions of the zmuser account. Over time, the database account permissions required for normal operation - have changed. Verify the zmuser database account has been granted select, - insert, update, delete, lock tables, alter, create, and index permission - to the ZoneMinder database: + have increased. Verify the zmuser database account has been granted all + permission to the ZoneMinder database: mysql -u root -p mysql> show grants for zmuser@localhost; diff --git a/distros/redhat/README.Centos7 b/distros/redhat/README.Centos7 index 9bf9a8462..451f4290b 100644 --- a/distros/redhat/README.Centos7 +++ b/distros/redhat/README.Centos7 @@ -1,9 +1,9 @@ What's New ========== -1. The ZoneMinder mysql account now requires "create" and "index" permission. - This change must be done manually before ZoneMinder will run. See the - installation steps below. +1. Due to the active state of the ZoneMinder project, we now recommend granting + ALL permission to the ZoneMinder mysql account. This change must be done + manually before ZoneMinder will run. See the installation steps below. 2. A new permission group called "Groups" has been added. This allows the system administrator to assign "view", "edit", or "none" permission to @@ -34,7 +34,7 @@ New installs mysql -u root -p < /usr/share/zoneminder/db/zm_create.sql mysql -u root -p - mysql> grant select,insert,update,delete,lock tables,alter,create,index + mysql> grant all on zm.* to 'zmuser'@localhost identified by 'zmpass'; mysql> exit; mysqladmin -u root -p reload @@ -47,6 +47,11 @@ New installs Change ZM_DB_USER and ZM_DB_PASS to the values you created in the previous step. + Additionally, you must also edit + /usr/share/zoneminder/www/api/app/Config/database.php in a similar manner. + Scroll down and change login and password to the values you created in the + previous step. + 4. Edit /etc/php.ini, uncomment the date.timezone line, and add your local timezone. PHP will complain loudly if this is not set, or if it is set incorrectly, and these complaints will show up in the zoneminder logging @@ -96,12 +101,16 @@ Upgrades Compare /etc/zm/zm.conf to /etc/zm/zm.conf.rpmnew. Verify that zm.conf contains any new config settings that may be in zm.conf.rpmnew. + Additionally, you must also edit + /usr/share/zoneminder/www/api/app/Config/database.php in a similar manner. + Scroll down and change login and password to the values you used + previsouly. + 2. Verify permissions of the zmuser account. Over time, the database account permissions required for normal operation - have changed. Verify the zmuser database account has been granted select, - insert, update, delete, lock tables, alter, create, and index permission - to the ZoneMinder database: + have increased. Verify the zmuser database account has been granted all + permission to the ZoneMinder database: mysql -u root -p mysql> show grants for zmuser@localhost; From cbfdc5d88d49f8dd0d9b9f25fc009b964de041d6 Mon Sep 17 00:00:00 2001 From: Andy Bauer Date: Sat, 21 Nov 2015 15:23:13 -0600 Subject: [PATCH 20/22] rpm packaging updates --- CMakeLists.txt | 8 +- .../fedora/{ => archive}/zoneminder.f21.spec | 0 distros/fedora/zoneminder.f23.spec | 412 ++++++++++++++++++ 3 files changed, 416 insertions(+), 4 deletions(-) rename distros/fedora/{ => archive}/zoneminder.f21.spec (100%) create mode 100644 distros/fedora/zoneminder.f23.spec diff --git a/CMakeLists.txt b/CMakeLists.txt index c7be1ceec..cf9337809 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -144,7 +144,7 @@ set(ZM_TARGET_DISTRO "" CACHE STRING "Build ZoneMinder for a specific distribution. Currently, valid names are: f21, f22, el6, el7, OS13") # Reassign some variables if a target distro has been specified -if((ZM_TARGET_DISTRO STREQUAL "f21") OR (ZM_TARGET_DISTRO STREQUAL "f22")) +if((ZM_TARGET_DISTRO STREQUAL "f22") OR (ZM_TARGET_DISTRO STREQUAL "f23")) set(ZM_RUNDIR "/var/run/zoneminder") set(ZM_SOCKDIR "/var/lib/zoneminder/sock") set(ZM_TMPDIR "/var/lib/zoneminder/temp") @@ -176,7 +176,7 @@ elseif(ZM_TARGET_DISTRO STREQUAL "OS13") set(ZM_WEB_GROUP "www") set(ZM_WEBDIR "/srv/www/htdocs/zoneminder") set(ZM_CGIDIR "/srv/www/cgi-bin") -endif((ZM_TARGET_DISTRO STREQUAL "f21") OR (ZM_TARGET_DISTRO STREQUAL "f22")) +endif((ZM_TARGET_DISTRO STREQUAL "f22") OR (ZM_TARGET_DISTRO STREQUAL "f23")) # Required for certain checks to work set(CMAKE_EXTRA_INCLUDE_FILES @@ -691,13 +691,13 @@ if(ZM_ONVIF) endif(ZM_ONVIF) # Process distro subdirectories -if((ZM_TARGET_DISTRO STREQUAL "f21") OR (ZM_TARGET_DISTRO STREQUAL "f22")) +if((ZM_TARGET_DISTRO STREQUAL "f22") OR (ZM_TARGET_DISTRO STREQUAL "f23")) add_subdirectory(distros/fedora) elseif((ZM_TARGET_DISTRO STREQUAL "el6") OR (ZM_TARGET_DISTRO STREQUAL "el7")) add_subdirectory(distros/redhat) elseif(ZM_TARGET_DISTRO STREQUAL "OS13") add_subdirectory(distros/opensuse) -endif((ZM_TARGET_DISTRO STREQUAL "f21") OR (ZM_TARGET_DISTRO STREQUAL "f22")) +endif((ZM_TARGET_DISTRO STREQUAL "f22") OR (ZM_TARGET_DISTRO STREQUAL "f23")) # Print optional libraries detection status message(STATUS "Optional libraries found:${optlibsfound}") diff --git a/distros/fedora/zoneminder.f21.spec b/distros/fedora/archive/zoneminder.f21.spec similarity index 100% rename from distros/fedora/zoneminder.f21.spec rename to distros/fedora/archive/zoneminder.f21.spec diff --git a/distros/fedora/zoneminder.f23.spec b/distros/fedora/zoneminder.f23.spec new file mode 100644 index 000000000..97f0e73ac --- /dev/null +++ b/distros/fedora/zoneminder.f23.spec @@ -0,0 +1,412 @@ +%define zmuid $(id -un) +%define zmgid $(id -gn) +%define zmuid_final apache +%define zmgid_final apache + +%global _hardened_build 1 + +### Delete the lines below to build with ffmpeg and/or x10 +%define _without_ffmpeg 1 +%define _without_x10 1 + +Name: zoneminder +Version: 1.29.0 +Release: 1%{?dist} +Summary: A camera monitoring and analysis tool +Group: System Environment/Daemons +# jscalendar is LGPL (any version): http://www.dynarch.com/projects/calendar/ +# Mootools is inder the MIT license: http://mootools.net/ +License: GPLv2+ and LGPLv2+ and MIT +URL: http://www.zoneminder.com/ + +#Source: https://github.com/ZoneMinder/ZoneMinder/archive/v%{version}.tar.gz +Source: ZoneMinder-%{version}.tar.gz + +BuildRequires: cmake gnutls-devel systemd-units bzip2-devel +BuildRequires: mariadb-devel pcre-devel libjpeg-turbo-devel +BuildRequires: perl(Archive::Tar) perl(Archive::Zip) perl-podlators +BuildRequires: perl(Date::Manip) perl(DBD::mysql) +BuildRequires: perl(ExtUtils::MakeMaker) perl(LWP::UserAgent) +BuildRequires: perl(MIME::Entity) perl(MIME::Lite) +BuildRequires: perl(PHP::Serialization) perl(Sys::Mmap) +BuildRequires: perl(Time::HiRes) perl(Net::SFTP::Foreign) +BuildRequires: perl(Expect) perl(Sys::Syslog) +BuildRequires: gcc gcc-c++ vlc-devel libcurl-devel libv4l-devel +%{!?_without_ffmpeg:BuildRequires: ffmpeg-devel} +%{!?_without_x10:BuildRequires: perl(X10::ActiveHome) perl(Astro::SunTime)} +# cmake needs the following installed at build time due to the way it auto-detects certain parameters +BuildRequires: httpd polkit-devel +%{!?_without_ffmpeg:BuildRequires: ffmpeg} + +Requires: httpd php php-gd php-mysql cambozola polkit net-tools psmisc +Requires: libjpeg-turbo vlc-core libcurl +Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) +Requires: perl(DBD::mysql) perl(Archive::Tar) perl(Archive::Zip) +Requires: perl(MIME::Entity) perl(MIME::Lite) perl(Net::SMTP) perl(Net::FTP) +Requires: perl(LWP::Protocol::https) +%{!?_without_ffmpeg:Requires: ffmpeg} + +Requires(post): systemd-units systemd-sysv +Requires(post): /usr/bin/gpasswd +Requires(post): /usr/bin/less +Requires(preun): systemd-units +Requires(postun): systemd-units + +%description +ZoneMinder is a set of applications which is intended to provide a complete +solution allowing you to capture, analyse, record and monitor any cameras you +have attached to a Linux based machine. It is designed to run on kernels which +support the Video For Linux (V4L) interface and has been tested with cameras +attached to BTTV cards, various USB cameras and IP network cameras. It is +designed to support as many cameras as you can attach to your computer without +too much degradation of performance. + +%prep +%setup -q -n ZoneMinder-%{version} + +# Change the following default values +./utils/zmeditconfigdata.sh ZM_PATH_ZMS /cgi-bin/zm/nph-zms +./utils/zmeditconfigdata.sh ZM_OPT_CAMBOZOLA yes +./utils/zmeditconfigdata.sh ZM_PATH_SWAP /dev/shm +./utils/zmeditconfigdata.sh ZM_UPLOAD_FTP_LOC_DIR /var/spool/zoneminder-upload +./utils/zmeditconfigdata.sh ZM_OPT_CONTROL yes +./utils/zmeditconfigdata.sh ZM_CHECK_FOR_UPDATES no +./utils/zmeditconfigdata.sh ZM_DYN_SHOW_DONATE_REMINDER no + +%build +%cmake \ + -DZM_TARGET_DISTRO="f23" \ +%{?_without_ffmpeg:-DZM_NO_FFMPEG=ON} \ +%{?_without_x10:-DZM_NO_X10=ON} \ + . + +make %{?_smp_mflags} + +%install +export DESTDIR=%{buildroot} +make install + +%post +if [ $1 -eq 1 ] ; then + # Initial installation + /bin/systemctl daemon-reload >/dev/null 2>&1 || : +fi + +# Allow zoneminder access to local video sources, serial ports, and x10 +/usr/bin/gpasswd -a %{zmuid_final} video +/usr/bin/gpasswd -a %{zmuid_final} dialout + +# Upgrade from a previous version of zoneminder +if [ $1 -eq 2 ] ; then + # Freshen the database + /usr/bin/zmupdate.pl -f + + # We can't run this automatically when new sql account permissions need to + # be manually added first + # Run zmupdate non-interactively + #/usr/bin/zmupdate.pl --nointeractive +fi + +# Warn the end user to read the README file +echo -e "\nVERY IMPORTANT: Before starting ZoneMinder, read README.Fedora to finish the\ninstallation or upgrade!\n" +echo -e "\nThe README file is located here: %{_docdir}/%{name}\n" + +%preun +if [ $1 -eq 0 ] ; then + # Package removal, not upgrade + /bin/systemctl --no-reload disable zoneminder.service > /dev/null 2>&1 || : + /bin/systemctl stop zoneminder.service > /dev/null 2>&1 || : +fi + +%postun +/bin/systemctl daemon-reload >/dev/null 2>&1 || : +if [ $1 -ge 1 ] ; then + # Package upgrade, not uninstall + /bin/systemctl try-restart zoneminder.service >/dev/null 2>&1 || : +fi + +%triggerun -- zoneminder < 1.25.0-4 +# Save the current service runlevel info +# User must manually run systemd-sysv-convert --apply zoneminder +# to migrate them to systemd targets +/usr/bin/systemd-sysv-convert --save zoneminder >/dev/null 2>&1 ||: + +# Run these because the SysV package being removed won't do them +/sbin/chkconfig --del zoneminder >/dev/null 2>&1 || : +/bin/systemctl try-restart zoneminder.service >/dev/null 2>&1 || : + + +%files +%defattr(-,root,root,-) +%doc AUTHORS COPYING README.md distros/fedora/README.Fedora distros/fedora/jscalendar-doc +%config %attr(640,root,%{zmgid_final}) /etc/zm/zm.conf +%config(noreplace) %attr(644,root,root) /etc/httpd/conf.d/zoneminder.conf +%config(noreplace) /etc/tmpfiles.d/zoneminder.conf +%config(noreplace) /etc/logrotate.d/zoneminder + +%{_unitdir}/zoneminder.service + +%{_bindir}/zma +%{_bindir}/zmaudit.pl +%{_bindir}/zmc +%{_bindir}/zmcontrol.pl +%{_bindir}/zmdc.pl +%{_bindir}/zmf +%{_bindir}/zmfilter.pl +%{_bindir}/zmpkg.pl +%{_bindir}/zmstreamer +%{_bindir}/zmtrack.pl +%{_bindir}/zmtrigger.pl +%{_bindir}/zmu +%{_bindir}/zmupdate.pl +%{_bindir}/zmvideo.pl +%{_bindir}/zmwatch.pl +%{_bindir}/zmcamtool.pl +%{_bindir}/zmsystemctl.pl +%{!?_without_x10:%{_bindir}/zmx10.pl} + +%{perl_vendorlib}/ZoneMinder* +%{_mandir}/man*/* +%dir %{_libexecdir}/zoneminder +%{_libexecdir}/zoneminder/cgi-bin +%dir %{_datadir}/zoneminder +%{_datadir}/zoneminder/db +%{_datadir}/zoneminder/www + +%{_datadir}/polkit-1/actions/com.zoneminder.systemctl.policy +%{_datadir}/polkit-1/rules.d/com.zoneminder.systemctl.rules + +%dir %attr(755,%{zmuid_final},%{zmgid_final}) /var/lib/zoneminder +%dir %attr(755,%{zmuid_final},%{zmgid_final}) /var/lib/zoneminder/events +%dir %attr(755,%{zmuid_final},%{zmgid_final}) /var/lib/zoneminder/images +%dir %attr(755,%{zmuid_final},%{zmgid_final}) /var/lib/zoneminder/sock +%dir %attr(755,%{zmuid_final},%{zmgid_final}) /var/lib/zoneminder/swap +%dir %attr(755,%{zmuid_final},%{zmgid_final}) /var/lib/zoneminder/temp +%dir %attr(755,%{zmuid_final},%{zmgid_final}) /var/log/zoneminder +%dir %attr(755,%{zmuid_final},%{zmgid_final}) /var/spool/zoneminder-upload +%dir %attr(755,%{zmuid_final},%{zmgid_final}) /run/zoneminder + + +%changelog +* Sat Nov 21 2015 Andrew Bauer - 1.29.0 +- Bump version for 1.29.0 release on Fedora 23. + +* Sat Feb 14 2015 Andrew Bauer - 1.28.1 +- Bump version for 1.28.1 release on Fedora 21. + +* Sun Oct 5 2014 Andrew Bauer - 1.28.0 +- Bump version for 1.28.0 release. + +* Fri Mar 14 2014 Andrew Bauer - 1.27 +- Tweak build requirements for cmake + +* Sat Feb 01 2014 Andrew Bauer - 1.27 +- Add zmcamtool.pl. Bump version for 1.27 release. + +* Mon Dec 16 2013 Andrew Bauer - 1.26.5 +- This is a bug fixe release +- RTSP fixes, cmake enhancements, couple other misc fixes + +* Mon Oct 07 2013 Andrew Bauer - 1.26.4 +- Initial cmake build. + +* Sat Oct 05 2013 Andrew Bauer - 1.26.4 +- Fedora specific path changes have been moved to zoneminder-1.26.0-defaults.patch +- All files are now part of the zoneminder source tree. Update specfile accordingly. + +* Sat Sep 21 2013 Andrew Bauer - 1.26.3 +- Initial rebuild for ZoneMinder 1.26.3 release. + +* Fri Feb 15 2013 Fedora Release Engineering - 1.25.0-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Mon Jan 21 2013 Adam Tkac - 1.25.0-12 +- rebuild due to "jpeg8-ABI" feature drop + +* Mon Jan 7 2013 Remi Collet - 1.25.0-11 +- fix configuration file for httpd 2.4, #871502 + +* Fri Dec 21 2012 Adam Tkac - 1.25.0-10 +- rebuild against new libjpeg + +* Thu Aug 09 2012 Jason L Tibbitts III - 1.25.0-9 +- Add patch to work around v4l2 api breakage in 3.5 kernel. + +* Sun Jul 22 2012 Fedora Release Engineering - 1.25.0-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Sat Jun 23 2012 Petr Pisar - 1.25.0-7 +- Perl 5.16 rebuild + +* Wed Mar 21 2012 Jason L Tibbitts III - 1.25.0-6 +- Fix stupid thinko in sql modifications. + +* Sat Feb 25 2012 Jason L Tibbitts III - 1.25.0-5 +- Clean up macro usage. + +* Sat Feb 25 2012 Jason L Tibbitts III - 1.25.0-4 +- Convert to systemd. +- Add tmpfiles.d configuration since the initscript isn't around to create + /run/zoneminder. +- Remove some pointless executable permissions. +- Add logrotate file. + +* Wed Feb 22 2012 Jason L Tibbitts III - 1.25.0-3 +- Update README.Fedora to reference systemctl and mention timezone info in + php.ini. +- Add proper default for EYEZM_LOG_TO_FILE. + + +* Thu Feb 09 2012 Jason L Tibbitts III - 1.25.0-2 +- Rebuild for new pcre. + +* Thu Jan 19 2012 Jason L Tibbitts III - 1.25.0-1 +- Update to 1.25.0 +- Fix gcc4.7 build problems. +- Drop gcc4.4 build fixes; for whatever reason they now break the build. +- Clean up old patches. +- Force setting of ZM_TMPDIR and ZM_RUNDIR. + +* Sat Jan 14 2012 Fedora Release Engineering - 1.24.4-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Thu Sep 15 2011 Jason L Tibbitts III - 1.24.4-3 +- Re-add the dist-tag that somehow got lost. + +* Thu Sep 15 2011 Jason L Tibbitts III - 1.24.4-2 +- Add patch for bug 711780 - fix syntax issue in Mapped.pm. +- Undo that patch, and undo another which was the cause of the whole mess. +- Fix up other patches so ZM_PATH_BUILD is both defined and useful. +- Make sure database creation mods actually take. +- Update Fedora-specific docs with some additional info. +- Use bundled mootools (javascript, so no guideline violation). +- Update download location. +- Update the gcrypt patch to actually work. +- Upstream changed the tarball without changing the version to patch a + vulnerability, so redownload. + +* Sun Aug 14 2011 Jason L Tibbitts III - 1.24.4-1 +- Initial attempt to upgrade to 1.24.4. +- Add patch from BZ 460310 to build against libgcrypt instead of requiring the + gnutls openssl libs. + +* Thu Jul 21 2011 Petr Sabata - 1.24.3-7.20110324svn3310 +- Perl mass rebuild + +* Wed Jul 20 2011 Petr Sabata - 1.24.3-6.20110324svn3310 +- Perl mass rebuild + +* Mon May 09 2011 Jason L Tibbitts III - 1.24.3-5.20110324svn3310 +- Bump for gnutls update. + +* Thu Mar 24 2011 Jason L Tibbitts III - 1.24.3-4.20110324svn3310 +- Update to latest 1.24.3 subversion. Turns out that what upstream was calling + 1.24.3 is really just an occasionally updated devel snapshot. +- Rebase various patches. + +* Wed Mar 23 2011 Dan Horák - 1.24.3-3 +- rebuilt for mysql 5.5.10 (soname bump in libmysqlclient) + +* Tue Feb 08 2011 Fedora Release Engineering - 1.24.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Tue Jan 25 2011 Jason L Tibbitts III - 1.24.3-1 +- Update to latest upstream version. +- Rebase patches. +- Initial incomplete attempt to disable v4l1 support. + +* Fri Jan 21 2011 Jason L Tibbitts III - 1.24.2-6 +- Unbundle cambozola; instead link to the separately pacakged copy. +- Remove BuildRoot:, %%clean and buildroot cleaning in %%install. +- Git rid of mixed space/tab usage by removing all tabs. +- Remove unnecessary Conflicts: line. +- Attempt to force short_open_tag on for the code directories. +- Move default location of sockets, swaps, logfiles and some temporary files to + make more sense and allow things to work better with a future selinux policy. +- Fix errors in README.Fedora. + +* Wed Jun 02 2010 Marcela Maslanova - 1.24.2-5 +- Mass rebuild with perl-5.12.0 + +* Fri Dec 4 2009 Stepan Kasal - 1.24.2-4 +- rebuild against perl 5.10.1 +- use Perl vendorarch and archlib variables correctly + +* Mon Jul 27 2009 Fedora Release Engineering - 1.24.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Wed Jul 22 2009 Jason L Tibbitts III - 1.24.2-2 +- Bump release since 1.24.2-1 was mistakenly tagged a few months ago. + +* Wed Jul 22 2009 Jason L Tibbitts III - 1.24.2-1 +- Initial update to 1.24.2. +- Rebase patches. +- Update mootools download location. +- Update to mootools 1.2.3. +- Add additional dependencies for some optional features. + +* Sat Apr 11 2009 Martin Ebourne - 1.24.1-3 +- Remove unused Sys::Mmap perl dependency RPM is finding + +* Sat Apr 11 2009 Martin Ebourne - 1.24.1-2 +- Update gcc44 patch to disable -frepo, seems to be broken with gcc44 +- Added noffmpeg patch to make building outside mock easier + +* Sat Mar 21 2009 Martin Ebourne - 1.24.1-1 +- Patch for gcc 4.4 compilation errors +- Upgrade to 1.24.1 + +* Wed Feb 25 2009 Fedora Release Engineering - 1.23.3-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Sat Jan 24 2009 Caolán McNamara - 1.23.3-3 +- rebuild for dependencies + +* Mon Dec 15 2008 Martin Ebourne - 1.23.3-2 +- Fix permissions on zm.conf + +* Fri Jul 11 2008 Jason L Tibbitts III - 1.23.3-1 +- Initial attempt at packaging 1.23. + +* Tue Jul 1 2008 Martin Ebourne - 1.22.3-15 +- Add perl module compat dependency, bz #453590 + +* Tue May 6 2008 Martin Ebourne - 1.22.3-14 +- Remove default runlevel, bz #441315 + +* Mon Apr 28 2008 Jason L Tibbitts III - 1.22.3-13 +- Backport patch for CVE-2008-1381 from 1.23.3 to 1.22.3. + +* Tue Feb 19 2008 Fedora Release Engineering - 1.22.3-12 +- Autorebuild for GCC 4.3 + +* Thu Jan 3 2008 Martin Ebourne - 1.22.3-11 +- Fix compilation on gcc 4.3 + +* Thu Dec 6 2007 Martin Ebourne - 1.22.3-10 +- Rebuild for new openssl + +* Thu Aug 2 2007 Martin Ebourne - 1.22.3-8 +- Fix licence tag + +* Thu Jul 12 2007 Martin Ebourne - 1.22.3-7 +- Fixes from testing by Jitz including missing dependencies and database creation + +* Sat Jun 30 2007 Martin Ebourne - 1.22.3-6 +- Disable crashtrace on ppc + +* Sat Jun 30 2007 Martin Ebourne - 1.22.3-5 +- Fix uid for directories in /var/lib/zoneminder + +* Tue Jun 26 2007 Martin Ebourne - 1.22.3-4 +- Added perl Archive::Tar dependency +- Disabled web interface due to lack of access control on the event images + +* Sun Jun 10 2007 Martin Ebourne - 1.22.3-3 +- Changes recommended in review by Jason Tibbitts + +* Mon Apr 2 2007 Martin Ebourne - 1.22.3-2 +- Standardised on package name of zoneminder + +* Thu Dec 28 2006 Martin Ebourne - 1.22.3-1 +- First version. Uses some parts from zm-1.20.1 by Corey DeLasaux and Serg Oskin From 91f700a7cd33f0fb4fb22592f917d599a32c2a4f Mon Sep 17 00:00:00 2001 From: Andrew Bauer Date: Mon, 23 Nov 2015 10:10:56 -0600 Subject: [PATCH 21/22] Update CMakeLists.txt --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index cf9337809..7d83fec8c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -141,7 +141,7 @@ set(ZM_PERL_SEARCH_PATH "" CACHE PATH where ZM_PERL_MM_PARMS has been modified such that ZoneMinder's Perl modules are installed outside Perl's default search path.") set(ZM_TARGET_DISTRO "" CACHE STRING - "Build ZoneMinder for a specific distribution. Currently, valid names are: f21, f22, el6, el7, OS13") + "Build ZoneMinder for a specific distribution. Currently, valid names are: f22, f23, el6, el7, OS13") # Reassign some variables if a target distro has been specified if((ZM_TARGET_DISTRO STREQUAL "f22") OR (ZM_TARGET_DISTRO STREQUAL "f23")) From c2a7e0c58728dfda1cd1dddc989c1f48253550f3 Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Wed, 25 Nov 2015 15:39:46 -0500 Subject: [PATCH 22/22] fix size of monitor popup in flat skin --- web/skins/classic/js/dark.js | 2 +- web/skins/classic/js/flat.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/web/skins/classic/js/dark.js b/web/skins/classic/js/dark.js index 8868c8ce7..06a940482 100644 --- a/web/skins/classic/js/dark.js +++ b/web/skins/classic/js/dark.js @@ -48,7 +48,7 @@ var popupSizes = { 'log': { 'width': 1080, 'height': 720 }, 'login': { 'width': 720, 'height': 480 }, 'logout': { 'width': 260, 'height': 100 }, - 'monitor': { 'width': 450, 'height': 440 }, + 'monitor': { 'width': 525, 'height': 700 }, 'monitorpreset':{ 'width': 440, 'height': 200 }, 'monitorprobe': { 'width': 500, 'height': 240 }, 'monitorselect':{ 'width': 160, 'height': 200 }, diff --git a/web/skins/classic/js/flat.js b/web/skins/classic/js/flat.js index 7a34247a0..3b1882250 100644 --- a/web/skins/classic/js/flat.js +++ b/web/skins/classic/js/flat.js @@ -48,7 +48,7 @@ var popupSizes = { 'log': { 'width': 1080, 'height': 720 }, 'login': { 'width': 720, 'height': 480 }, 'logout': { 'width': 260, 'height': 100 }, - 'monitor': { 'width': 450, 'height': 440 }, + 'monitor': { 'width': 525, 'height': 700 }, 'monitorpreset':{ 'width': 440, 'height': 200 }, 'monitorprobe': { 'width': 500, 'height': 240 }, 'monitorselect':{ 'width': 160, 'height': 200 },