Commit Graph

213 Commits

Author SHA1 Message Date
SteveGilvarry
e60bdc67b2 feat: add ZM_DB_SSL_VERIFY_SERVER_CERT option (portable across MySQL/MariaDB)
Add a ZM_DB_SSL_VERIFY_SERVER_CERT setting so a database connection that uses
ZM_DB_SSL_CA_CERT can talk to a server with a self-signed or otherwise
non-matching certificate. When enabled, verification is by identity (the cert
must chain to the CA and its CN/SAN must match ZM_DB_HOST), consistent across
the C++ daemons, the PHP web interface, the CakePHP API and the Perl scripts.

This re-does the reverted #3817. That PR broke the build because it called
mysql_options(MYSQL_OPT_SSL_VERIFY_SERVER_CERT, ...), and that enum was removed
from the MySQL 8.0 C client in favour of MYSQL_OPT_SSL_MODE; it also passed a
c_str() where a my_bool* was expected, and referenced the PHP constant
unconditionally (fatal on PHP 8 for an upgraded install whose zm.conf predates
the option).

The option that controls server-cert verification differs by client library and
the symbols are enum values, not macros, so CMake feature-detects them by
compiling:
  - HAVE_MYSQL_OPT_SSL_MODE  (MySQL 5.7.11+/8.0, MariaDB Connector/C 3.1+)
  - HAVE_MYSQL_OPT_SSL_VERIFY_SERVER_CERT  (older MariaDB/MySQL)
zm_db.cpp uses SSL_MODE_VERIFY_IDENTITY / SSL_MODE_REQUIRED when the former is
available, else falls back to the latter with a proper my_bool.

Value handling is three-way in every layer: a truthy value verifies, a false-y
value (0/false/no/off) skips verification, and an empty/unset value leaves the
client default in place so existing installs are unchanged on upgrade. PHP, the
API datasource (via PDO flags) and the Perl DSN are all guarded with defined()
checks. Fresh installs default to 1.

Documents the full ZM_DB_* connection and SSL settings, including the hostname
verification gotcha when connecting by IP, in docs/userguide/configfiles.rst.

refs #3816
2026-06-14 13:20:00 +10:00
copilot-swe-agent[bot]
04aa0a7781 docs: document all ONVIF_Options key=value pairs
Replaces the uninformative "Any ONVIF options required. This is an
optional field." with a full reference covering:
- key=value,key=value format with an example
- pull_timeout, subscription_timeout, max_retries,
  timestamp_validity, soap_log, renewal_enabled, expire_alarms,
  closes_event — including defaults, valid ranges, and when to use each

Also fixes pre-existing typo: "alam" → "alarm".

Agent-Logs-Url: https://github.com/ZoneMinder/zoneminder/sessions/149f7873-ca12-424f-85d4-4bdc179d2488

Co-authored-by: connortechnology <925519+connortechnology@users.noreply.github.com>
2026-05-03 20:21:49 +00:00
Isaac Connor
863fac4d72 docs: add zma event re-analysis utility documentation
Add dedicated documentation page for the zma binary covering synopsis,
all command-line options, operating modes (update-existing vs create-events),
save-analysis functionality, and usage examples. Add zma entry to the
components page and user guide toctree.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 09:47:26 -05:00
Steve Gilvarry
823504d1d1 Add section on debug logs that we can reference when asking for them. 2026-01-02 14:04:22 +11:00
Isaac Connor
b236b48f1b Updates removing zma and fixing some of the perl module names 2024-10-16 11:42:55 -04:00
Isaac Connor
84e1869fb8 Add ELOC substitution to get Latitude and Longitude of event 2024-07-05 17:28:59 -04:00
Isaac Connor
8618900339 If we are not doing an html email, then don't replace with img tags referencing the attachment. Just do the attachment. Introduce %FID% to sub with the id of the filter. 2024-01-15 16:58:54 -05:00
efranzwa
0026e3446b Add images for Viewing Monitors Doc Section 2023-12-20 06:24:37 -08:00
efranzwa
bd863d026b Update Viewing Monitors Doc Section 2023-12-20 06:22:43 -08:00
Isaac Connor
112eb6b9ad Add support for EISNAP and EPISNAP for snapshot image 2023-12-19 12:27:02 -05:00
efranzwa
b033134596 Add images for Defining Zones Doc Section 2023-12-09 09:49:15 -08:00
efranzwa
6298d48db0 Update Defining Zones Doc Section 2023-12-09 09:47:12 -08:00
efranzwa
fec884493c Added images for Defining Monitors section 2023-11-10 12:59:38 -08:00
efranzwa
bf08d6c9bc Added MQTT Tab section 2023-11-10 12:54:49 -08:00
efranzwa
bea5677a31 Added Misc Tab section 2023-11-10 12:54:33 -08:00
efranzwa
ac8ce700bc Added X10 Tab section 2023-11-10 12:54:06 -08:00
efranzwa
ad65e34d0f Added Control Tab section 2023-11-10 12:53:48 -08:00
efranzwa
bd3b73220f Added Buffers Tab section 2023-11-10 12:53:24 -08:00
efranzwa
703939f7ec Added Timestamp Tab section 2023-11-10 12:53:00 -08:00
efranzwa
ca784d9722 Added ONVIF Tab section 2023-11-10 12:52:10 -08:00
efranzwa
b347385b21 Added Viewing Tab section 2023-11-10 12:51:46 -08:00
efranzwa
31a1278286 Added Recording Tab section 2023-11-10 12:51:04 -08:00
efranzwa
4861aa7acb Added Analysis Tab section 2023-11-10 12:50:21 -08:00
efranzwa
f7cb484fbd Added Source Tab section 2023-11-10 12:49:49 -08:00
efranzwa
15e8ff578b Added General Tab section 2023-11-10 12:49:01 -08:00
efranzwa
8d29f0e468 Add the Adding Monitors section 2023-11-10 12:47:01 -08:00
efranzwa
97b2bd5b9b Update Defining Monitors doc section 2023-11-10 12:42:29 -08:00
efranzwa
7208f746f2 Rework Getting Started doc section 2023-10-28 17:39:10 -07:00
efranzwa
03e59657d3 Add new images for Getting Started doc section 2023-10-28 17:35:18 -07:00
Isaac Connor
bdc1660cc1 Update description for FPS Report Interval 2023-09-29 12:26:43 -04:00
Simpler1
18d74ed7ac (feat): Tags
fix(tag): Create tags on mobile

