You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
hosting: panel.t27 names its events EVENT_ (Darwin has EV_RECEIPT) and says whether the key file is private #8988
The trios app imports specs/hosting/panel.t27 (#8975, merged in #8977) through t27c gen-c and a Clang module (gHashTag/trios#1756). Building the app against it found three things the card should hold and does not:
EV_* collides with Darwin: <sys/event.h> defines EV_RECEIPT, and every Swift file that imports the card also imports Darwin, so EV_RECEIPT is ambiguous and the app does not compile.
The app shows whether the host key file is private. The rule (no group or other bit, toolchain.t27 GROUP_OTHER_BITS) and the key file's place (AGENT_DIR, KEY_FILE) are toolchain.t27's; the card does not expose them, so Swift would have to restate them.
Scope
Rename the card's events EV_* to EVENT_*.
Add key_file_private(mode) on toolchain.t27 GROUP_OTHER_BITS, and import AGENT_DIR and KEY_FILE, with a test.
Acceptance
t27c test-report specs/hosting/panel.t27: every test passes, none vacuous; the pinned t27b passes them.
A negative control (key_file_private returns true) fails the_key_file_is_the_owners_alone.
Given the panel.t27 card defines events with EV_* prefix, when a Swift file imports the generated card and also imports Darwin's <sys/event.h>, then EV_RECEIPT is ambiguous and compilation fails.
Given the panel.t27 card does not expose key_file_private, AGENT_DIR, or KEY_FILE, when Swift code needs to check whether the host key file is private, then it must restate the rule and paths from toolchain.t27.
Given the panel.t27 card renames its events to EVENT_* and adds key_file_private(mode) importing AGENT_DIR, KEY_FILE, and GROUP_OTHER_BITS from toolchain.t27, when the test suite runs, then all tests pass and the negative control correctly fails.
Requirements
FR-001: The panel.t27 card MUST rename all EV_* event constants to EVENT_* to avoid collision with Darwin's EV_RECEIPT.
FR-002: The panel.t27 card MUST import AGENT_DIR, KEY_FILE, and GROUP_OTHER_BITS from toolchain.t27.
FR-003: The panel.t27 card MUST define a key_file_private(mode) function that returns true when the file mode has no group or other bits set (using GROUP_OTHER_BITS).
FR-004: The panel.t27 card MUST include a test for key_file_private that passes for a private key file and a negative control that fails when the function incorrectly returns true.
Activity
hosting: panel.t27 names its events EVENT_ and says whether the key f…