Commit Graph

3097 Commits

Author SHA1 Message Date
Isaac Connor
7bdcd1bfe2 feat: add events command to zmonvif-probe.pl
Add 'events' command to check if an ONVIF camera supports the events
service. Returns "Events: yes" or "Events: no" for easy parsing.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-07 21:13:56 -05:00
Isaac Connor
c513583bc9 feat: add Quadra status view for NetInt T1A monitoring
Add new view to display NetInt Quadra T1A accelerator status using
ni_rsrc_mon utility output.

Features:
- Device info (temperature, firmware, serial number)
- Resource summaries (decoder/encoder/scaler/AI load, memory, instances)
- Active session details (resolution, frame rate, bitrate, frame counts)
- Auto-hides menu item if ni_rsrc_mon is not available
- Requires System view permission

New files:
- web/skins/classic/views/quadra.php
- web/skins/classic/views/js/quadra.js

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 14:29:07 -05:00
Isaac Connor
b5d1c5bac2 Merge remote-tracking branch 'upstream/master' into ai_server 2026-02-02 11:12:16 -05:00
copilot-swe-agent[bot]
27793980ef fix: Address code review feedback
- Add SSL verification state tracking to Dahua.pm to ensure retry logic works for all requests
- Add SSL retry logic to Dahua.pm sendCmd method
- Remove redundant 'use IO::Socket::SSL' statements from TapoC520WS_ONVIF.pm retry blocks

refs #TBD

Co-authored-by: connortechnology <925519+connortechnology@users.noreply.github.com>
2026-02-02 14:37:57 +00:00
copilot-swe-agent[bot]
bce080c735 feat: Enable SSL certificate verification with fallback for all components
Enable TLS peer certificate verification by default in all components that communicate over HTTPS. If SSL verification fails, log a warning and retry without verification to maintain backward compatibility with cameras using self-signed certificates.

Changes:
- C++ (zm_monitor_go2rtc.cpp): Enable SSL verification for all curl operations (3 locations)
- C++ (zm_monitor_rtsp2web.cpp): Enable SSL verification for all curl operations (3 locations)
- PHP (monitor_probe.php): Enable SSL verification with fallback logic
- Perl (Dahua.pm): Enable SSL verification with LWP::UserAgent
- Perl (TapoC520WS_ONVIF.pm): Enable SSL verification with retry logic in request methods

refs #TBD

Co-authored-by: connortechnology <925519+connortechnology@users.noreply.github.com>
2026-02-02 14:34:19 +00:00
Isaac Connor
a925de0ac1 Add Deleted=false for Monitors count 2026-02-01 14:42:38 -05:00
Isaac Connor
397d2a357e Merge branch 'master' of github.com:ZoneMinder/zoneminder 2026-02-01 10:17:16 -05:00
Isaac Connor
f55cc5236b Merge remote-tracking branch 'upstream/master' into ai_server 2026-02-01 09:06:55 -05:00
Isaac Connor
05db51a3ff Fix package name being Frame instead of User 2026-02-01 09:06:14 -05:00
Isaac Connor
bfbe47b7cc Merge pseudo:sandbox/ZoneMinder into ai_server 2026-01-31 19:45:37 -05:00
Isaac Connor
d89f2e59db refactor: rename Janus_Use_RTSP_Restream to Restream
Rename Janus-specific restream fields to be more generic since they are
now used by Go2RTC and RTSP2Web as well:
- Janus_Use_RTSP_Restream → Restream
- Janus_RTSP_User → RTSP_User

Update visibility logic so the Restream checkbox appears when RTSPServer
is enabled AND any streaming service (Janus, Go2RTC, or RTSP2Web) is
selected, rather than only when Janus is enabled.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 18:47:37 -05:00
Isaac Connor
8f5f5bc1c3 DO select, then delete by primary key when cleaning up summary tables. Prevents deadlocks in mysql 2026-01-31 16:54:30 -05:00
Isaac Connor
872cdb1b44 Add Group.pm which is not actually used anywhere 2026-01-31 16:22:24 -05:00
Isaac Connor
8eb0234674 Merge changes from zm_utils. Fixes post headers for Trendnet.pm. 2026-01-29 12:00:35 -05:00
Isaac Connor
86bd915099 Clean up self{address}. Add chopping trailing / from BaseURL 2026-01-28 10:28:16 -05:00
Isaac Connor
a9409c581c Merge remote-tracking branch 'upstream/master' into ai_server 2026-01-27 09:01:10 -05:00
Isaac Connor
bc65f57473 return early if daemon is invalid 2026-01-26 17:22:14 -05:00
Isaac Connor
e33e849d81 Merge remote-tracking branch 'upstream/master' into ai_server 2026-01-26 17:20:26 -05:00
Isaac Connor
45695211c3 main:: specificaiton for daemon_patt is wrong 2026-01-26 16:44:34 -05:00
Isaac Connor
5ebf40568c Fix duplicate restart race condition in zmdc.pl
- Always update term_sent_at when sending stop signal, not just when
  unset. This ensures the KILL_DELAY countdown resets properly when
  multiple stop/restart commands are issued.

- Add duplicate restart detection: if a process is already terminating
  with keepalive=true (restart scheduled), ignore subsequent restart
  requests. This prevents race conditions with zmwatch.pl which may
  detect stale heartbeat/shared memory during the restart window and
  send duplicate restart commands.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-26 14:03:42 -05:00
