Skip to content

GPLv3; only a proven liboqs is kept or reused; :latest published one run at a time; 0.4.90 - #131

Merged
fnyaker merged 2 commits into
sec/scorecardfrom
chore/gpl-and-oqs-stamp
Oct 13, 2026
Merged

fnyaker merged 2 commits into
sec/scorecardfrom
chore/gpl-and-oqs-stamp

Conversation

@fnyaker

@fnyaker fnyaker commented Oct 13, 2026

Copy link
Copy Markdown
Owner

Two commits.

Licensed under the GNU GPL, version 3 (0.4.89) — the FSF's text, unmodified; the updater, Fleet's provisioning payload, the Docker image and the zipapp all carry it (tests/test_license.py). pyproject.toml says GPL-3.0-only.

Only a proven liboqs is kept or reused (0.4.90)

  • build_liboqs.sh writes nmesh-liboqs.lock beside every build it proved.
    start.sh keeps, caches and adopts only a library carrying the current
    one, owned by this account or root and writable by nobody else. A library
    in the prefix without it is rebuilt beside the old one and swapped in
    once it loads; a node that cannot rebuild keeps what it has and says so
    (BUGSVULNS 93). The trust files are read from start.sh's own tree, never
    from the current directory.
  • base-image.yml and CI's docker job publish :latest in a concurrency
    group: two merges a minute apart let the older base build overwrite the
    newer, and every app build after it failed (BUGSVULNS 100).

Verified end to end in a clean Debian container: fresh install, stamped
restart, legacy library rebuilt and swapped, legacy library kept when
nothing can be fetched, unstamped cache refused.

Stacked on #130. Unit 4605 passed / 21 skipped, integration 150 passed (-n0), on Python 3.14.

🤖 Generated with Claude Code

fnyaker and others added 2 commits October 13, 2026 16:28
… copy; 0.4.89

LICENSE is the FSF's text, unmodified. The updater, Fleet's provisioning
payload, the Docker image and the zipapp all carry it, held by
tests/test_license.py: a tree handed to another machine without its license
is a distribution the GPL does not allow.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…; publishers of :latest run one at a time; 0.4.90

- build_liboqs.sh writes nmesh-liboqs.lock beside every build it proved.
  start.sh keeps, caches and adopts only a library carrying the current
  one, owned by this account or root and writable by nobody else. A library
  in the prefix without it is rebuilt beside the old one and swapped in
  once it loads; a node that cannot rebuild keeps what it has and says so
  (BUGSVULNS 93). The trust files are read from start.sh's own tree, never
  from the current directory.
- base-image.yml and CI's docker job publish :latest in a concurrency
  group: two merges a minute apart let the older base build overwrite the
  newer, and every app build after it failed (BUGSVULNS 100).

Verified end to end in a clean Debian container: fresh install, stamped
restart, legacy library rebuilt and swapped, legacy library kept when
nothing can be fetched, unstamped cache refused.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@fnyaker
fnyaker merged commit 53fd1a0 into sec/scorecard Oct 13, 2026
9 checks passed
@fnyaker
fnyaker deleted the chore/gpl-and-oqs-stamp branch October 13, 2026 14:59
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