Skip to content

Commit e9c132a

Browse files
committed
Merge branch 'develop' into severity
2 parents 8b27c33 + 34ead79 commit e9c132a

File tree

100 files changed

+1807
-621
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

100 files changed

+1807
-621
lines changed

.github/workflows/codespell.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ on:
1818
jobs:
1919
codespell:
2020
name: Find and notify about common misspellings
21-
runs-on: ubuntu-20.04
21+
runs-on: ubuntu-latest
2222
# This should not fail the whole workflow run
2323
continue-on-error: true
2424

.github/workflows/debian-package.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ on:
1616

1717
jobs:
1818
build:
19-
runs-on: ubuntu-20.04
19+
runs-on: ubuntu-latest
2020
env:
2121
# Fixes https://github.com/actions/virtual-environments/issues/3080
2222
STORAGE_OPTS: overlay.mount_program=/usr/bin/fuse-overlayfs

.github/workflows/regexploit.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,16 @@ on:
1919
jobs:
2020
regexploit:
2121
name: Find regular expressions which are vulnerable to ReDoS
22-
runs-on: ubuntu-20.04
22+
runs-on: ubuntu-latest
2323
# This should not fail the whole workflow run
2424
continue-on-error: true
2525

2626
steps:
2727
- name: Checkout repository
2828
uses: actions/checkout@v3
2929
- name: Install regexploit
30-
run: pip install regexploit
30+
#run: pip install regexploit
31+
# See https://github.com/doyensec/regexploit/pull/16
32+
run: pip install git+https://github.com/sebix/regexploit.git@unsupported-ops-yaml
3133
- name: Run regexploit
3234
run: /home/runner/work/intelmq/intelmq/.github/workflows/scripts/regexploit.sh

.github/workflows/scripts/setup-full.sh

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,6 @@ sudo chown -R elasticsearch:elasticsearch /etc/default/elasticsearch
1515
sudo systemctl start elasticsearch
1616

1717
sudo apt update
18-
if [ $python_version == '3.8' ]; then
19-
# for pymssql there are no wheels for 3.8 https://github.com/certtools/intelmq/issues/2539
20-
DEBIAN_FRONTEND="noninteractive" sudo -E apt install -y build-essential freetds-dev libssl-dev libkrb5-dev
21-
fi
2218
# for psql (used below)
2319
DEBIAN_FRONTEND="noninteractive" sudo -E apt install -y postgresql-client
2420

.github/workflows/unittests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
strategy:
1919
fail-fast: false
2020
matrix:
21-
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12', '3.13']
21+
python-version: ['3.9', '3.10', '3.11', '3.12', '3.13']
2222
type: ['full', 'basic']
2323

2424
services:

CHANGELOG.md

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,14 @@ Please refer to the [NEWS](NEWS.md) for a list of changes which have an affect o
1414
--------------------------------
1515

