自建 TAL/TA 补丁

本目录描述并生成一个叠加到客户 Arm64 Ours RP 组件包上的测试补丁。补丁基线是源码 commit 9f4f4cf069e9fa8f6f97ed0f1065adac38abe82f,不会替换客户包中的 runtime image 或 bin/rpkibin/rpki_daemon 二进制。

补丁做三件事:

  1. 在 runner 中增加 RIRS=customTAL_INPUT_MODE=custom-file-with-ta、自定义 TAL/TA 路径和 HTTP_ROOT_CERT_PATHS
  2. 通过 Compose 只读挂载 patched runner、custom-fixtures/host.docker.internal,连接固定 HTTPS RRDP 与 rsync 服务;
  3. 提供固定证书链、RPKI 对象生成器和服务启动脚本,不依赖 Barry、Rapport 或公网 RIR。

先停止 Ours RP再执行

./apply_custom_tal_patch.sh \
  --component-root /opt/ours-rp-rtr-stack/components/ours-rp \
  --enable-custom

--enable-custom 会修改组件 .env 的 custom 模式入口;不加该选项只安装 overlay不改变当前 .env。回滚:

./rollback_custom_tal_patch.sh \
  --component-root /opt/ours-rp-rtr-stack/components/ours-rp

补丁应用脚本会校验 PACKAGE-MANIFEST.env 的源码 commit 和 arm64 架构,并留下 CUSTOM-TAL-PATCH-MANIFEST.env.custom-tal-patch-state/ 备份。升级组件后需要重新检查 patch marker不要把该 overlay 误当成客户原始安装包。

生成器默认把容器访问地址写成 host.docker.internal,固定服务端口为 HTTPS RRDP 18443、rsync 1873rsync module 为 custom。可用 --host localhost 生成给宿主机直接运行 bin/rpki 的本地变体。

用例包括:baseline-v1sync-hash-mismatchbaseline-v2validation-expiredvalidation-max-lengthvalidation-max-length-invalidvalidation-roa-prefix-outsidevalidation-out-of-resourcevalidation-ca-over-resourcevalidation-nonstandard。其中 validation-ca-over-resourceRESOURCE_VALIDATION_MODE=rfc6487 下验证严格拒绝;validation-update-03 是原包默认的兼容处理模式。