Skip to content

docs: S03.11 promote TLS to Available and sweep markdown drift#186

Merged
DavidCozens merged 1 commit into
mainfrom
docs/s311-tls-available
Apr 22, 2026
Merged

docs: S03.11 promote TLS to Available and sweep markdown drift#186
DavidCozens merged 1 commit into
mainfrom
docs/s311-tls-available

Conversation

@DavidCozens

Copy link
Copy Markdown
Owner

Purpose

Closes #175. TLS transport is in on main after S03.06–S03.09; this PR brings the documentation in line. Also a sanity-check pass over the rest of the repo's markdown to fix the drift that accumulated during the E03 stories.

Change Description

docs/iec62443.md — TLS promotion + honest CR 1.5 / CR 1.8 claim.

  • SL4 components table: replace the "TLS sender — Planned — E3" row with SolidSyslogTlsStream marked Available, summarising the hardening (TLS 1.2+ floor, hostname verify, cipher pinning, optional mTLS, rotation on reconnect).
  • SL2 table: SolidSyslogStreamSender description names the Stream implementations explicitly (SolidSyslogPosixTcpStream at SL2, SolidSyslogTlsStream at SL4) instead of the stale "TCP today, TLS in future".
  • "What SL4 adds over SL3" is now present-tense for the items that have landed, with a new "Still to come" block for the E17 / S12.x remainder.
  • Heading "(SL4 substrate in place)" reduced to "SL4 TLS substrate" — no longer an interim state.
  • Relevant Requirements table and traceability matrix gain CR 1.5 (Authenticator management) and CR 1.8 (PKI certificates). Each row spells out what the library covers and what the integrator owns — at-rest key protection (filesystem / HSM), CRL / OCSP revocation (deferred to OS trust store per S03.08 ADR), PKI enrolment (caller's process). Better to state the gaps than to overclaim.
  • "Remaining E03 work" paragraph removed — S03.12 / S03.13 are architectural follow-ons, not compliance gaps.

README.md — Status block rewritten. "Approaching feature-complete for POSIX and Windows", still not production-ready, with an explicit known-gaps list: API churn pending multi-instance work, at-rest integrity is CRC-16 only, revocation deferred, PRINTUSASCII / UTF-8 body hygiene not yet enforced, error guards still rolling out. Also: SolidSyslogTlsStream.h added to the public-headers list; "TCP today, TLS in future" parenthetical dropped; Threaded example description updated to list UDP / TCP / TLS / mTLS.

docs/rfc-compliance.md — RFC 5425 promoted. Six rows to Supported; 4.2 "default port 6514" stays Partial because no SOLIDSYSLOG_TLS_DEFAULT_PORT constant is shipped (caller supplies the port via endpoint callback; the Threaded example happens to use 6514). Summary table reflows.

docs/bdd.md — infrastructure catch-up. ASCII architecture diagram, syslog-ng role description, and source-configuration paragraph updated to reflect TLS (6514) and mTLS (6515) sources alongside UDP / TCP on 5514. The "will be needed when BDD scenarios require different syslog-ng source configurations" forward-look is rewritten as present-tense. Feature-tag table gains @tls and @mtls.

Bdd/syslog-ng/tls/README.md — client cert additions. Preamble now mentions mtls_transport.feature; fixture table lists client.key / client.pem (added in S03.09).

docs/ci.md — jobs table additions. Adds openssl-integration (in-process libssl integration tests) and bdd-windows (OTel-oracle BDD on Windows) — both are active required checks per gh pr checks.

SKILL.md — minor corrections. RFC list now includes 6587 alongside 5424/5426/5425. The "Epics tracked as GitHub Issues #2#12" reference acknowledges that epic numbers have grown beyond that range (E12 #31, E14 #64, E17 #105, E18 #112).

Outside the PR (issue body edit): epic #5 story table synced — S03.06 (#166), S03.07 (#170), S03.08 (#183), S03.09 (#184) marked Done with PR links. S03.11 stays Todo until this PR lands.

Test Evidence

Docs-only change; no production or test code touched. CI runs as a sanity check on the build.

Areas Affected

  • Compliance documentation (docs/iec62443.md, docs/rfc-compliance.md).
  • Front-matter documentation (README.md, SKILL.md).
  • BDD documentation (docs/bdd.md, Bdd/syslog-ng/tls/README.md).
  • CI documentation (docs/ci.md).
  • DEVLOG.
  • Epic E03: TLS Transport #5 body (outside this PR).

No code or interface changes.

TLS transport is in on main (S03.06 through S03.09). This PR catches the
documentation up: promotes TLS in the compliance doc, rewrites the README
Status block, and fixes the drift that accumulated across the rest of the
markdown.

- docs/iec62443.md: SL4 table gains a SolidSyslogTlsStream row marked
  Available; SL2 StreamSender row names the Stream implementations
  explicitly. "What SL4 adds over SL3" becomes present-tense for the items
  that have landed, with a new "Still to come" block for the E17 / S12.x
  remainder. Heading "(SL4 substrate in place)" reduced to "SL4 TLS
  substrate" now that it isn't an interim state. Relevant Requirements
  table and traceability matrix gain CR 1.5 (Authenticator management) and
  CR 1.8 (PKI certificates), each with explicit notes on what the library
  covers and what the integrator owns (at-rest key protection; CRL/OCSP
  revocation; PKI enrolment). "Remaining E03 work" paragraph removed —
  S03.12 / S03.13 are architectural, not compliance-driven.
- README.md: Status block rewritten — "Approaching feature-complete for
  POSIX and Windows", still not production-ready, explicit gaps list
  (API churn, at-rest crypto, revocation, string hygiene, error guards).
  SolidSyslogTlsStream.h added to the public-headers list; "TCP today,
  TLS in future" parenthetical dropped; Threaded example description
  lists UDP/TCP/TLS/mTLS transports.
- docs/rfc-compliance.md: RFC 5425 section promoted — six rows to
  Supported, 4.2 "default port 6514" stays Partial (no
  SOLIDSYSLOG_TLS_DEFAULT_PORT constant shipped; caller picks the port,
  the Threaded example happens to use 6514). Summary table reflows
  accordingly.
- docs/bdd.md: ASCII diagram, syslog-ng role description, source
  configuration paragraph, and forward-look paragraph all refreshed to
  reflect that TLS (6514) and mTLS (6515) sources are live alongside the
  UDP/TCP sources on 5514. Feature-tag table gains @tls and @Mtls.
- Bdd/syslog-ng/tls/README.md: fixture table gains client.key /
  client.pem rows; preamble mentions mtls_transport.feature.
- docs/ci.md: jobs table gains openssl-integration (in-process libssl
  integration tests) and bdd-windows (OTel-oracle BDD on Windows).
- SKILL.md: RFC list includes 6587 alongside 5424/5426/5425; the "epics
  #2-#12" reference acknowledges that epic numbers have grown beyond that
  range.

Epic #5 story table synced separately (issue body edit): S03.06, S03.07,
S03.08, S03.09 marked Done with PR links.

Closes #175
@coderabbitai

coderabbitai Bot commented Apr 22, 2026

Copy link
Copy Markdown
Contributor

Warning

Rate limit exceeded

@DavidCozens has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 28 minutes and 41 seconds before requesting another review.

Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 28 minutes and 41 seconds.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 88a5cec2-142f-4c0f-b97f-3cf0662b7d16

📥 Commits

Reviewing files that changed from the base of the PR and between e2e349d and 50836d6.

📒 Files selected for processing (8)
  • Bdd/syslog-ng/tls/README.md
  • DEVLOG.md
  • README.md
  • SKILL.md
  • docs/bdd.md
  • docs/ci.md
  • docs/iec62443.md
  • docs/rfc-compliance.md
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/s311-tls-available

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions

Copy link
Copy Markdown
Contributor

☀️   Quality Summary

   🚦   Unit Tests (GCC): 100% successful (✔️ 771 passed, 🙈 3 skipped)
   🚦   Unit Tests (Clang): 100% successful (✔️ 723 passed, 🙈 3 skipped)
   🚦   Unit Tests (Sanitize): 100% successful (✔️ 723 passed, 🙈 3 skipped)
   🚦   Integration Tests (OpenSSL): 100% successful (✔️ 9 passed)
   🚦   BDD Tests (Linux): 100% successful (✔️ 34 passed)
   🚦   BDD Tests (Windows): 62% successful (✔️ 21 passed, 🙈 13 skipped)
   🚦   Unit Tests (MSVC): 100% successful (✔️ 599 passed, 🙈 1 skipped)
   ⚠️   Clang-Tidy: No warnings
   ⚠️   CPPCheck: No warnings


Created by Quality Monitor v1.14.0 (#f3859fd). More details are shown in the GitHub Checks Result.

@DavidCozens DavidCozens merged commit 9391616 into main Apr 22, 2026
14 checks passed
@DavidCozens DavidCozens deleted the docs/s311-tls-available branch April 22, 2026 11:05
@DavidCozens DavidCozens mentioned this pull request Apr 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

S03.11: Promote TLS in docs/iec62443.md from Planned to Available

1 participant