{"SPDXID": "SPDXRef-DOCUMENT", "creationInfo": {"comment": "This document was created by analyzing recipe files during the build.", "created": "2026-03-30T22:14:12Z", "creators": ["Tool: OpenEmbedded Core create-spdx.bbclass", "Organization: OpenEmbedded ()", "Person: N/A ()"], "licenseListVersion": "3.14"}, "dataLicense": "CC0-1.0", "documentNamespace": "http://spdx.org/spdxdocs/recipe-python3-fail2ban-0390731d-66bc-5d45-b111-68d3d223ca90", "externalDocumentRefs": [{"checksum": {"algorithm": "SHA1", "checksumValue": "448a228a31e16a4129a1c2f84258599a620e95dc"}, "externalDocumentId": "DocumentRef-dependency-recipe-gcc-cross-aarch64", "spdxDocument": "http://spdx.org/spdxdocs/recipe-gcc-cross-aarch64-e05122e2-842a-5b45-a068-7a450933ae13"}, {"checksum": {"algorithm": "SHA1", "checksumValue": "07749cf8fb19e252fbfd6dd5f213200d5ab6cd3d"}, "externalDocumentId": "DocumentRef-dependency-recipe-gcc-runtime", "spdxDocument": "http://spdx.org/spdxdocs/recipe-gcc-runtime-a8177036-816d-5f00-a030-969647302050"}, {"checksum": {"algorithm": "SHA1", "checksumValue": "a4d7727a571fa3c1d2e26605cc8a8083d4b4e73c"}, "externalDocumentId": "DocumentRef-dependency-recipe-glibc", "spdxDocument": "http://spdx.org/spdxdocs/recipe-glibc-8ec5f1d4-204b-530d-8854-79bbb314d6d7"}, {"checksum": {"algorithm": "SHA1", "checksumValue": "9ccf3f7b2526a868135b1281e496ce9ba1fc424d"}, "externalDocumentId": "DocumentRef-dependency-recipe-python3", "spdxDocument": "http://spdx.org/spdxdocs/recipe-python3-8efcec7f-0548-5fda-987e-947c0d22391f"}, {"checksum": {"algorithm": "SHA1", "checksumValue": "85e979da0092c8c91133f0d49e25f1e124278575"}, "externalDocumentId": "DocumentRef-dependency-recipe-python3-native", "spdxDocument": "http://spdx.org/spdxdocs/recipe-python3-native-34cc7325-70e1-5a3a-873a-66b0c1f8d193"}, {"checksum": {"algorithm": "SHA1", "checksumValue": "4090274a4a7ac47c0db5033d3c83ca40c2b03320"}, "externalDocumentId": "DocumentRef-dependency-recipe-python3-setuptools-native", "spdxDocument": "http://spdx.org/spdxdocs/recipe-python3-setuptools-native-92b01c14-7992-558f-a0a2-15e98166b4eb"}, {"checksum": {"algorithm": "SHA1", "checksumValue": "ed6064926940edd4c4d743f8c196cfb447181a56"}, "externalDocumentId": "DocumentRef-dependency-recipe-systemd-systemctl-native", "spdxDocument": "http://spdx.org/spdxdocs/recipe-systemd-systemctl-native-2f3d50ae-528c-5654-b3e7-3b2e2de42e45"}], "name": "recipe-python3-fail2ban", "packages": [{"SPDXID": "SPDXRef-Recipe-python3-fail2ban", "copyrightText": "NOASSERTION", "description": "Fail2Ban scans log files like /var/log/auth.log and bans IP addresses having too many failed login attempts. It does this by updating system firewall rules to reject new connections from those IP addresses, for a configurable amount of time. Fail2Ban comes out-of-the-box ready to read many standard log files, such as those for sshd and Apache, and is easy to configure to read any log file you choose, for any error you choose.", "downloadLocation": "NOASSERTION", "externalRefs": [{"referenceCategory": "SECURITY", "referenceLocator": "cpe:2.3:*:*:python3-fail2ban:1.0.2:*:*:*:*:*:*:*", "referenceType": "http://spdx.org/rdf/references/cpe23Type"}], "homepage": "http://www.fail2ban.org", "licenseConcluded": "NOASSERTION", "licenseDeclared": "GPL-2.0-only", "licenseInfoFromFiles": ["NOASSERTION"], "name": "python3-fail2ban", "summary": "Daemon to ban hosts that cause multiple authentication errors.", "supplier": "Organization: OpenEmbedded ()", "versionInfo": "1.0.2"}, {"SPDXID": "SPDXRef-Download-python3-fail2ban-1", "copyrightText": "NOASSERTION", "downloadLocation": "git+https://github.com/fail2ban/fail2ban.git@e1d3006b0330e9777705a7baafe3989d442ed120", "licenseConcluded": "NOASSERTION", "licenseDeclared": "NOASSERTION", "licenseInfoFromFiles": ["NOASSERTION"], "name": "python3-fail2ban-source-1", "supplier": "NOASSERTION"}], "relationships": [{"relatedSpdxElement": "SPDXRef-Recipe-python3-fail2ban", "relationshipType": "DESCRIBES", "spdxElementId": "SPDXRef-DOCUMENT"}, {"relatedSpdxElement": "SPDXRef-Download-python3-fail2ban-1", "relationshipType": "DESCRIBES", "spdxElementId": "SPDXRef-DOCUMENT"}, {"relatedSpdxElement": "SPDXRef-Recipe-python3-fail2ban", "relationshipType": "BUILD_DEPENDENCY_OF", "spdxElementId": "SPDXRef-Download-python3-fail2ban-1"}, {"relatedSpdxElement": "SPDXRef-Recipe-python3-fail2ban", "relationshipType": "BUILD_DEPENDENCY_OF", "spdxElementId": "DocumentRef-dependency-recipe-gcc-cross-aarch64:SPDXRef-Recipe-gcc-cross-aarch64"}, {"relatedSpdxElement": "SPDXRef-Recipe-python3-fail2ban", "relationshipType": "BUILD_DEPENDENCY_OF", "spdxElementId": "DocumentRef-dependency-recipe-gcc-runtime:SPDXRef-Recipe-gcc-runtime"}, {"relatedSpdxElement": "SPDXRef-Recipe-python3-fail2ban", "relationshipType": "BUILD_DEPENDENCY_OF", "spdxElementId": "DocumentRef-dependency-recipe-glibc:SPDXRef-Recipe-glibc"}, {"relatedSpdxElement": "SPDXRef-Recipe-python3-fail2ban", "relationshipType": "BUILD_DEPENDENCY_OF", "spdxElementId": "DocumentRef-dependency-recipe-python3:SPDXRef-Recipe-python3"}, {"relatedSpdxElement": "SPDXRef-Recipe-python3-fail2ban", "relationshipType": "BUILD_DEPENDENCY_OF", "spdxElementId": "DocumentRef-dependency-recipe-python3-native:SPDXRef-Recipe-python3-native"}, {"relatedSpdxElement": "SPDXRef-Recipe-python3-fail2ban", "relationshipType": "BUILD_DEPENDENCY_OF", "spdxElementId": "DocumentRef-dependency-recipe-python3-setuptools-native:SPDXRef-Recipe-python3-setuptools-native"}, {"relatedSpdxElement": "SPDXRef-Recipe-python3-fail2ban", "relationshipType": "BUILD_DEPENDENCY_OF", "spdxElementId": "DocumentRef-dependency-recipe-systemd-systemctl-native:SPDXRef-Recipe-systemd-systemctl-native"}], "spdxVersion": "SPDX-2.2"}