1616
### Configuration
17+
- New parameter `stop_retry_limit` (PR#2598 by Lukas Heindl).
1718

1819
### Core
20+
- Drop support for Python 3.8 (fixes #2616, PR#2617 by Sebastian Wagner).
21+
- `intelmq.lib.splitreports`: Handle bot parameter `chunk_size` values empty string, due to missing parameter typing checks (PR#2604 by Sebastian Wagner).
22+
- `intelmq.lib.mixins.sql` Add Support for MySQL (PR#2625 by Karl-Johan Karlsson).
23+
- New parameter `stop_retry_limit` to gracefully handle stopping bots which take longer to shutdown (PR#2598 by Lukas Heindl, fixes #2595).
24+
- `intelmq.lib.datatypes`: Remove unneeded Dict39 alias (PR#2639 by Nakul Rajpal, fixes #2635)
1925

2026
### Development
2127

@@ -26,24 +32,54 @@ Please refer to the [NEWS](NEWS.md) for a list of changes which have an affect o
2632

2733
### Bots
2834
#### Collectors
35+
- Remove `intelmq.bots.collectors.blueliv` as it uses an unmaintained library, does not work any more and breaks other CI tests (fixes #2593, PR#2632 by Sebastian Wagner).
2936

3037
#### Parsers
38+
- `intelmq.bots.parsers.cymru.parser_cap_program`: Add mapping for TOR and ipv6-icmp protocol (PR#2621 by Mikk Margus Möll).
39+
- Remove `intelmq.bots.collectors.blueliv` as it is obsolete with the removed collector (PR#2632 by Sebastian Wagner).
3140

3241
#### Experts
33-
- `intelmq.bots.experts.asn_lookup.expert`: Print URLs to stdout only in verbose mode (PR#2591 by Sebastian Wagner).
42+
- `intelmq.bots.experts.asn_lookup.expert`:
43+
- Print URLs to stdout only in verbose mode (PR#2591 by Sebastian Wagner).
44+
- Check for database file existence and writability (fixes #2566).
45+
- Use database path matching to installation type (PR#2606 by Sebastian Wagner).
46+
- `intelmq.bots.experts.fake.expert`:
47+
- Use database path matching to installation type (PR#2606 by Sebastian Wagner).
48+
- Add new mode `random_single_value` (PR#2601 by Sebastian Wagner).
49+
- `intelmq.bots.experts.sieve.expert`: Test for textX dependency in self-check (PR#2605 by Sebastian Wagner).
50+
- `intelmq.bots.experts.trusted_introducer_lookup.expert`: Change to new TI database URL (fixes #2620, PR#2633 by Sebastian Wagner).
3451

3552
#### Outputs
53+
- `intelmq.bots.outputs.smtp_batch.output`:
54+
- Add new parameter `additional_grouping_keys` for an enhanced email batching feature.
55+
- Add new parameter `templating` for additional template variables.
56+
- Add new parameter `allowed_fieldnames` for csv field specification.
57+
- Add new parameter `fieldnames_translation` for naming csv headers (PR#2610 by Lukas Heindl, fixes #2586).
58+
- `intelmq.bots.outputs.sql.output`: Add Support for MySQL (PR#2625 by Karl-Johan Karlsson).
3659

3760
### Documentation
61+
- Fix and refresh links to mailing lists (PR#2609 by Kamil Mańkowski)
62+
- `Aggregate Bot`: Add illustration graphics (PR#2612 by Sebastian Wagner).
3863

3964
### Packaging
4065
- Replace `/opt/intelmq` example paths in bots with variable `VAR_STATE_PATH` for correct paths in LSB-path setups like with packages (PR#2587 by Sebastian Wagner).
66+
- New deb-package `intelmq-contrib` with all `contrib/` scripts and documentation (PR#2614 by Sebastian Wagner).
67+
- New deb-package `intelmq-autostart` containing systemd services and timers to start all enabled IntelMQ bots at boot and periodically (PR#2638 by Sebastian Wagner).
4168

4269
### Tests
70+
- `intelmq.tests.lib.test_pipeline.TestAmqp.test_acknowledge`: Skip on all Python versions when running on CI (PR#2602 by Sebastian Wagner).
71+
- `.github/workflows/codespell.yml`, `debian-package.yml`, `regexploit.yml`: Upgrade to `ubuntu-latest` runners (PR#2602 by Sebastian Wagner).
72+
- `intelmq.test.test_conf`: With changed behaviour in ruamel.yaml on line wrapping since version 0.18.13, only test the parsabilty of `runtime.yaml` (PR#2619 by Sebastian Wagner).
73+
- `intelmq.test.BotTestCase.test_static_bot_check_method`: Remove debugging stub raising for all non-empty checks (PR#2622 by Sebastian Wagner).
4374

4475
### Tools
76+
- `intelmq.bin.intelmq_psql_initdb`: Use `JSONB` type by default, Postgres supports it since version 9 (PR#2597 by Sebastian Wagner).
77+
- `intelmq.bin.rewrite_config_files`: Removed obsolete JSON configuration file rewriter (PR#2613 by Sebastian Wagner).
78+
- `intelmq/lib/bot_debugger.py`: Fix overwriting the runtime logging level by command line parameter (PR#2603 by Sebastian Wagner, fixes #2563).
79+
- `intelmq.bin.intelmqctl`: Fix bot log level filtering (PR#2607 by Sebastian Wagner, fixes #2596).
4580

4681
### Contrib
82+
- Bash Completion: Adapt to YAML-style runtime configuration (PR#2642 by Sebastian Wagner, fixes #2094).
4783

4884
### Known issues
4985

@@ -108,6 +144,7 @@ Please refer to the [NEWS](NEWS.md) for a list of changes which have an affect o
108144
- `intelmq.tests.lib.test_pipeline.TestAmqp.test_acknowledge`: Also skip on Python 3.11 and 3.12 besides on 3.8 when running on CI (PR#2542 by Sebastian Wagner).
109145
- Full pytest workflow: Version-independent install of postgres client, for Ubuntu 24.04 (default on GitHub now) test environment compatibility (PR#2557 by Sebastian Wagner).
110146
- Debian package build workflow: Use artifact upload v4 instead of v3 (PR#2565 by Sebastian Wagner).
147+
- `intelmq.lib.test.BotTestCase`: Show the warnings and errors of a bot if the amount does not match the expected number (PR#2578 by Kamil Mankowski/Sebastian Wagner, related to #2571).
111148

112149
### Known issues
113150
This is short list of the most important known issues. The full list can be retrieved from [GitHub](https://github.com/certtools/intelmq/labels/bug?page=2&q=is%3Aopen+label%3Abug).

MANIFEST.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ graft intelmq/tests
1010
include COPYRIGHT
1111
include LICENSE
1212
include CHANGELOG.md
13-
recursive-exclude intelmq/bin intelmq_gen_feeds_docs.py intelmq_gen_harm_docs.py rewrite_config_files.py
13+
recursive-exclude intelmq/bin intelmq_gen_feeds_docs.py intelmq_gen_harm_docs.py
1414
exclude .*
1515
global-exclude *~
1616
global-exclude *.py[co]

Makefile

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
# SPDX-FileCopyrightText: 2023 Filip Pokorný
1+
# SPDX-FileCopyrightText: 2023-2025 Filip Pokorný, Sebastian Wagner
22
# SPDX-License-Identifier: AGPL-3.0-or-later
33

4-
.PHONY: coverage docs clean
4+
.PHONY: coverage docs clean test codespell codestyle
55

66
coverage:
77
python -m pytest --cov=intelmq -v
@@ -22,3 +22,6 @@ test:
2222

2323
codestyle:
2424
pycodestyle intelmq/{bots,lib,bin}
25+
26+
licenses:
27+
reuse lint

NEWS.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ Please refer to the change log for a full list of changes.
1414
--------------------------------
1515

1616
### Requirements
17+
Python `>=3.9` is now required, which is available on all platforms supported by IntelMQ.
1718

1819
### Tools
1920

@@ -29,6 +30,11 @@ ALTER TABLE events ADD severity varchar(10);
2930
### Libraries
3031

3132
### Postgres databases
33+
To switch to the more efficient data type `jsonb` instead of `json`, use the following SQL statement. Data is preserved. JSONB also has more query and data manipulation features than plain JSON.
34+
```sql
35+
ALTER TABLE events
36+
ALTER COLUMN "extra" SET DATA TYPE jsonb;
37+
```
3238

3339

3440
3.4.0 Feature release (2025-03-14)
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# SPDX-FileCopyrightText: 2025 Institute for Common Good Technology
2+
# SPDX-License-Identifier: AGPL-3.0-or-later
3+
4+
[Unit]
5+
Description=Periodically start all enabled IntelMQ bots
6+
7+
[Timer]
8+
# run every 5 minutes
9+
OnUnitActiveSec=5minutes
10+
Unit=intelmq-start.service
11+
Persistent=true
12+
13+
[Install]
14+
WantedBy=multi-user.target timers.target

0 commit comments

Comments
 (0)