diff --git a/.github/workflows/agreements.yaml b/.github/workflows/agreements.yaml index c366662821..66471656d7 100644 --- a/.github/workflows/agreements.yaml +++ b/.github/workflows/agreements.yaml @@ -18,7 +18,7 @@ jobs: - name: "CLA Assistant" if: (github.event.comment.body == 'recheck' || github.event.comment.body == 'I have read the CLA Document and I hereby sign the CLA') || github.event_name == 'pull_request_target' # Alpha Release - uses: contributor-assistant/github-action@v2.6.0 + uses: contributor-assistant/github-action@v2.6.1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # the below token should have repo scope and must be manually added by you in the repository's secret @@ -43,7 +43,7 @@ jobs: - name: "COC Assistant" if: (github.event.comment.body == 'recheck' || github.event.comment.body == 'I have read the Code of Conduct and I hereby accept the Terms') || github.event_name == 'pull_request_target' # Alpha Release - uses: contributor-assistant/github-action@v2.6.0 + uses: contributor-assistant/github-action@v2.6.1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # the below token should have repo scope and must be manually added by you in the repository's secret diff --git a/.github/workflows/ci-lite.yaml b/.github/workflows/ci-lite.yaml index 870d9640dc..af0b64897c 100644 --- a/.github/workflows/ci-lite.yaml +++ b/.github/workflows/ci-lite.yaml @@ -53,12 +53,12 @@ jobs: with: submodules: false persist-credentials: false - - uses: actions/setup-node@v6 + - uses: actions/setup-node@v6.3.0 with: node-version: "24" - name: Semantic Release id: version - uses: cycjimmy/semantic-release-action@v3 + uses: cycjimmy/semantic-release-action@v5 with: semantic_version: 18 extra_plugins: | @@ -107,7 +107,9 @@ jobs: path: /tmp/THIRDPARTY - name: run fossa test run: | - fossa test --debug + if ! fossa test --debug; then + echo "::warning::FOSSA compliance test failed. Review issues above." + fi env: FOSSA_API_KEY: ${{ secrets.FOSSA_API_KEY }} @@ -468,12 +470,12 @@ jobs: with: submodules: false persist-credentials: false - - uses: actions/setup-node@v6 + - uses: actions/setup-node@v6.3.0 with: node-version: "24" - name: Semantic Release id: version - uses: cycjimmy/semantic-release-action@v3 + uses: cycjimmy/semantic-release-action@v5 with: semantic_version: 18 extra_plugins: | diff --git a/.github/workflows/ci-main.yaml b/.github/workflows/ci-main.yaml index 0eeaf8b41c..a65f28a911 100644 --- a/.github/workflows/ci-main.yaml +++ b/.github/workflows/ci-main.yaml @@ -52,12 +52,12 @@ jobs: with: submodules: false persist-credentials: false - - uses: actions/setup-node@v6 + - uses: actions/setup-node@v6.3.0 with: node-version: "24" - name: Semantic Release id: version - uses: cycjimmy/semantic-release-action@v3 + uses: cycjimmy/semantic-release-action@v5 with: semantic_version: 18 extra_plugins: | @@ -106,7 +106,9 @@ jobs: path: /tmp/THIRDPARTY - name: run fossa test run: | - fossa test --debug + if ! fossa test --debug; then + echo "::warning::FOSSA compliance test failed. Review issues above." + fi env: FOSSA_API_KEY: ${{ secrets.FOSSA_API_KEY }} @@ -469,12 +471,12 @@ jobs: with: submodules: false persist-credentials: false - - uses: actions/setup-node@v6 + - uses: actions/setup-node@v6.3.0 with: node-version: "24" - name: Semantic Release id: version - uses: cycjimmy/semantic-release-action@v3 + uses: cycjimmy/semantic-release-action@v5 with: semantic_version: 18 extra_plugins: | diff --git a/charts/splunk-connect-for-syslog/Chart.yaml b/charts/splunk-connect-for-syslog/Chart.yaml index d9a87d136b..9ab3f8b9e6 100644 --- a/charts/splunk-connect-for-syslog/Chart.yaml +++ b/charts/splunk-connect-for-syslog/Chart.yaml @@ -3,5 +3,5 @@ apiVersion: v2 name: splunk-connect-for-syslog description: Deploy Splunk Connect for Syslog type: application -version: 3.40.0 -appVersion: "3.40.0" +version: 3.41.0 +appVersion: "3.41.0" diff --git a/package/Dockerfile b/package/Dockerfile index 9d0b34f69a..8205c59c1c 100644 --- a/package/Dockerfile +++ b/package/Dockerfile @@ -72,9 +72,6 @@ COPY poetry.lock / RUN python3 -m venv /var/lib/python-venv \ && /var/lib/python-venv/bin/pip3 install --upgrade pip==26.0 \ && poetry export --format requirements.txt | /var/lib/python-venv/bin/pip3 --no-cache-dir install -r /dev/stdin \ - # This is to upgrade urllib3 and jaraco.context to avoid vulnerabilities, can be remoeved once setuptools is updated upstream - && /var/lib/python-venv/bin/pip3 install --upgrade "jaraco.context>=6.1.0" "urllib3>=2.6.3" "Werkzeug>=3.1.6" \ - && /var/lib/syslog-ng-venv/bin/pip3 install --upgrade pip==26.0 "urllib3>=2.6.3" || true \ && rm -rf /var/lib/python-venv/lib/python3.*/site-packages/setuptools/_vendor/*.dist-info || true \ && rm -rf /var/lib/syslog-ng-venv/lib/python3.*/site-packages/setuptools/_vendor/*.dist-info || true \ && apk del build-base python3-dev libffi-dev diff --git a/package/Dockerfile.lite b/package/Dockerfile.lite index a76e3b8270..ae81078f32 100644 --- a/package/Dockerfile.lite +++ b/package/Dockerfile.lite @@ -72,9 +72,6 @@ COPY poetry.lock / RUN python3 -m venv /var/lib/python-venv \ && /var/lib/python-venv/bin/pip3 install --upgrade pip==26.0 \ && poetry export --format requirements.txt | /var/lib/python-venv/bin/pip3 --no-cache-dir install -r /dev/stdin \ - # This is to upgrade urllib3 and jaraco.context to avoid vulnerabilities, can be remoeved once setuptools is updated upstream - && /var/lib/python-venv/bin/pip3 install --upgrade "jaraco.context>=6.1.0" "urllib3>=2.6.3" "Werkzeug>=3.1.6" \ - && /var/lib/syslog-ng-venv/bin/pip3 install --upgrade pip==26.0 "urllib3>=2.6.3" || true \ && rm -rf /var/lib/python-venv/lib/python3.*/site-packages/setuptools/_vendor/*.dist-info || true \ && rm -rf /var/lib/syslog-ng-venv/lib/python3.*/site-packages/setuptools/_vendor/*.dist-info || true \ && apk del build-base python3-dev libffi-dev diff --git a/package/etc/VERSION b/package/etc/VERSION index 7e16c94210..371986f6df 100644 --- a/package/etc/VERSION +++ b/package/etc/VERSION @@ -1 +1 @@ -3.40.0 +3.41.0 diff --git a/package/etc/conf.d/conflib/almost-syslog/app-almost-syslog-guardicore_centra.conf b/package/etc/conf.d/conflib/almost-syslog/app-almost-syslog-guardicore_centra.conf new file mode 100644 index 0000000000..b539991a68 --- /dev/null +++ b/package/etc/conf.d/conflib/almost-syslog/app-almost-syslog-guardicore_centra.conf @@ -0,0 +1,38 @@ +rewrite set_rfc3164_guardicore_centra{ + set-tag("wireformat:rfc3164_guardicore_centra"); +}; + +filter f_is_rfc3164_guardicore_centra{ + tags("wireformat:rfc3164_guardicore_centra"); +}; + +block parser app-almost-syslog-guardicore_centra() { + channel { + parser { + regexp-parser( + prefix(".tmp.") + patterns('^(?\<\d+\>) ?(?\d{4}-\d{2}-\d{2}T\d{2}:\d{2}(?::\d{2})?(?:Z|[+-]\d{2}:?\d{2})?) (?[^ ]+) (?CEF:0.*)') + ); + date-parser( + format( + '%Y-%m-%dT%H:%MZ' + ) + template("${.tmp.timestamp}") + ); + syslog-parser( + flags(assume-utf8) + template("${.tmp.pri} $S_ISODATE ${.tmp.host} ${.tmp.message}") + ); + }; + rewrite(set_rfc); + rewrite(set_rfc3164); + rewrite(set_rfc3164_guardicore_centra); + }; +}; + +application app-almost-syslog-guardicore_centra[sc4s-almost-syslog] { + filter { + message('CEF:0|Guardicore|Centra|' type(string) flags(substring)); + }; + parser { app-almost-syslog-guardicore_centra(); }; +}; diff --git a/package/etc/conf.d/conflib/almost-syslog/app-almost-syslog-vmware_vsphere_isodate.conf b/package/etc/conf.d/conflib/almost-syslog/app-almost-syslog-vmware_vsphere_isodate.conf new file mode 100644 index 0000000000..2449fef3da --- /dev/null +++ b/package/etc/conf.d/conflib/almost-syslog/app-almost-syslog-vmware_vsphere_isodate.conf @@ -0,0 +1,31 @@ +rewrite set_rfc3164_vmware_vsphere_isodate{ + set-tag("wireformat:rfc3164_vmware_vsphere_isodate"); +}; +filter f_is_rfc3164_vmware_vsphere_isodate{ + tags("wireformat:rfc3164_vmware_vsphere_isodate"); +}; + +# Handles VMware vCenter/Aria logs with non-standard ISO 8601 timestamps +# using a space separator instead of "T" (e.g. "2025-02-04 12:43:21.777" +# rather than "2025-02-04T12:43:21.777"). +# See: https://github.com/splunk/splunk-connect-for-syslog/issues/2696 +block parser app-almost-syslog-vmware_vsphere_isodate() { + channel { + parser { + regexp-parser( + prefix(".tmp.") + patterns('^(?\<\d+\>) ?(?\d{4}-\d{2}-\d{2}) (?