Skip to content

fix(filters/pfsense): support hostname-less syslog headers and disambiguate CSV variants - #2549

Merged
osmontero merged 1 commit into
release/v11.2.14from
backlog/pfsense-fw-parse-fix
Sep 8, 2026
Merged

osmontero merged 1 commit into
release/v11.2.14from
backlog/pfsense-fw-parse-fix

Conversation

@JocLRojas

@JocLRojas JocLRojas commented Sep 7, 2026 •

Copy link
Copy Markdown
Contributor

Detailed explanation of the changes

The pfSense filter (filters/pfsense/pfsense_fw.yml) was adjusted in two ways:

  1. Syslog header without hostname: A variant of the header parser was added to recognize events where pfSense sends the log directly with the process (filterlog[...]) without including the hostname.

  2. IPv4/IPv6 variant separation: The conditions that determine which message format to apply (TCP, UDP, ICMP for IPv4 and IPv6) were adjusted so that each event only enters the correct variant. Previously, some conditions overlapped and caused parsing errors when an IPv6 event mistakenly fell into an IPv4 variant.

Reasoning behind these changes

pfSense events arriving without a hostname in the header were not parsed. Additionally, even when the header was successfully parsed, some IPv6 events triggered a "column index out of range" error because multiple format variants were competing for the same event.

With these adjustments:

  • Both pfSense header formats (with and without hostname) are supported, without breaking compatibility with logs that were already parsing correctly.

  • Each event is processed by only one parser variant, eliminating the column index error and ensuring that fields are populated correctly for correlation rules.

Issue reference

#1852

@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown

❌ Go dependencies check failed

There are outdated Go dependencies, or modules that could not be inspected.
Run bash .github/scripts/go-deps.sh --update --discover locally and
commit the updated go.mod / go.sum files.

Script output
🔍 Discovered 26 Go projects

