|
| 1 | +# CODEOWNERS — inverse-inc/packetfence |
| 2 | +# |
| 3 | +# Implements the code-owner review control for the ISO 27001 / SOC 2 change-control |
| 4 | +# baseline (ISO 27001:2022 A.8.32 change management, A.8.4 access to source code; |
| 5 | +# SOC 2 CC8.1). General application paths are owned by the maintainer group; paths |
| 6 | +# with a direct bearing on authentication, authorisation, cryptography or build-chain |
| 7 | +# integrity are owned by the named security reviewers. |
| 8 | +# |
| 9 | +# SEMANTICS: the LAST matching pattern wins. The catch-all is therefore declared |
| 10 | +# first and the high-sensitivity paths after it. A pattern that matches no file is |
| 11 | +# silently inert — every path below was validated against the devel tree. |
| 12 | +# |
| 13 | +# BRANCH SCOPE: GitHub resolves CODEOWNERS from the BASE branch of a pull request. |
| 14 | +# This file governs pull requests targeting `devel` only. It has no effect on pull |
| 15 | +# requests targeting maintenance/* branches until it is backported to each of them. |
| 16 | +# |
| 17 | +# PREREQUISITE: a team is only a valid code owner if it holds write access to this |
| 18 | +# repository. Both teams below must hold at least Write for these rules to operate. |
| 19 | + |
| 20 | +# --------------------------------------------------------------------------- |
| 21 | +# Default owner — everything not matched by a more specific rule below |
| 22 | +# --------------------------------------------------------------------------- |
| 23 | +* @inverse-inc/inverse-maintainers |
| 24 | + |
| 25 | +# --------------------------------------------------------------------------- |
| 26 | +# Authentication, authorisation and credential handling |
| 27 | +# --------------------------------------------------------------------------- |
| 28 | +/lib/pf/Authentication/ @inverse-inc/inverse-security-reviewers |
| 29 | +/lib/pf/authentication.pm @inverse-inc/inverse-security-reviewers |
| 30 | +/lib/pf/password.pm @inverse-inc/inverse-security-reviewers |
| 31 | +/lib/pf/admin_roles.pm @inverse-inc/inverse-security-reviewers |
| 32 | +/lib/pf/auth_log.pm @inverse-inc/inverse-security-reviewers |
| 33 | +/lib/pf/access_filter/ @inverse-inc/inverse-security-reviewers |
| 34 | +/lib/pf/access_filter.pm @inverse-inc/inverse-security-reviewers |
| 35 | +/lib/pf/role/ @inverse-inc/inverse-security-reviewers |
| 36 | +/lib/pf/role.pm @inverse-inc/inverse-security-reviewers |
| 37 | +/lib/pf/roles/ @inverse-inc/inverse-security-reviewers |
| 38 | +/lib/pf/roles.pm @inverse-inc/inverse-security-reviewers |
| 39 | +/lib/pf/cidr_role.pm @inverse-inc/inverse-security-reviewers |
| 40 | + |
| 41 | +# --------------------------------------------------------------------------- |
| 42 | +# RADIUS — the network authentication path |
| 43 | +# --------------------------------------------------------------------------- |
| 44 | +/lib/pf/radius/ @inverse-inc/inverse-security-reviewers |
| 45 | +/lib/pf/radius.pm @inverse-inc/inverse-security-reviewers |
| 46 | +/lib/pf/radius_audit_log.pm @inverse-inc/inverse-security-reviewers |
| 47 | +/lib/pf/freeradius.pm @inverse-inc/inverse-security-reviewers |
| 48 | +/raddb/ @inverse-inc/inverse-security-reviewers |
| 49 | +/conf/radiusd/ @inverse-inc/inverse-security-reviewers |
| 50 | +/conf/radius_filters.conf.defaults @inverse-inc/inverse-security-reviewers |
| 51 | +/conf/radius_filters.conf.example @inverse-inc/inverse-security-reviewers |
| 52 | +/go/pfradius/ @inverse-inc/inverse-security-reviewers |
| 53 | +/go/ntlm/ @inverse-inc/inverse-security-reviewers |
| 54 | +/src/ntlm_auth_wrap.c @inverse-inc/inverse-security-reviewers |
| 55 | + |
| 56 | +# --------------------------------------------------------------------------- |
| 57 | +# TLS / PKI material and configuration |
| 58 | +# --------------------------------------------------------------------------- |
| 59 | +/lib/pf/ssl/ @inverse-inc/inverse-security-reviewers |
| 60 | +/lib/pf/ssl.pm @inverse-inc/inverse-security-reviewers |
| 61 | +/conf/ssl/ @inverse-inc/inverse-security-reviewers |
| 62 | +/conf/ssl.conf.defaults @inverse-inc/inverse-security-reviewers |
| 63 | +/conf/ssl.conf.example @inverse-inc/inverse-security-reviewers |
| 64 | +/conf/openssl.cnf @inverse-inc/inverse-security-reviewers |
| 65 | + |
| 66 | +# --------------------------------------------------------------------------- |
| 67 | +# Security-event handling |
| 68 | +# --------------------------------------------------------------------------- |
| 69 | +/lib/pf/security_event.pm @inverse-inc/inverse-security-reviewers |
| 70 | +/lib/pf/security_event_config.pm @inverse-inc/inverse-security-reviewers |
| 71 | + |
| 72 | +# --------------------------------------------------------------------------- |
| 73 | +# External request surface |
| 74 | +# --------------------------------------------------------------------------- |
| 75 | +/go/api-frontend/ @inverse-inc/inverse-security-reviewers |
| 76 | + |
| 77 | +# --------------------------------------------------------------------------- |
| 78 | +# Host privilege-escalation surface |
| 79 | +# --------------------------------------------------------------------------- |
| 80 | +/packetfence.sudoers @inverse-inc/inverse-security-reviewers |
| 81 | +/disable-dns-lookup.sudoers @inverse-inc/inverse-security-reviewers |
| 82 | + |
| 83 | +# --------------------------------------------------------------------------- |
| 84 | +# Build-chain integrity — workflows hold repository secrets and perform package |
| 85 | +# signing (reusable_sign_packages.yml) |
| 86 | +# --------------------------------------------------------------------------- |
| 87 | +/.github/workflows/ @inverse-inc/inverse-security-reviewers |
| 88 | + |
| 89 | +# --------------------------------------------------------------------------- |
| 90 | +# This file governs its own modification, so the review control cannot be |
| 91 | +# weakened without security-reviewer approval. |
| 92 | +# --------------------------------------------------------------------------- |
| 93 | +/.github/CODEOWNERS @inverse-inc/inverse-security-reviewers |
| 94 | + |
| 95 | +# --------------------------------------------------------------------------- |
| 96 | +# Deliberate exclusions (recorded so the scope is auditable rather than accidental): |
| 97 | +# /html/pfappserver/, /html/captive-portal/ — security-relevant but large and |
| 98 | +# high-churn; assigning them to a three-person team would impede delivery |
| 99 | +# without materially improving review quality. Owned by maintainers. |
| 100 | +# /debian/, /rpm/, /ci/, /containers/ — packaging and build tooling changes on |
| 101 | +# every release; owned by maintainers. Signing itself is covered above via |
| 102 | +# /.github/workflows/. |
| 103 | +# /db/ — schema and migrations carry no direct authentication or cryptographic |
| 104 | +# decision; owned by maintainers. |
| 105 | +# --------------------------------------------------------------------------- |
0 commit comments