• v0.7.5 1ded291c7b

    mward4 released this 2026-06-12 17:05:26 -04:00 | 3 commits to main since this release

    Closes the two false-negative holes found while triaging the v0.7.4 dashboard, and pages the Unattended files list.

    docker pull gitea.milesward.dev/mward4/openpxe:0.7.5
    docker pull gitea.milesward.dev/mward4/openpxe:latest
    

    About those "Non-bootable images"

    The dashboard card is working as designed for genuine data ISOs — VMware VCSA and similar appliance bundles ship no El Torito boot catalog at all (you mount them on a workstation; they were never PXE-bootable, and before v0.7.4 they silently got sanboot entries that failed on real hardware). But the triage surfaced two ways a genuinely bootable image could be mislabeled, both fixed here:

    • Joliet namespace fallback. The ISO9660 walker now falls back to the Joliet supplementary namespace when the primary tree misses. Windows-oriented mastering tools — common for vendor/appliance ISOs — write a minimal or mangled primary tree and keep the real filenames only in Joliet; those images probed as "no installer files" and their in-ISO kernel fetches 404'd. Applies to introspection (local + NFS/SFTP) and /iso/{id}/{*path} serving.
    • Gap-tolerant El Torito walk. The boot-catalog scan no longer aborts at the first non-CD001 sector or stops at a Set Terminator — sloppy mastering leaves zeroed filler sectors inside the descriptor area that used to hide a real boot record. All 16 descriptor sectors are examined (the 25-byte exact signature can't false-positive). The PVD/volume-label scan got the same tolerance.
    • Everything re-checks itself: INTROSPECT_REV → 3, so local ISOs re-probe on first startup and the remote caches self-invalidate — anything the stricter v0.7.4 logic flagged gets a second look with the new walker automatically. If an image still shows in Non-bootable after this release, it really has no boot catalog and no installer tree.

    Storage

    Unattended files get the exact pager Available images got in v0.7.4: 5 per page, Showing X–Y of N with Prev/Next, composed with the filter, page resets on every keystroke.


    Validation: clippy (pedantic) clean, fmt clean, 319 workspace tests green (+3: Joliet fallback lookup, Joliet-only classification, filler-sector boot record), web UI syntax-checked.

    Downloads