📦 Dependencies with updates available:

  📁 ./plugins/soc-ai:
     - github.com/threatwinds/go-sdk: v1.1.26 → v1.1.31
     - google.golang.org/protobuf: v1.36.11 → v1.36.12

  📁 ./plugins/feeds:
     - github.com/threatwinds/go-sdk: v1.1.26 → v1.1.31

  📁 ./plugins/crowdstrike:
     - github.com/crowdstrike/gofalcon: v0.21.1 → v0.22.0
     - github.com/threatwinds/go-sdk: v1.1.26 → v1.1.31
     - google.golang.org/grpc: v1.83.0 → v1.83.2
     - google.golang.org/protobuf: v1.36.11 → v1.36.12

  📁 ./plugins/sophos:
     - github.com/threatwinds/go-sdk: v1.1.26 → v1.1.31
     - google.golang.org/grpc: v1.83.0 → v1.83.2
     - google.golang.org/protobuf: v1.36.11 → v1.36.12

  📁 ./plugins/bitdefender:
     - github.com/threatwinds/go-sdk: v1.1.26 → v1.1.31
     - google.golang.org/grpc: v1.83.0 → v1.83.2
     - google.golang.org/protobuf: v1.36.11 → v1.36.12

  📁 ./plugins/stats:
     - github.com/threatwinds/go-sdk: v1.1.26 → v1.1.31
     - google.golang.org/protobuf: v1.36.11 → v1.36.12

  📁 ./plugins/azure:
     - github.com/Azure/azure-sdk-for-go/sdk/azcore: v1.22.0 → v1.23.1
     - github.com/threatwinds/go-sdk: v1.1.26 → v1.1.31
     - google.golang.org/grpc: v1.83.0 → v1.83.2
     - google.golang.org/protobuf: v1.36.11 → v1.36.12

  📁 ./plugins/alerts:
     - github.com/threatwinds/go-sdk: v1.1.26 → v1.1.31
     - google.golang.org/protobuf: v1.36.11 → v1.36.12

  📁 ./plugins/inputs:
     - github.com/threatwinds/go-sdk: v1.1.26 → v1.1.31
     - google.golang.org/grpc: v1.83.0 → v1.83.2
     - google.golang.org/protobuf: v1.36.11 → v1.36.12

  📁 ./plugins/config:
     - github.com/threatwinds/go-sdk: v1.1.26 → v1.1.31

  📁 ./plugins/events:
     - github.com/threatwinds/go-sdk: v1.1.26 → v1.1.31

  📁 ./plugins/modules-config:
     - cloud.google.com/go/pubsub: v1.51.0 → v1.51.1
     - github.com/aws/aws-sdk-go-v2/config: v1.32.34 → v1.33.3
     - github.com/aws/aws-sdk-go-v2/credentials: v1.19.33 → v1.20.3
     - github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs: v1.81.0 → v1.86.0
     - github.com/aws/aws-sdk-go-v2/service/sts: v1.45.3 → v1.49.0
     - github.com/crowdstrike/gofalcon: v0.21.1 → v0.22.0
     - github.com/threatwinds/go-sdk: v1.1.26 → v1.1.31
     - google.golang.org/api: v0.292.0 → v0.297.0
     - google.golang.org/grpc: v1.83.0 → v1.83.2
     - google.golang.org/protobuf: v1.36.11 → v1.36.12

  📁 ./plugins/geolocation:
     - github.com/threatwinds/go-sdk: v1.1.26 → v1.1.31

  📁 ./plugins/o365:
     - github.com/threatwinds/go-sdk: v1.1.26 → v1.1.31
     - google.golang.org/grpc: v1.83.0 → v1.83.2
     - google.golang.org/protobuf: v1.36.11 → v1.36.12

  📁 ./plugins/aws:
     - github.com/aws/aws-sdk-go-v2: v1.43.3 → v1.46.0
     - github.com/aws/aws-sdk-go-v2/config: v1.32.34 → v1.33.3
     - github.com/aws/aws-sdk-go-v2/credentials: v1.19.33 → v1.20.3
     - github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs: v1.81.0 → v1.86.0
     - github.com/threatwinds/go-sdk: v1.1.26 → v1.1.31
     - google.golang.org/grpc: v1.83.0 → v1.83.2
     - google.golang.org/protobuf: v1.36.11 → v1.36.12

  📁 ./plugins/gcp:
     - cloud.google.com/go/pubsub: v1.51.0 → v1.51.1
     - github.com/threatwinds/go-sdk: v1.1.26 → v1.1.31
     - google.golang.org/api: v0.292.0 → v0.297.0
     - google.golang.org/grpc: v1.83.0 → v1.83.2
     - google.golang.org/protobuf: v1.36.11 → v1.36.12

  📁 ./plugins/rule-flood-guard:
     - github.com/threatwinds/go-sdk: v1.1.26 → v1.1.31
     - google.golang.org/protobuf: v1.36.11 → v1.36.12

  📁 ./as400:
     - github.com/threatwinds/go-sdk: v1.1.26 → v1.1.31
     - google.golang.org/grpc: v1.83.0 → v1.83.2
     - google.golang.org/protobuf: v1.36.11 → v1.36.12

  📁 ./as400/updater:
     - github.com/threatwinds/go-sdk: v1.1.26 → v1.1.31

  📁 ./installer:
     - github.com/cloudfoundry/gosigar: v1.3.125 → v1.3.126

  📁 ./agent-manager:
     - github.com/threatwinds/go-sdk: v1.1.26 → v1.1.31
     - google.golang.org/grpc: v1.83.0 → v1.83.2
     - google.golang.org/protobuf: v1.36.11 → v1.36.12

  📁 ./utmstack-collector:
     - github.com/threatwinds/go-sdk: v1.1.26 → v1.1.31
     - google.golang.org/grpc: v1.83.0 → v1.83.2
     - google.golang.org/protobuf: v1.36.11 → v1.36.12

  📁 ./agent:
     - github.com/threatwinds/go-sdk: v1.1.26 → v1.1.31
     - google.golang.org/grpc: v1.83.0 → v1.83.2
     - google.golang.org/protobuf: v1.36.11 → v1.36.12

�[0;31m❌ Please update dependencies before merging.�[0m

@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown

✅ AI review — Approved

No issues detected in this diff.

✅ architecture (gemini-3-flash-lite) — clean

Summary: No reviewable changes in this diff (excluded paths only).

No findings.

✅ bugs (gemini-3-flash-lite) — clean

Summary: No reviewable changes in this diff (excluded paths only).

No findings.

✅ security (gemini-3-flash-lite) — clean

Summary: No reviewable changes in this diff (excluded paths only).

No findings.

@utmstackprapprover utmstackprapprover Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes requested — Go dependencies check failed (see above).

@osmontero
osmontero merged commit 31d94b4 into release/v11.2.14 Sep 8, 2026
5 of 7 checks passed
@osmontero
osmontero deleted the backlog/pfsense-fw-parse-fix branch September 8, 2026 15:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants