Commit Graph

19472 Commits

Author SHA1 Message Date
Peter Keresztes Schmidt 8129600a37 Build: Cleanup gnutls/openssl defines
We only need HAVE_LIBGNUTLS and HAVE_LIBOPENSSL to compile the right crypto backend.
2021-05-30 22:56:21 +02:00
Peter Keresztes Schmidt 5d93555d9f Crypto: Use new hashing API 2021-05-30 22:56:21 +02:00
Peter Keresztes Schmidt 9a983bb321 Crypto: Implement SHA1 hashing 2021-05-30 22:56:21 +02:00
Peter Keresztes Schmidt 8b87830e3e Use the new ByteArrayToHexString helper 2021-05-30 22:53:05 +02:00
Peter Keresztes Schmidt d2932b5d68 Utils: Add a ByteArrayToHexString helper 2021-05-30 22:53:05 +02:00
Peter Keresztes Schmidt 62f60b76d6 rtsp_auth/Authenticator: Convert to new hashing API 2021-05-30 22:53:05 +02:00
Peter Keresztes Schmidt 837b32ccff User: Convert to new hashing API 2021-05-30 22:53:05 +02:00
Peter Keresztes Schmidt 2bda413698 Crypto: Implement a generic hashing API
Currently MD5 is implemented
2021-05-30 22:53:05 +02:00
Peter Keresztes Schmidt a8b9d15d1b Utils: Add our own ASSERT macro
Using `assert` from `<cassert>` leads to unused variable warnings in release builds.
Define the `ASSERT` macro which compiles to a no-op in release builds but still avoids
the warnings.
2021-05-30 21:41:58 +02:00
Isaac Connor cd36bd9bf5 Merge pull request #3266 from Carbenium/fill-out-of-bounds
Image: Remove std::vector out-of-bounds access when filling polygons
2021-05-30 10:55:22 -04:00
Isaac Connor 1219bd8d1e the filename is incorrect so the tmpfiles.d configuration is not being included 2021-05-30 10:54:59 -04:00
Isaac Connor 28a6a3e41e the filename is incorrect so the tmpfiles.d configuration is not being included 2021-05-30 10:54:23 -04:00
Peter Keresztes Schmidt e34b6500d9 Utils: Add implementations for std::data and std::size
These can be removed once C++17 is supported.
2021-05-29 21:37:38 +02:00
Peter Keresztes Schmidt b8178dbb79 CI: Build possible crypto/jwt backend combinations 2021-05-29 21:37:30 +02:00
Peter Keresztes Schmidt 45654cb514 Build: Make the JWT backend selectable
Introduce the -DZM_JWT_BACKEND CMake option through which the JWT backend can be selected.
Supported values: jwt_cpp (default; in-tree) and libjwt

When libjwt is chosen ZM_CRYPTO_BACKEND is taken into account to select the corresponding flavour of libjwt.
2021-05-29 21:37:30 +02:00
Peter Keresztes Schmidt caadc41bfd Build: Make the crypto backend selectable
Introduce the -DZM_CRYPTO_BACKEND CMake option through which the crypto backend can be selected.
Supported values: openssl (default) and gnutls

This commit makes OpenSSL or GnuTLS a requirement to compile/run ZoneMinder.

Following restriction applies:
  * If libjwt is not found we fall back to jwt-cpp which only supports OpenSSL
2021-05-29 21:37:30 +02:00
Peter Keresztes Schmidt b81689aa3f Remove libgcrypt as dependency
GnuTLS used gcrypt as backend but switched in ~2011 to nettle.
Thus we don't need to/shouldn't depend on it.
2021-05-29 21:37:30 +02:00
Isaac Connor 2e61ee4c95
Merge pull request #3266 from Carbenium/fill-out-of-bounds
Image: Remove std::vector out-of-bounds access when filling polygons
2021-05-29 15:05:19 -04:00
Peter Keresztes Schmidt 339cfd49bc Image: Remove std::vector out-of-bounds access when filling polygons
While iterating through `active_edges` we call `std::next`. If the current
iterator is `.end()` we are accessing out-of-bound memory.
Make sure we always have a valid iterator past `it` in the loop.

Follow-up on 6642ca4515
2021-05-29 19:58:19 +02:00
Peter Keresztes Schmidt e8adf5d331 Build: Enable std::vector ASAN annotation in libstdc++
By defining _GLIBCXX_SANITIZE_VECTOR when ASAN is enabled `std::vector` operations
will be annotated so ASAN can detect invalid accesses.