chore(tags): Change TagName to Name

chore(tags): eslint

chore(tags): dbFetchAll to dbQuery for removetag

chore(events): eslint (attempt 2)

feat(tags): Better handling of keyboard

fix(tags): Enter key for creating new tag

fix(tags): Don't allow space as a tag name

feat(tags): Delete tag if last assignment removed

fix(tags): Increase height of dropdown

in progress

fix(Tags): Use T.Id on the events page dropdown

fix(Tags): Remove $availableTags from events.php

chore(sql): Formatting sql statements

feat(Tags): Working OR on filters and events pages

fix(filter): Populate availableTags

chore(Tags): code formatting

fix(tag): Add tag on create tag

Fix(tags): Remove tag from available if last

feat(tags): Add zm_update.sql

fix(chosen): Undo css width

fix(chosen): tags dropdown width

fix(tags): dropdown over timeline

fix(tags): Full width input

fix(events): Refresh table on page show

chore(filter): Clean up availableTags

chore(event): Clean up available & selected Tags

fix(event): Update available tags on remove

fix(event): Remove hack for selected tags

feat(tags): Blur input after adding tag

doc(tags): Initial tags documentation

fix(tags): Dark theme dropdown

fix(tags): Dark theme for tags on input

fix(tags): Dark theme for highlight in dropdown

fix(tags): Populate filter tags droplist

chore(): Bump zm_update to 1.37.42

chore(tags): Move mobile check to skin.js

chore(tags): Comment debug statements

fix(tags): Enter key to create tag on mobile Chome

chore(tags): Space in 'All Tags' for translation

Temporary commit to handle cookie expiration times

chore(tags): Remove unnecessary Tag(s) from en_gb

chore(): Cleanup unnecessary Error and Debug

chore(): Resolve merge conflicts

chore(): Address merge conflicts with master
2023-08-31 15:50:08 -04:00
Alejandro Criado-Pérez
a5d83e61b4 Corrections on rst files 2023-08-13 01:20:29 +02:00
Isaac Connor
6485a4da46 Add doc for new substitutions EID and MID 2023-05-29 16:24:45 -04:00
Isaac Connor
28cf2570a9 tabs instead of spaces are messing up ul layout 2023-02-12 16:37:44 -05:00
Alejandro
c7a818fc73 Updated zmninja info 2022-12-12 13:41:31 +01:00
Isaac Connor
4907a706a7 New image of monitor add view 2022-09-19 13:40:52 -04:00
Isaac Connor
a6e6b5015d Add a note about setting the Id monitor field 2022-09-19 13:17:55 -04:00
Isaac Connor
4f76b36a75 Update defining monitors section of docs to reflect the current state. 2022-09-19 13:14:39 -04:00
Isaac Connor
c6cdf070af Update the requirements for monitor Name. Whitespace is allowed! 2022-09-19 11:45:53 -04:00
megasaturnv
9d8e32b28c Modified description for ZM_CASE_INSENSITIVE_USERNAMES 2022-09-05 15:49:26 +01:00
megasaturnv
6c0f40f570 Renamed ZM_AUTH_CASE_INSENSITIVE_USERNAMES to ZM_CASE_INSENSITIVE_USERNAMES as name was too long ZoneMinder/zoneminder#3516 2022-09-02 12:03:47 +01:00
megasaturnv
63e5b63eec Added option ZM_AUTH_CASE_INSENSITIVE_USERNAMES to match mixed case usernames to lower case usernames in database ZoneMinder/zoneminder#3516 2022-09-02 11:58:02 +01:00
Håvard Flaget Aasen
f2281d1017 Typos in documentation
This is typos noticed by lintian.
2021-10-17 13:29:00 +02:00
TheRealJiffy
ca293eb288 Update mobile.rst
fix broken link
2021-10-02 23:42:08 -04:00
criadoperez
4a717820b1 Fixed broken wiki links 2021-09-08 15:18:52 +02:00
gmanproxtreme
84ccf10e65 Updated WEB_TITLE section from ToDo.
The Web_Title's use was unknown. I have seen the changed title appear on the login screen. Documentation updated to reflect this.
2021-08-27 20:21:02 +10:00
Isaac Connor
726f1f616d Merge branch 'update_docs_1_34' 2021-05-10 14:53:14 -04:00
Isaac Connor
f0abcdf585 Merge branch 'release-1.34' into update_docs_1_34 2021-05-10 14:48:50 -04:00
Isaac Connor
a8bd1662e3 Add objdetect.gif support in filter email replacements 2021-04-28 19:12:37 -04:00
Frederick Robinson
e256d4f5f1 Update gettingstarted.rst 2020-09-19 18:18:53 -07:00