Skip to main content

Module access_control

Module access_control 

Source
Expand description

Access Control objects (ASHRAE 135-2020 Clause 12).

This module implements the seven BACnet access control object types:

  • AccessDoor (type 30)
  • AccessCredential (type 32)
  • AccessPoint (type 33)
  • AccessRights (type 34)
  • AccessUser (type 35)
  • AccessZone (type 36)
  • CredentialDataInput (type 37)

evaluate_access_rights checks a credential against the Access Rights it is assigned, for the application to act on (#1331). Separate evaluate_accompaniment combines those rights with explicit local companion evidence and returns accompaniment-stage results and event intents (#1571). Neither stage performs complete authorization or publishes events. evaluate_authorization composes the stages with explicit application evidence and policy for a pure complete local authorization pass (#1572).

Structs§

AccessCredentialObject
BACnet Access Credential object (type 32).
AccessDoorObject
BACnet Access Door object (type 30).
AccessEventReport
One access event at an Access Point: the values of Access_Event, Access_Event_Tag, Access_Event_Time, Access_Event_Credential and Access_Event_Authentication_Factor, which change together for each event (Clause 12.31.27.1).
AccessPointObject
BACnet Access Point object (type 33).
AccessRightsEvaluation
What evaluate_access_rights found for one credential at one Access Point.
AccessRightsObject
BACnet Access Rights object (type 34).
AccessRightsSnapshot
What an Access Rights object keeps across a restart. Each member is None until a write sets it: what the application configures applies at each start until then.
AccessRulePosition
Where an access rule sits: its Access Rights object, its array and its place in that array.
AccessUserObject
BACnet Access User object (type 35).
AccessZoneObject
BACnet Access Zone object (type 36).
AccompanimentCompanion
Child evidence inspected to establish the original’s companion. It carries no event intents: the caller evaluates a child’s transaction separately.
AccompanimentEvaluation
Pure local stage evidence plus ordered intents for one original transaction.
AccompanimentEventIntent
An event the caller may publish for the result’s original transaction. A companion presentation identifies the associated credential; it does not create a second transaction (Clauses 12.31.27.1 and 12.31.30).
AccompanimentRequest
Inputs to one pure accompaniment-stage evaluation.
AccompanimentTiming
Mandatory local timing choices; this helper supplies no security defaults.
AccompanimentWitness
Evidence attached to one presentation, including a chain’s child links.
AuthorizationCheckEvidence
An ordered record of a criterion or external phase that was actually visited.
AuthorizationCredentialEvidence
A coherent-credential read retained even when its classifications disagree.
AuthorizationEvaluation
Retained evidence and bounded ordered intents from one shared database borrow.
AuthorizationEventIntent
An intent for the original transaction, with its associated presentation. Publication, transaction tags, deduplication, and physical action are external.
AuthorizationOccupancyZone
One application-selected relevant zone and its enforcement fallback.
AuthorizationOrder
A complete, duplicate-free criterion order; there is no default order. The mode’s verification/delay phase follows all these criteria.
AuthorizationPassbackObservation
An already established passback observation bound to this transaction/zone. This helper does not reconstruct a location history.
AuthorizationRequest
One already-authenticated local presentation and every application-owned authorization choice. There is no Default implementation or installed policy.
CommittedAccessEvent
One installed access event, with the state needed to report it after commit.
CompanionAuthenticationAttestation
An application attestation bound to sequence, credential, point, and time.
CompanionAuthorizationDiagnostic
Diagnostic attribution for a companion that invalidates the root transaction.
CredentialDataInputObject
BACnet Credential Data Input object (type 37).
CredentialPresentation
One caller-identified credential presentation. Times share a caller-chosen monotonic origin; they are not BACnet wall-clock timestamps.
CredentialReadReport
A factor a Credential Data Input’s reader has read: its Present_Value and Update_Time, which move together (Clause 12.36.11).
DisableReasonPriority
Precedence among all ten standard credential disable reasons. Unknown/vendor reasons remain unresolved even beside a known reason.
DoorStateReport
What an Access Door’s hardware and door logic report: any of Door_Status, Lock_Status and Door_Alarm_State. A field left None keeps the value the door holds.
FileAccessRightsPersistence
A file holding one Access Rights object’s written rule arrays, Enable and Accompaniment, replaced whole on each save, the same way as FileNotificationClassPersistence: a failed save leaves the previous state in place, and a completed one survives a power loss.
UnresolvedAccessRights
An enabled Assigned_Access_Rights element that gave no rules.

Enums§

AccessControlInput
An input for one access-control object, as the application reports it.
AccessRightsDecision
The outcome of the Access Rights check (Clause 12.34.9.2).
AccessRuleKind
Which rule array of an Access Rights object a rule comes from.
AccompanimentDeadline
Whether a presentation exactly one period away remains in the window.
AccompanimentEvidence
What the caller has observed for one accompaniment dependency.
AccompanimentOrder
The application’s required presentation order (Clause 12.34.11).
AccompanimentOutcome
The accompaniment stage, never a whole-request authorization decision.
AccompanimentPresentationFailure
Inconsistent or ineligible caller presentation evidence.
AccompanimentProblem
Evidence preventing an accompaniment-stage conclusion. These conditions do not invent BACnet denial events or override the existing rights policy.
AccompanimentReferenceFailure
Why a reference cannot be established locally.
AuthorizationCheck
A required criterion in the application’s chosen evaluation order. Activity and the validity window share one coherent credential check.
AuthorizationCheckOutcome
What one criterion established, including an explicit exemption or stop.
AuthorizationDirection
Which occupancy boundary a presentation crosses for one relevant zone.
AuthorizationExternalPhase
Explicit external-phase correlation and timing, when the mode requires it.
AuthorizationFact
A known application fact or an explicit lack of evidence. No default exists.
AuthorizationOccupancy
The application’s complete relevant-zone set; the helper invents no topology.
AuthorizationOutcome
Complete result of this pure authorization pass. Only Granted permits access.
AuthorizationPassback
Passback applicability and missing-property inputs (Clauses 12.32.21–22). A PASSBACK-exempt credential still reports an established SOFT violation. Unusable optional reporting evidence is retained in super::AuthorizationEvaluation::passback_reporting_problem without imposing enforcement or another required criterion on the exempt request.
AuthorizationProblem
Missing, inconsistent, or unsupported authorization evidence.
AuthorizationReadFailure
A served property’s failure without losing its protocol error identity.
AuthorizationRightsPolicy
Explicit treatment of assignments excluded by the existing rights helper.
AuthorizationStage
Location of a decision or retained check result.
AuthorizationVerdict
External verification/delay evidence at a supplied observation time.
CompanionAuthentication
Authentication outcome for one exact companion presentation.
CompanionAuthenticationProblem
Why a companion authentication attestation cannot be used.
CompanionPrerequisiteFailure
A known companion prerequisite failure; it is not a child transaction.
UnresolvedReason
Why an Assigned_Access_Rights element gave no rules.

Constants§

DEFAULT_DOOR_EXTENDED_PULSE_TIME
Door_Extended_Pulse_Time a new door starts with, in tenths of a second (15 s).
DEFAULT_DOOR_OPEN_TOO_LONG_TIME
Door_Open_Too_Long_Time a new door starts with, in tenths of a second (30 s).
DEFAULT_DOOR_PULSE_TIME
Door_Pulse_Time a new door starts with, in tenths of a second (5 s).
MAX_ACCESS_RULES
The most rules either rule array holds, a resource cap. A longer list, from a setter or a network write, is RESOURCES / NO_SPACE_TO_WRITE_PROPERTY.
MAX_AUTHENTICATION_POLICIES
The most authentication policies an Access Point holds while it serves Authentication_Policy_List and Authentication_Policy_Names, a resource cap: a count or list past it is VALUE_OUT_OF_RANGE.

Traits§

AccessRightsPersistence
Application-owned storage for one Access Rights object’s rule arrays, Enable and Accompaniment.

Functions§

evaluate_access_rights
Check the Access Rights rules of credential, presented at point, as Clause 12.34.9.2 describes.
evaluate_accompaniment
Evaluate local accompaniment evidence without writing objects, obtaining a clock, performing I/O, or publishing an event. Rights are recomputed in this database borrow; a caller-provided grant is never accepted as authority.
evaluate_authorization
Evaluate the complete supplied local authorization context without locks, awaits, I/O, clock acquisition, or property writes (Clauses 12.31/12.35).