Isaac Connor
97e5c65fa9 Fix multiple bugs in zmdc.pl daemon control script
- Fix undefined $saddr variable in ZMServer package by using
  sockaddr_un(main::SOCK_FILE) directly
- Fix hash in scalar context that returned bucket ratio instead of
  count, use scalar(keys %terminating_processes)
- Replace die calls with Fatal() for consistent error handling
- Change confusing keepalive=>!undef idiom to keepalive=>1
- Remove unused $win and $ein variables
- Fix typo in comment: processess -> processes
- Add explicit $main:: package qualifier for daemon_patt variable
- Add 30-second timeout when reading server response to prevent
  client from hanging indefinitely

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-26 12:44:05 -05:00
Isaac Connor
b24fa0c208 Set start delay to 5, 30 is too much 2026-01-24 10:49:07 -05:00
Isaac Connor
d0ca05c610 Merge remote-tracking branch 'upstream/master' into ai_server 2026-01-22 17:17:13 -05:00
Isaac Connor
479d3a9b05 Split parsing Path and Control address into their own functions, adding back a hack to handle unescaped passwords on ControlAddress. In Amcrest_HTTP if using ControlAddress fails, fall back to using Path 2026-01-22 11:54:58 -05:00
Isaac Connor
b6ee583454 Merge updates from another branch, cleaning up and improve address/auth parsing and improving put() 2026-01-22 10:03:01 -05:00
Isaac Connor
48c21c75fb Merge remote-tracking branch 'upstream/master' into ai_server 2026-01-16 16:41:31 -05:00
Isaac Connor
f702c6c190 Add last_analysis_view_time to perl shm structure 2026-01-16 15:28:43 -05:00
Isaac Connor
23a58c8770 Merge remote-tracking branch 'upstream/master' into ai_server 2026-01-14 10:13:21 -05:00
Isaac Connor
0ee1da73cf Remove primark_key 2026-01-14 09:46:31 -05:00
Isaac Connor
376e6b8899 Only set timezone if it is set in config. 2026-01-14 09:33:50 -05:00
Isaac Connor
32ec9dc801 Add defaults for Type and Scheme to prevent warnings in logs due to undefined values 2026-01-14 09:32:08 -05:00
Isaac Connor
201b2bbd06 Set tz in Date::Manip so that returned unixdate from '-1 hour' is in the current timezone, not UTC 2026-01-14 09:31:55 -05:00
Isaac Connor
e898aacb79 Set tz in Date::Manip so that returned unixdate from '-1 hour' is in the current timezone, not UTC 2026-01-14 06:31:00 -08:00
Isaac Connor
ed9bb5b457 Add defaults for Type and Scheme to prevent warnings in logs due to undefined values 2026-01-14 06:30:02 -08:00
Isaac Connor
e36e7afc1c Merge remote-tracking branch 'upstream/master' into ai_server 2026-01-12 17:28:56 -05:00
Isaac Connor
8864d5759d Merge pull request #4510 from SteveGilvarry/videojs_update
Videojs update
2026-01-10 10:21:50 -05:00
copilot-swe-agent[bot]
b44aafb0ca Add "Any Tag" filter option for events
- Added "Any Tag" entry with value -1 to availableTags in Filter.php (widget and simple_widget methods)
- Added "Any Tag" entry to filter.php view
- Added translation for "Any Tag" in en_gb.php language file
- Implemented SQL logic in FilterTerm.php to handle "Any Tag" (value -1) using EXISTS query
- Implemented SQL logic in Filter.pm (Perl) to handle "Any Tag" (value -1) using EXISTS query

Co-authored-by: connortechnology <925519+connortechnology@users.noreply.github.com>
2026-01-10 14:13:37 +00:00
Isaac Connor
94249f1e77 Improve cutnpasteability of the debug sql 2026-01-09 15:06:10 -05:00
Isaac Connor
93c188e8a6 Merge remote-tracking branch 'upstream/master' into ai_server 2026-01-08 18:16:56 -05:00
Isaac Connor
6cfe79e259 Add AI generated Reolink http api. Tested for camera rebooting. 2026-01-08 17:19:07 -05:00
Isaac Connor
5f7b8921bc Merge branch 'onvif_fixes' of github.com:SteveGilvarry/ZoneMinder into SteveGilvarry-onvif_fixes 2026-01-08 11:04:58 -05:00
Isaac Connor
6423afa5aa Remove impossible code for sending a command after server startup 2026-01-06 14:59:08 -05:00
Isaac Connor
6b30d733c5 Update to use shared code from Control.pm 2026-01-06 14:58:40 -05:00
Isaac Connor
cb11f1f264 Clear query as well as path. Use canonical instead of creating our own BaseURL, set uri userinfo 2026-01-06 14:58:13 -05:00
Isaac Connor
f07170b560 Merge remote-tracking branch 'upstream/master' into ai_server 2026-01-06 12:49:21 -05:00
Isaac Connor
b323c48b0f address and port are now self{address} and self{port} 2026-01-06 12:36:21 -05:00
Isaac Connor
34ea30daa3 Merge remote-tracking branch 'upstream/master' into ai_server 2026-01-06 09:44:00 -05:00
Isaac Connor
da7ec8a082 Improve error message to tell us what type the object was 2026-01-06 08:44:21 -05:00
Isaac Connor
d6650b84b3 Put API back under system for now as the api tab can't show it yet 2026-01-05 16:36:12 -05:00
Isaac Connor
708f386b5c Add uri unescaping password 2026-01-05 12:34:38 -05:00