Commit Graph

3011 Commits

Author SHA1 Message Date
Isaac Connor
bc65f57473 return early if daemon is invalid 2026-01-26 17:22:14 -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
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
f702c6c190 Add last_analysis_view_time to perl shm structure 2026-01-16 15:28:43 -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
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
6cfe79e259 Add AI generated Reolink http api. Tested for camera rebooting. 2026-01-08 17:19:07 -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
b323c48b0f address and port are now self{address} and self{port} 2026-01-06 12:36:21 -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
Isaac Connor
9984b6ee7d Fix duration of autostop 2026-01-05 09:29:36 -05:00
Isaac Connor
7c91ea3a75 Set isolation level to read uncommitted for stats updates to reduce lock contention and deadlocks 2026-01-03 10:11:31 -05:00
Steve Gilvarry
12450b390f Removing object tags as plugins are dead. I think this page still has reasons to exist but none of this code works in modern browsers. Well that is my opinion. 2025-12-31 19:33:54 +11:00
Isaac Connor
43f2525fdf Fix setting authority clearing host 2025-12-22 09:49:37 -05:00
Isaac Connor
46669166eb Merge branch 'master' of github.com:ZoneMinder/zoneminder 2025-12-19 09:55:54 -05:00
Isaac Connor
6d3b7ddebc Add ZM_WEB_ID_ON_FILTER to optionally remove the Id from the dropdown 2025-12-19 09:55:43 -05:00
Simpler1
adf3eb2381 Fix(Filter): Handle events with multiple tags
Fixes an error that occurred when running a named filter that returned events that contained more than one tag.

Subquery returns more than 1 row
2025-12-19 09:32:19 -05:00
Isaac Connor
641e785f4c Add Path, with sanitization to telemetry 2025-12-17 18:52:26 -05:00
Isaac Connor
2d75e7cafd Only report non-deleted monitors 2025-12-17 17:00:45 -05:00
Simpler1
3a0d8d7c8f Fix(tags): "No Tag" filter now works properly. 2025-12-08 15:09:01 -05:00
Isaac Connor
43f281c005 Add ZM_WEB_ANIMATIONS so that we can decide to turn off ui css animations 2025-12-05 14:13:52 -05:00
Isaac Connor
988bab6dcb Handle when there are no frame records 2025-12-02 13:58:00 -05:00
Isaac Connor
2cfed3d8f1 headers must be an array ref aparently. 2025-11-25 09:01:32 -05:00
Isaac Connor
5bb4caab8f Fixup taking content as a hash. Use URI to convert it to a string. Add headers support in post. 2025-11-24 16:23:28 -05:00
Isaac Connor
25297e440c Put locking around updating server records 2025-11-13 15:45:51 -05:00
Isaac Connor
aaffd5822a Move assigning ua up because it gets used in guess_crednetials 2025-11-11 15:54:49 -05:00
Isaac Connor
9c9a2dcb0b Update to use Control:: methods instead of our own duplicates 2025-11-07 16:24:00 -05:00
Isaac Connor
dcc2779882 Don't add extra / in get/post/put. Automatically populate BaseUrl and ua->credentials. Fall back to getting credentials from monitor->User and ->Pass 2025-11-07 16:23:51 -05:00
Isaac Connor
9da6a2e424 Year is 2 digit in deep mode 2025-11-06 21:26:08 -05:00
Isaac Connor
10901eb08f Remove extra line, use // to collapse lines 2025-11-06 21:25:40 -05:00
Isaac Connor
0baa4007e5 Prevent warning when empty ControlDevice 2025-10-24 16:59:48 -04:00
Isaac Connor
be98d56c43 In order to reboot, we need to be able to open the control. So don't bothwe with ping. 2025-10-24 16:59:13 -04:00
Isaac Connor
abcb281542 FIx extra ) 2025-10-24 09:08:43 -04:00
Isaac Connor
a0d66fc58f Add support for CurrentDate/Time/DateTime to filters 2025-10-23 19:17:00 -04:00
Isaac Connor
559008c074 Fix inclusion of Manufacturer and Model in telemetry data. Add timezone. 2025-10-21 06:55:44 -04:00
Isaac Connor
ecf6d7a797 Add verbose and dry_run options 2025-10-21 05:40:52 -04:00
Isaac Connor
5db736f135 Update default value for ZM_TELEMETRY_SERVER_ENDPOINT 2025-10-21 05:40:34 -04:00
Isaac Connor
48ae1c5f28 Only update storage DiskSpace if assigned an area 2025-10-17 08:17:16 -04:00
Isaac Connor
83532aba60 Use https in zoneminder home url 2025-10-15 17:32:54 -04:00