PPPoEject 补丁状态追踪器的源码:一个单页站点,记录各发行版是否已针对 Linux 内核中 PPPoE sendmsg() 陈旧 skb 头部释放后使用漏洞发布修复。
关于该漏洞的一切——CVE ID、受影响版本与已修复版本、上游修复提交、发现与披露致谢,以及当前各发行版的补丁状态——都属于追踪器页面,而非本 README:
编辑该文件即可;本仓库中的其他内容均为构建基础设施。
此处有意不重述任何内容。追踪器页面会随着各发行版发布修复而修订——对于活跃更新的追踪器,由自动更新代理每日更新两次——因此任何保留在本 README 中的副本都会悄然过时。请勿重新添加摘要。
部署计划与当前设置状态见 WEBSITE.md。
需要 Hugo ≥ 0.146.0(标准版即可:本站点不使用 Sass 或图像处理)以及 Go(用于 Hugo Modules 获取 PaperMod 主题)。
nix develop # dev shell: hugo, go, resvg + fonts, and every lookup tool
cd site
hugo server # local preview at http://localhost:1313/pppoeject/
如果你使用 direnv,执行一次 direnv allow,之后每次 cd 进入仓库时开发 shell 都会自动激活。
自行安装 Hugo ≥ 0.146.0 和 Go ≥ 1.24(CLAUDE.md § "Build environment" 中有 go install 的配方),然后:
cd site
hugo server # http://localhost:1313/pppoeject/
make build # local build into site/public/
make dist # build, then rsync to haig:/pppoeject/
make banner # re-rasterise the social banner SVG → PNG (needs resvg + the banner fonts)
make dist 会先运行 make build。make banner 仅在编辑 site/assets/pppoeject-tracker.svg 后需要;渲染出的 PNG 已提交到仓库。
.
├── flake.nix # Nix dev environment (build, banner, publish, lookup tools)
├── .envrc # direnv hook → `use flake`
├── .gitignore
├── Makefile # `make build`, `make dist`, `make banner`
├── LICENSE # CC BY 4.0
├── README.md # this file
├── CLAUDE.md # project instructions for Claude Code
├── WEBSITE.md # publication plan / decisions log
├── scripts/ # auto-update agent: prompt + driver
├── systemd/ # user-level timer + service units
└── site/ # Hugo project
├── hugo.toml
├── content/
│ └── _index.md # the tracker (single page)
├── assets/css/extended/custom.css # PaperMod CSS overrides
├── assets/pppoeject-tracker.svg # social-banner source (→ make banner)
├── static/pppoeject-tracker.png # rendered OpenGraph banner (committed)
├── layouts/partials/ # PaperMod overrides (post_meta, extend_footer)
├── go.mod, go.sum # Hugo Modules — pulls PaperMod theme
└── … # standard Hugo skeleton
CC BY 4.0 — 署名后即可分享和改编。