Steve Gilvarry and Claude Opus 5
ba49bbb33c
fix: make the Perl scripts' taint-safe PATH configurable
...
The scripts run under -T, so they cannot trust the caller's PATH and set
their own. Sixteen of them hardcoded /bin:/usr/bin:/usr/local/bin, which
assumes everything they shell out to lives under /usr or /usr/local.
ZoneMinder::General::findDbCommand looks for a database client on that
PATH, and zmupdate.pl and zmcamtool.pl run what it finds. So an install
whose client sits anywhere else cannot apply schema changes:
sh: mysql: command not found
Command 'mysql -u'zmuser' ... ' exited with status: 127
even with the client on the caller's PATH. Homebrew on Apple Silicon is
the case that surfaced it - the client is in /opt/homebrew/bin - but a
--prefix=/opt install on Linux has the same shape, as does anything that
keeps its database client outside the FHS locations.
Replaced the literal with @ZM_SCRIPT_PATH@, defaulting to the same three
directories plus wherever cmake actually found a client, and overridable
for packagers who want to pin it. Warn at configure time when no client
is found at all, since that failure otherwise appears much later and
says something unrelated.
Nothing changes for an install whose client is already under /usr/bin:
the directory is only appended when it is not in the list, so the
default stays exactly as it was.
Memory.pm is deliberately left alone. It has a narrower PATH of
/bin:/usr/bin, and the only command it runs is uname through an absolute
path from ZM_PATH_UNAME, so it does not need widening.
Verified on macOS across the three cases: with the client in
/opt/homebrew/bin the directory is appended; -DZM_SCRIPT_PATH= is
respected verbatim; and pointing detection at /usr/bin/mariadb leaves
the default untouched. Build clean, suite 146 cases.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01B5KL9Xbi7K5aGsauLtd8tG
2026-09-13 13:04:59 +10:00
Alejandro Criado-Pérez
871bf1772f
fix: messages
2023-07-05 01:03:48 +02:00
Isaac Connor
0850e0db70
Remove Enabled test, replace with Capturing and Recording tests
2022-03-21 15:56:16 -04:00
Isaac Connor
0785e3571c
code style, remove duplicated code.
2022-03-08 09:06:31 -05:00
Isaac Connor
86f393565e
Remove Function references and swap with appropriate Capturing, Analysing, Recording
2022-01-27 13:42:31 -05:00
Isaac Connor
8d06175024
Rework to use ZoneMinder::Monitor class. Simplify loadMonitors and get rid of loadMonitor. Add in ServerId change handling.
2022-01-12 23:07:48 -05:00
Isaac Connor
ef13c84d8b
fix zmtrigger. Need {}
2021-12-12 17:01:12 -05:00
Isaac Connor
ed360348ef
spacing, remove dead code. If Monitor Function becomes None, skip it
2021-12-10 15:36:47 -05:00
Isaac Connor
30dfadcbf1
Add some parenthesis and use logic and/or install of binary
2021-04-07 14:15:55 -04:00
Isaac Connor
ec8e0f5997
replace while(1) with while(not zm_terminate) so that these scripts exit cleanly
2021-03-17 13:09:54 -04:00
Isaac Connor
da99426535
if monitor is not found call loadMonitors to make sure it isn't new
2020-11-13 10:40:55 -05:00
Isaac Connor
7b764d04d3
Fix use of next when it should be return. Improve some logging of errors.
2020-11-11 17:40:31 -05:00
Isaac Connor
076d649189
Include Record Monitors in zmtrigger
2020-11-11 16:12:30 -05:00
Isaac Connor
38555b0dd4
strip leading and trailing " in trigger message. Accept a space instead of a + in enable/disable commands to match on/off
2020-04-04 11:08:19 -04:00
Isaac Connor
a9ed5c1158
escape column names for mysql8. Fixes #2814
2020-01-21 16:53:43 -05:00
Isaac Connor
766a59884d
Don't hard code perl path. Use PERL_EXECUTABLE cmake var
2019-09-23 12:54:27 -04:00
Isaac Connor
3368f94c1a
Add code to handleDelay to cancel identical delayed actions. Fixes #2619 ( #2681 )
2019-08-08 14:38:27 -04:00
Isaac Connor
2e9d72ed63
spacing and extra ()
2019-08-08 14:11:24 -04:00
Isaac Connor
88e148068e
Logging and whitespace
2018-12-20 13:56:57 -05:00
Andrew Bauer
2fbe1be02b
implement loadMonitor sub ( #2244 )
...
* implement loadMonitor sub
* remove carriabe returns from Info, Warning, Debug statements
2018-10-10 14:27:05 -04:00
Andrew Bauer
b533c8b257
don't zmMemInvalidate when reloading monitors ( #2225 )
...
* remove call to zmMemVerify when reloading monitors
* need to call zmMemVerify to attach to the mem handle
2018-09-28 13:35:42 -04:00
Isaac Connor
b3984ea2da
Merge branch 'master' into storageareas
2017-07-14 10:38:20 -04:00
Isaac Connor
a07f8961d1
add another zmDbConnect at the bottom of the while(1) loop which will ping and reconnect to db if neccessary.
2017-07-14 10:30:12 -04:00
Isaac Connor
d5a4aaca5d
fix braces, spacing, move pod docs to bottom
2017-07-14 10:28:31 -04:00
Isaac Connor
7ab6818fa0
Merge branch 'sanitize_image_path' of https://github.com/knnniggett/ZoneMinder into storageareas_sanitize
2017-01-25 17:14:30 -05:00
Isaac Connor
a5cdfd2932
call loadMonitors at the beginning. Otherwise we may not know about a monitor while handling a message from it.
2017-01-12 13:03:53 -05:00
Isaac Connor
d9ce1a68c6
restore defaults
2017-01-12 12:56:55 -05:00
Isaac Connor
65f7350313
remove debug stautement
2017-01-12 12:55:27 -05:00
Isaac Connor
42484f7680
switch quotes, load monitors at the beginnign
2017-01-12 12:54:40 -05:00
Isaac Connor
7502b81064
zmMemVerify now checks valid, so don't need to do it again.
2017-01-10 15:32:38 -05:00
Isaac Connor
04f66917ae
Merge branch 'fix_mmap_leak' into storageareas
2017-01-10 15:29:54 -05:00
Isaac Connor
7ddd5359d0
zmMemVerify attaches, so we need to zmMemInvalidate even if the shared data is no good
2017-01-10 15:09:30 -05:00
Isaac Connor
4d84387807
Merge branch 'fix_mmap_leak' into work
2017-01-10 14:22:58 -05:00
Isaac Connor
a66e9e45a2
merge a fix from storageareas that adds a test for the shared data being valid and reloads the monitors if it can't reconnect
2017-01-10 14:22:42 -05:00
Isaac Connor
d2ff6701f4
test
2017-01-10 13:53:02 -05:00
Isaac Connor
b3c5f4622f
revert knnniggett's zmMemDetach changes
2017-01-10 12:56:19 -05:00
Isaac Connor
5ae34a7561
Merge branch 'master' into storageareas
2017-01-02 09:39:10 -05:00
Andy Bauer
254fcbcef7
update gpl 2 mailing address in source files
2016-12-26 09:23:16 -06:00
Isaac Connor
c27d0270dc
Merge branch 'knnniggett-zmMemDetach' into storageareas
2016-12-20 15:40:14 -05:00
Andy Bauer
c6368c4a1a
replace zmMemInvalidate with zmMemDetach
2016-12-20 13:49:07 -06:00
Isaac Connor
f0a307e082
Merge branch 'storageareas' of github.com:ZoneMinder/ZoneMinder into storageareas
...
Conflicts:
distros/ubuntu1504_cmake/control
2016-03-29 11:53:17 -04:00
Kyle Johnson
b9085cea64
Fix issue where programs are installed in unexpected paths.
...
For example, on freebsd, sudo is in /usr/local/bin, and as things
were pre-this commit, sudo wasn't being found.
2016-03-11 14:28:16 -07:00
Andrew Bauer
4606d2fbca
Update zmtrigger.pl.in
...
mention the %Q placholder when using showtext
2016-03-10 10:13:38 -06:00
Andrew Bauer
0fce33b2d3
one too many curly brackets
2016-02-22 06:59:14 -06:00
Andy Bauer
a2e06ed70c
Prevent zmtrigger from crashing when memory handles change
2016-02-21 17:55:04 -06:00
Isaac Connor
826a22a2a8
add missing .
2016-02-19 11:07:06 -05:00
Isaac Connor
3b07b56400
Use more descriptive names for the channels
2016-02-19 11:05:55 -05:00
Andy Bauer
66c66106f5
Process off+time delay condition
2016-01-15 20:31:31 -06:00
Isaac Connor
5a363273a2
Merge branch 'master' into multi-server
...
Conflicts:
distros/ubuntu1504/changelog
2015-07-16 16:37:44 -04:00
Andrew Bauer
10adae3696
Merge pull request #941 from ZoneMinder/trigger_on_space
...
add space instead of + to handle old Axis cameras
2015-07-16 13:09:36 -05:00