Skip to content

feat(opds): network interface classification and bind planning - #147

Merged
phildenhoff merged 1 commit into
mainfrom
opds-3-network
Sep 19, 2026
Merged

phildenhoff merged 1 commit into
mainfrom
opds-3-network

Conversation

@phildenhoff

@phildenhoff phildenhoff commented Sep 18, 2026 •

Copy link
Copy Markdown
Member

Before anything can listen on a network, something has to answer "which network?" A laptop with Wi-Fi up, a VPN tunnel, and a half-configured IPv6 address all look like candidates, and guessing wrong either shares to the office VPN or binds nothing at all. This layer classifies and plans; the listening happens above it.

network.rs enumerates interfaces via netdev and classifies them LAN / VPN / loopback / other — that classification is policy, not a security boundary. Addresses get scoped before they're usable: link-local is never shareable, and deprecated, tentative, or duplicate-flagged IPv6 addresses are skipped. Bind plans contain concrete addresses only (never wildcard), and advertised URLs are IPv4-first so readers actually get one they can resolve.

Covered by in-file unit tests (bind planning for all-networks vs per-interface selection, loopback rejection, unusable-address reporting); full workspace suite (348 tests) green at the stack tip, including 62 citadel-opds tests.

Part of the OPDS v1 stack (above #146; #148 → #149 → #150 → #151 → #152 → #153 → #154 → #155 build on top).

@phildenhoff
phildenhoff added this pull request to stack #156 September 18, 2026 00:24
@github-actions

Copy link
Copy Markdown

libcalibre Test Coverage Report

Overall coverage: 79.96%

📊 Download HTML Report

Coverage breakdown available in the artifacts.

@github-actions

Copy link
Copy Markdown

libcalibre Test Coverage Report

Overall coverage: 79.96%

📊 Download HTML Report

Coverage breakdown available in the artifacts.

Base automatically changed from opds-2-feeds to main September 18, 2026 06:13
@github-actions

Copy link
Copy Markdown

libcalibre Test Coverage Report

Overall coverage: 80.16%

📊 Download HTML Report

Coverage breakdown available in the artifacts.

@github-actions

Copy link
Copy Markdown

libcalibre Test Coverage Report

Overall coverage: 80.16%

📊 Download HTML Report

Coverage breakdown available in the artifacts.

@github-actions

Copy link
Copy Markdown

libcalibre Test Coverage Report

Overall coverage: 80.16%

📊 Download HTML Report

Coverage breakdown available in the artifacts.

@phildenhoff
phildenhoff marked this pull request as ready for review September 19, 2026 06:50
@phildenhoff
phildenhoff merged commit bc4caec into main Sep 19, 2026
7 checks passed
@phildenhoff
phildenhoff deleted the opds-3-network branch September 19, 2026 06:50
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.

1 participant