See https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_macros.html
2021-05-29 19:55:17 +02:00
Isaac Connor cd16f3f8e4 Bump version for 1.36.2 2021-05-28 14:00:36 -04:00
Isaac Connor 09b0353592 Actually close the camera in localcamera::Close 2021-05-28 13:54:20 -04:00
Isaac Connor 855a81b975 Merge branch 'release-1.36' 2021-05-28 12:29:35 -04:00
Isaac Connor 096581b7f1 add getMonitorStatuses function to return string values for status numbers 2021-05-28 12:29:30 -04:00
Isaac Connor a4e4ebe3fd Restore api behaviour. Add zmu output to response 2021-05-28 12:29:02 -04:00
Isaac Connor 8511d814df Restore api behaviour. Add zmu output to response 2021-05-28 12:28:35 -04:00
Isaac Connor 195f9fc403 simplify test for being decoded. timestamping needs to be done as well 2021-05-28 11:38:48 -04:00
Isaac Connor 7417d32fbc Add a 5 second timeout when setting suspending/resuming motion detection.Log errors appropriately 2021-05-28 10:29:44 -04:00
Isaac Connor 829708f8f2 Change SQL to add Controls for ONVIF camera, Foscam 9831W and 8918W to specify columns so that if other columns are present the sql still executes. Fixes #3260 2021-05-28 10:24:13 -04:00
Isaac Connor 16cc69ca2b Change SQL to add Controls for ONVIF camera, Foscam 9831W and 8918W to specify columns so that if other columns are present the sql still executes. Fixes #3260 2021-05-28 10:23:42 -04:00
Isaac Connor c590157431 Fix version reverted 1.36.1 due to merge from release-136 2021-05-27 20:01:11 -04:00
Peter Keresztes Schmidt 8379ab70be Build: Disable Wstringop-truncation in GCC ASAN builds
These two options don't work well together and lead to false positives.

Follow-up on e5cac38521
2021-05-28 00:08:46 +02:00
Isaac Connor 225123dd11 Allow [] characters in url to work with ipv6. Fixes #3261 2021-05-26 18:50:26 -04:00
Isaac Connor 824a6dc15b Merge branch 'release-1.36' 2021-05-25 13:17:26 -04:00
Isaac Connor 3b5de40d05 Merge pull request #3259 from gerazo/master
Updated Hungarian translation
2021-05-25 13:16:35 -04:00
Isaac Connor c7e9144124 Merge pull request #3257 from Carbenium/ffmpeg-stretch
FfmpegCamera/Videostore: Disable hwaccel for ffmpeg found in Debian Stretch
2021-05-25 13:16:12 -04:00
Isaac Connor 8d783d3cd5 Merge pull request #3254 from bestlong/add-lang
web ui add lang (Chinese Traditional)
2021-05-25 13:15:56 -04:00
Isaac Connor 80800785be Fix getting border width on firefox. Need to specify which border. Went a little further and split x and y axis borders in the maxfit2. Fixes #3249 2021-05-25 13:15:04 -04:00
Isaac Connor 799a0ed7ba
Merge pull request #3254 from bestlong/add-lang
web ui add lang (Chinese Traditional)
2021-05-25 13:12:34 -04:00
Isaac Connor 82c7474786
Merge pull request #3257 from Carbenium/ffmpeg-stretch
FfmpegCamera/Videostore: Disable hwaccel for ffmpeg found in Debian Stretch
2021-05-25 13:12:17 -04:00
Isaac Connor a266388898
Merge pull request #3255 from anon8675309/gitlab-ci
Enable gitlab CI to build debian packages
2021-05-25 13:08:58 -04:00
Isaac Connor 6e70eb5963
Merge pull request #3259 from gerazo/master
Updated Hungarian translation
2021-05-25 13:08:00 -04:00
Zoltan Gera 714dd0aa9f Updated Hungarian translation 2021-05-25 18:15:40 +02:00
Isaac Connor cf03bb9548 Merge branch 'release-1.36' 2021-05-25 11:34:11 -04:00
Isaac Connor 9e64b912a8 Add samesite when setting cookie for skin and css 2021-05-25 11:33:28 -04:00
Isaac Connor d59118fc47 Add redirect so that Yes I'd like to donate now goes to the zoneminder /donate website. This used to happen in javascript but got removed when it was turned into a modal. 2021-05-25 11:33:12 -04:00
Peter Keresztes Schmidt e659543d0a Logger: Fix DB log messages not being populated
We need to `resize` the buffer string since `reserve` does not guarantee that the buffer is
actually available.

Follow-up on 298415fff3
2021-05-25 11:29:32 -04:00
Isaac Connor 6a9ed9c457 Use data-onclick instead of data-on-click-this. 2021-05-25 11:22:43 -04:00
Peter Keresztes Schmidt 6b478484bd CI: Add workflow for Debian Bullseye 2021-05-25 07:41:39 +02:00
Peter Keresztes Schmidt d413f3c78f FfmpegCamera/Videostore: Disable hwaccel for ffmpeg found in Debian Stretch
The av_hwdevice_* API is not complete in 3.2. Enable hwaccel from 3.4 onwards.
2021-05-24 23:20:30 +02:00