Commit Graph

4954 Commits

Author SHA1 Message Date
Jeff Keller 683f4e6c2d Move clone before setting up python env 2025-10-02 18:53:37 +00:00
Jeff Keller 35cd8003b8 Fix logs 2025-10-02 18:38:00 +00:00
Jeff Keller 98d69e1ce8 Restart nginx 2025-10-02 18:17:43 +00:00
Jeff Keller 70d63febda Tweak log file paths 2025-10-02 18:14:51 +00:00
Jeff Keller dd113f7940 testing 2025-10-02 16:45:59 +00:00
Jeff Keller 0aceb097ba Testing 2025-10-02 16:41:30 +00:00
Jeff Keller 7790530d08 Revert source repo 2025-10-02 16:05:31 +00:00
Jeff Keller 79cec583d9 NGINX configuration 2025-10-02 16:03:23 +00:00
rell3k dd91d1e7da Merge branch 'jokob-sk:main' into baremetal-installer 2025-10-02 12:01:39 -04:00
Jeff Keller aad5bec7e2 Single Debian/Ubuntu Installer 2025-10-02 16:00:19 +00:00
Jokob @NetAlertX a9841157a7 Merge pull request #1211 from PreistlyPython/fix/issue-1210-compound-conditions
Code checks / check-url-paths (push) Has been cancelled
docker / docker_dev (push) Has been cancelled
Deploy MkDocs / deploy (push) Has been cancelled
fix: Support compound conditions in SafeConditionBuilder (Issue #1210)
2025-10-02 16:11:30 +10:00
priestlypython 1c2721549b fix: Support compound conditions in SafeConditionBuilder (Issue #1210)
## Problem
PR #1182 introduced SafeConditionBuilder to prevent SQL injection, but it only
supported single-clause conditions. This broke notification filters using multiple
AND/OR clauses, causing user filters like:
`AND devLastIP NOT LIKE '192.168.50.%' AND devLastIP NOT LIKE '192.168.60.%'...`
to be rejected with "Unsupported condition pattern" errors.

## Root Cause
The `_parse_condition()` method used regex patterns that only matched single
conditions. When multiple clauses were chained, the entire string failed to match
any pattern and was rejected for security.

## Solution
Enhanced SafeConditionBuilder with compound condition support:

1. **Added `_is_compound_condition()`** - Detects multiple logical operators
   while respecting quoted strings

2. **Added `_parse_compound_condition()`** - Splits compound conditions into
   individual clauses and parses each one

3. **Added `_split_by_logical_operators()`** - Intelligently splits on AND/OR
   while preserving operators in quoted strings

4. **Refactored `_parse_condition()`** - Routes to compound or single parser

5. **Created `_parse_single_condition()`** - Handles individual clauses (from
   original `_parse_condition` logic)

## Testing
- Added comprehensive test suite (19 tests, 100% passing)
- Tested user's exact failing filter (6 AND clauses with NOT LIKE)
- Verified backward compatibility with single conditions
- Validated security (SQL injection attempts still blocked)
- Tested edge cases (mixed AND/OR, whitespace, empty conditions)

## Impact
-  Fixes reported issue #1210
-  Maintains all security protections from PR #1182
-  Backward compatible with existing single-clause filters
-  No breaking changes to API

Fixes #1210

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-01 18:31:49 -07:00
jokob-sk 4534ab053d TIMEZONE not respected in System Info -> System #1055
Code checks / check-url-paths (push) Has been cancelled
docker / docker_dev (push) Has been cancelled
Deploy MkDocs / deploy (push) Has been cancelled
Signed-off-by: jokob-sk <jokob.sk@gmail.com>
2025-10-02 06:45:37 +10:00
Jeff Keller cdee9b3b0d Permissions 2025-10-01 20:33:12 +00:00
Jeff Keller 55cfced3f6 Comment out line 2025-10-01 19:41:51 +00:00
Jeff Keller af6394a334 Tweak permissions
Tighten security
2025-10-01 19:34:47 +00:00
Jeff Keller d9ecffdd22 Cleanup 2025-10-01 19:09:49 +00:00
Jeff Keller 5f0a482556 bug fix 2025-10-01 18:58:05 +00:00
Jeff Keller 09c345796f fix typo 2025-10-01 18:33:44 +00:00
Jeff Keller e7d067dd38 tweaks 2025-10-01 18:15:28 +00:00
Jeff Keller 223aa29d4d tweaks 2025-10-01 17:40:12 +00:00
rell3k 21e770a4bd Create netalertx.conf 2025-10-01 11:25:15 -04:00
Jeff Keller c086ac3cf8 Merge Deb/Ubuntu 2025-10-01 15:22:21 +00:00
Jeff Keller f900f3f0d5 Resolve merge: keep proxmox installer and add README for Proxmox installer 2025-09-30 13:38:31 +00:00
jokob-sk 5f772b3e0f docs
Code checks / check-url-paths (push) Has been cancelled
docker / docker_dev (push) Has been cancelled
Deploy MkDocs / deploy (push) Has been cancelled
Signed-off-by: jokob-sk <jokob.sk@gmail.com>
v25.10.1
2025-09-29 13:11:58 +10:00
jokob-sk 7015ba2f86 LOADED_PLUGINS not processed #1195
Signed-off-by: jokob-sk <jokob.sk@gmail.com>
2025-09-29 08:04:53 +10:00
Jokob @NetAlertX 8485f6fe48 Merge pull request #1205 from ingoratsdorf/mqtt-optimisations
Code checks / check-url-paths (push) Has been cancelled
docker / docker_dev (push) Has been cancelled
Deploy MkDocs / deploy (push) Has been cancelled
Mqtt optimisations and TZ fixes
2025-09-28 20:22:50 +10:00
Ingo Ratsdorf e3327d8718 adding CodeRabbit suggestion plus disconnect() 2025-09-28 19:08:38 +13:00
Ingo Ratsdorf af986aa540 Fixes timezone issue in publishing
Ref: Issue https://github.com/jokob-sk/NetAlertX/issues/1204
2025-09-28 17:29:21 +13:00
Ingo Ratsdorf 06c38322ed tweaks 2025-09-28 16:09:21 +13:00
Ingo Ratsdorf 3ece89379f Merge branch 'jokob-sk:main' into mqtt-optimisations 2025-09-28 15:33:43 +13:00
Jokob @NetAlertX d9fedddae2 Merge pull request #1203 from ingoratsdorf/pluginloader-fix
Code checks / check-url-paths (push) Has been cancelled
docker / docker_dev (push) Has been cancelled
Deploy MkDocs / deploy (push) Has been cancelled
Make plugin loader more robust
2025-09-27 16:26:30 +10:00
Jokob @NetAlertX 1fc015fe2d Merge pull request #1202 from ingoratsdorf/scheduler-fix
make scheduler setup more robust against wrong scheduling
2025-09-27 16:24:24 +10:00
Ingo Ratsdorf 5395524511 Make plugin loader more robust
Against stray folders, leftover artefacts and missing configs
2025-09-27 17:20:34 +12:00
Ingo Ratsdorf 4fef4a7dd4 make scheduler setup more robust against wrong scheduling
is the schedule input is incorrect, an error message is logged and the plugin will NOT run.
Creating a dummy schedule would throw the system out of balance as there's the danger of schedules running out of sync.
2025-09-27 16:52:50 +12:00
Jokob @NetAlertX 2c8fa55edb Merge pull request #1201 from ingoratsdorf/ubuntu24-rewrite
Code checks / check-url-paths (push) Has been cancelled
docker / docker_dev (push) Has been cancelled
Deploy MkDocs / deploy (push) Has been cancelled
Ubuntu 24 Installer rewrite
2025-09-27 12:16:51 +10:00
Ingo Ratsdorf 246777a290 Ubuntu 24 Installer rewrite
`setup.sh` and `start.sh` combined into a single script
netalertx now starts and runs via systemd unit, can be started, stopped and restarted
`systemctl start netalertx`
`systemctl stop netalertx`
`systemctl status netalertx`
etc
Logs to `journalctl` and output can be followed with `journalctl -f`

Amalgamated chmods
tuned chmods based on earlier feedback and discussion

install script accepts command line parameter:
- 'install' to continue and DELETE ALL!
- 'update' to just update from GIT (keeps your db and settings)
- 'start' to do nothing, leave install as-is (just run the start script, set up services etc)

Please have a look, comments welcome :-)
2025-09-27 13:18:43 +12:00
Ingo Ratsdorf 1823a8139b Merge branch 'jokob-sk:main' into mqtt-optimisations 2025-09-25 19:43:09 +12:00
Jokob @NetAlertX 3dd5c4bfcc Merge pull request #1194 from adamoutler/patch-3
Code checks / check-url-paths (push) Has been cancelled
docker / docker_dev (push) Has been cancelled
Deploy MkDocs / deploy (push) Has been cancelled
Rework Logging in restart-backend.sh
2025-09-24 15:46:26 +10:00
Adam Outler d843fd4443 Apply suggestion from @coderabbitai[bot]
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-09-23 12:00:59 -04:00
Adam Outler 9dda02d430 Modify restart script to overwrite log files 2025-09-23 11:59:52 -04:00
Adam Outler 47f23fcc4f Rework Logging in restart-backend.sh
The stdout and stderr are useful logs when debugging and trying to figure out why plugin output is causing backend to stop and exception. This commit enables output redirection to `/app/stdout.log` and `/app/stderr.log` from the backend.  This may need backporting to production as it appears the fields are unused in the backend. 

Additionally, when searching logs in the UI, the old logs appear first and your search results will invariably find old information when searching with ctrl-f-"string"-enter. So upon backend start and to keep them relevant, the stdout, stderr, and app logs are cleared.
2025-09-22 21:55:55 -04:00
Ingo Ratsdorf 75ef310e9b Merge branch 'jokob-sk:main' into mqtt-optimisations 2025-09-22 12:28:41 +12:00
Jokob @NetAlertX b78758976e Merge pull request #1191 from adamoutler/main
Code checks / check-url-paths (push) Has been cancelled
docker / docker_dev (push) Has been cancelled
Deploy MkDocs / deploy (push) Has been cancelled
Improve I/O performance with ramdisks
2025-09-22 10:05:50 +10:00
Jokob @NetAlertX 6a17edc694 Merge pull request #1192 from adamoutler/patch-2
Document standard plugin formats and logging practices
2025-09-22 10:03:06 +10:00
Adam Outler e88374e246 Document standard plugin formats and logging practices
Added standard plugin formats and logging guidelines for AI assistants.
2025-09-21 17:40:09 -04:00
Adam Outler 2c940b3422 Speed up devcontainer with ramdisk 2025-09-21 21:17:14 +00:00
Jokob @NetAlertX 739cc0e639 Merge pull request #1190 from adamoutler/patch-1
Code checks / check-url-paths (push) Has been cancelled
docker / docker_dev (push) Has been cancelled
Deploy MkDocs / deploy (push) Has been cancelled
Fix log directory setup in setup.sh
2025-09-21 20:05:40 +10:00
Adam Outler a7fa58151a Fix log directory setup in setup.sh 2025-09-21 05:54:30 -04:00
jokob-sk a6df61e22c integration tests cleanup
Code checks / check-url-paths (push) Has been cancelled
docker / docker_dev (push) Has been cancelled
Deploy MkDocs / deploy (push) Has been cancelled
Signed-off-by: jokob-sk <jokob.sk@gmail.com>
2025-09-21 16:20:38 +10:00