Repository navigation
Conversation
Web UI for the console veracrypt package (packages feed): openwrt/packages#30597 Not bundled into veracrypt; apk add luci-app-veracrypt depends on +veracrypt. Calls veracrypt --text only. The current password is passed on stdin (--stdin), never --password. New password, hidden volume password and token PIN are fed on stdin, not via --new-password, --protection-password or --token-pin. CLI reference: https://www.veracrypt.fr/en/Command%20Line%20Usage.html Signed-off-by: Ville Takio <ville+git@takio.fi>
Web UI for the console veracrypt package (packages feed): openwrt/packages#30597 Not bundled into veracrypt; apk add luci-app-veracrypt depends on +veracrypt. Calls veracrypt --text only. The current password is passed on stdin (--stdin), never --password. New password, hidden volume password and token PIN are fed on stdin, not via --new-password, --protection-password or --token-pin. CLI reference: https://www.veracrypt.fr/en/Command%20Line%20Usage.html Signed-off-by: Ville Takio <ville+git@takio.fi>
0d4699c to
5d2e55b
Compare
Web UI for the console veracrypt package (packages feed): openwrt/packages#30597 Not bundled into veracrypt; apk add luci-app-veracrypt depends on +veracrypt. Calls veracrypt --text only. The current password is passed on stdin (--stdin), never --password. New password, hidden volume password and token PIN are fed on stdin, not via --new-password, --protection-password or --token-pin. CLI reference: https://www.veracrypt.fr/en/Command%20Line%20Usage.html Signed-off-by: Ville Takio <ville+git@takio.fi>
5d2e55b to
82411df
Compare
Web UI for the console veracrypt package (packages feed): openwrt/packages#30597 Not bundled into veracrypt; apk add luci-app-veracrypt depends on +veracrypt. Calls veracrypt --text only. The current password is passed on stdin (--stdin), never --password. New password, hidden volume password and token PIN are fed on stdin, not via --new-password, --protection-password or --token-pin. CLI reference: https://www.veracrypt.fr/en/Command%20Line%20Usage.html Signed-off-by: Ville Takio <ville+git@takio.fi>
Web UI for the console veracrypt package (packages feed): openwrt/packages#30597 Not bundled into veracrypt; apk add luci-app-veracrypt depends on +veracrypt. Calls veracrypt --text only. The current password is passed on stdin (--stdin), never --password. New password, hidden volume password and token PIN are fed on stdin, not via --new-password, --protection-password or --token-pin. CLI reference: https://www.veracrypt.fr/en/Command%20Line%20Usage.html Signed-off-by: Ville Takio <ville+git@takio.fi>
Web UI for the console veracrypt package (packages feed): openwrt/packages#30597 Not bundled into veracrypt; apk add luci-app-veracrypt depends on +veracrypt. Calls veracrypt --text only. The current password is passed on stdin (--stdin), never --password. New password, hidden volume password and token PIN are fed on stdin, not via --new-password, --protection-password or --token-pin. CLI reference: https://www.veracrypt.fr/en/Command%20Line%20Usage.html Signed-off-by: Ville Takio <ville+git@takio.fi>
84b7180 to
19d0a0a
Compare
19d0a0a to
82b98b5
Compare
5f8a33b to
19d0a0a
Compare
19d0a0a to
9b0133f
Compare
Web UI for the console veracrypt package (packages feed): openwrt/packages#30597 Not bundled into veracrypt; apk add luci-app-veracrypt depends on +veracrypt. Calls veracrypt --text only. The current password is passed on stdin (--stdin), never --password. New password, hidden volume password and token PIN are fed on stdin, not via --new-password, --protection-password or --token-pin. CLI reference: https://www.veracrypt.fr/en/Command%20Line%20Usage.html Signed-off-by: Ville Takio <ville+git@takio.fi>
9b0133f to
b4ccd75
Compare
Web UI for the console veracrypt package (packages feed): openwrt/packages#30597 Not bundled into veracrypt; apk add luci-app-veracrypt depends on +veracrypt. Calls veracrypt --text only. The current password is passed on stdin (--stdin), never --password. New password, hidden volume password and token PIN are fed on stdin, not via --new-password, --protection-password or --token-pin. CLI reference: https://www.veracrypt.fr/en/Command%20Line%20Usage.html Signed-off-by: Ville Takio <ville+git@takio.fi>
b4ccd75 to
de9cc1a
Compare
Web UI for the console veracrypt package (packages feed): openwrt/packages#30597 Not bundled into veracrypt; apk add luci-app-veracrypt depends on +veracrypt. Calls veracrypt --text only. The current password is passed on stdin (--stdin), never --password. New password, hidden volume password and token PIN are fed on stdin, not via --new-password, --protection-password or --token-pin. CLI reference: https://www.veracrypt.fr/en/Command%20Line%20Usage.html Signed-off-by: Ville Takio <ville+git@takio.fi>
openwrt-ai
left a comment
There was a problem hiding this comment.
Commit checks
- de9cc1a "veracrypt: add version 1.26.29" — the
Signed-off-by: Ville Takiotrailer appears twice; keep one.
Generated by Claude Code
de9cc1a to
8ece9cb
Compare
Web UI for the console veracrypt package (packages feed): openwrt/packages#30597 Not bundled into veracrypt; apk add luci-app-veracrypt depends on +veracrypt. Calls veracrypt --text only. The current password is passed on stdin (--stdin), never --password. New password, hidden volume password and token PIN are fed on stdin, not via --new-password, --protection-password or --token-pin. CLI reference: https://www.veracrypt.fr/en/Command%20Line%20Usage.html Signed-off-by: Ville Takio <ville+git@takio.fi>
Web UI for the console veracrypt package (packages feed): openwrt/packages#30597 Not bundled into veracrypt; apk add luci-app-veracrypt depends on +veracrypt. Calls veracrypt --text only. The current password is passed on stdin (--stdin), never --password. Other secrets (new password, hidden volume password, token PIN) are answered to veracrypt's prompts one at a time through a private FIFO; values with line breaks are refused, and secrets are kept out of the environment. All paths are confined to /mnt/<name>/... (or a whole disk device) and used in resolved form. Each job has its own random id and state directory under /var/run, and package installation needs the separate luci-app-veracrypt-pkg ACL grant. File names, paths and veracrypt output are always shown as text, never parsed as HTML. tests/run.sh exercises the rpcd backend in an OpenWrt rootfs. Signed-off-by: Ville Takio <ville+git@takio.fi>
|
Pushed d061c88:
Verification:
|
d061c88 to
f21dac1
Compare
Web UI for the console veracrypt package (packages feed): openwrt/packages#30597 Not bundled into veracrypt; apk add luci-app-veracrypt depends on +veracrypt. Calls veracrypt --text only. The current password is passed on stdin (--stdin), never --password. Other secrets (new password, hidden volume password, token PIN) are answered to veracrypt's prompts one at a time through a private FIFO; values with line breaks are refused, and secrets are kept out of the environment. All paths are confined to /mnt/<name>/... (or a whole disk device) and used in resolved form. Each job has its own random id and state directory under /var/run, and package installation needs the separate luci-app-veracrypt-pkg ACL grant. File names, paths and veracrypt output are always shown as text, never parsed as HTML. tests/run.sh exercises the rpcd backend in an OpenWrt rootfs. Signed-off-by: Ville Takio <ville+git@takio.fi>
|
Pushed f21dac1: veracrypt/VeraCrypt#1898 has been merged upstream, so the FUSE fallback is now Patch layout:
Quilt refresh is clean. Run-tested again on an RT-AX53U (mipsel_24kc, 25.12.5). |
f21dac1 to
02ead62
Compare
Web UI for the console veracrypt package (packages feed): openwrt/packages#30597 Not bundled into veracrypt; apk add luci-app-veracrypt depends on +veracrypt. Calls veracrypt --text only. The current password is passed on stdin (--stdin), never --password. Other secrets (new password, hidden volume password, token PIN) are answered to veracrypt's prompts one at a time through a private FIFO; values with line breaks are refused, and secrets are kept out of the environment. All paths are confined to /mnt/<name>/... (or a whole disk device) and used in resolved form. Each job has its own random id and state directory under /var/run, and package installation needs the separate luci-app-veracrypt-pkg ACL grant. File names, paths and veracrypt output are always shown as text, never parsed as HTML. tests/run.sh exercises the rpcd backend in an OpenWrt rootfs. Signed-off-by: Ville Takio <ville+git@takio.fi>
|
Pushed 02ead62: patches 101-103 regenerated from the updated veracrypt/VeraCrypt#1899 (maintainer review: fallback |
|
Pushed 7811d5d: veracrypt/VeraCrypt#1899 has been merged upstream (squashed as veracrypt/VeraCrypt@425cea6c9c0d), so patches 101-103 are replaced by one backport, |
|
Pushed 9846b4b, answering the comments above:
All patches are now upstream backports (010-050) or submitted upstream (100). Quilt refresh is clean. Tested:
|
|
@BKPepe wxBase is now a separate package, as you suggested in your review: the PR has two commits.
Run-tested on ramips/mt7621 (ASUS RT-AX53U, 25.12.5) with both packages; details are in the PR description. Could you take another look? |
openwrt-ai
left a comment
There was a problem hiding this comment.
Commit checks
- c82fca8 "wxwidgets: add version 3.2.11": "until now it built its own static copy" refers to an earlier revision of this PR. In the merged history VeraCrypt only arrives in the next commit, so drop that clause, e.g. "VeraCrypt (added next) links against it."
Generated by Claude Code
|
Add the non-GUI part of wxWidgets (wxBase) as a shared library, libwxbase3.2. VeraCrypt (added next) links against it. 3.2 is upstream's stable series, which keeps the API and ABI compatible across 3.2.x releases, so a security update of the library does not need its users to be rebuilt. The 3.3 releases are upstream's development branch without that guarantee. ABI_VERSION follows the soname, libwx_baseu-3.2.so.0. To keep the library small (1.3 MB installed on x86_64), it is built without networking, archive and compressed streams, regular expressions, file system watching and debug assertions; enabling zlib, archives, regex and fswatcher would add about 400 KB. wx-config is staged like gpg-error-config, for packages building against it. Upstream: https://github.com/wxWidgets/wxWidgets/releases/tag/v3.2.11 Run-tested with veracrypt on ramips/mt7621 (ASUS RT-AX53U, mipsel_24kc) with OpenWrt 25.12.5. Signed-off-by: Ville Takio <ville+git@takio.fi>
Thanks, @map-b. I checked which atomics are actually used: neither veracrypt nor libwxbase imports any @BKPepe the PR now has both packages as you asked; could you take another look? |
|
The arm_cortex-a15_neon-vfpv4 runtime test failed with Fixed in d10340a with patch 100, submitted upstream as veracrypt/VeraCrypt#1908: the macro is now defined only for AArch64 among the ARM targets. The armv7 build passes the self-tests under qemu with cortex-a15 and cortex-a7, the other targets are unchanged, and the mt7621 run-test passes again (21/21). |
|
Following up on the arm_cortex-a15 fix: I checked whether anything besides Camellia/Whirlpool does unaligned word accesses by running every cipher, hash, PBKDF2 and XTS on buffers at offsets 0..15 under qemu-user (armv7, mips, mipsel, mips64). SHA-2, BLAKE2s, Twofish, Kuznyechik, Streebog and the XTS whitening XOR could still fault when given an unaligned buffer. Real volume operations use aligned buffers, so this is latent, but b89a53a adds patch 101 (submitted upstream as veracrypt/VeraCrypt#1909) to make them alignment-safe. Output is unchanged (known-answer comparison at all offsets on x86_64, armv7, mips, mipsel and mips64), all targets build, the self-tests pass under qemu on armv7, mips, mipsel, mips64 and aarch64, and the mt7621 run-test passes (21/21). |
|
LuCI apps for this package: openwrt/luci#9069 (luci-app-veracrypt, full-featured) and openwrt/luci#9119 (luci-app-veracrypt-lite, smaller). Both are optional and can be installed side by side. |
Add a console-only VeraCrypt package using FUSE3 and wxBase from libwxbase. x86 builds without assembler (NOASM); other targets use VeraCrypt's C/intrinsics code, including ARMv8 hardware AES. Runtime depends on libstdcpp, libwxbase, libfuse3, fuse3-utils, losetup and kmod-loop (volumes are mounted through a loop device). Patches 010-070 are backports from upstream: with 040, VeraCrypt mounts and formats volumes through FUSE3 when dmsetup (lvm2) is not installed; 050 fixes the portable crypto code on big-endian targets (mips, powerpc), avoids unaligned 64-bit accesses (mips64) and extends the self-tests; 060 and 070 make the crypto code use alignment-safe word accesses on strict-alignment CPUs (32-bit ARM, MIPS), where unaligned accesses raised SIGBUS (seen in the self-tests on cortex-a15). test.sh checks the version and runs the algorithm self-tests. Upstream: https://github.com/veracrypt/VeraCrypt/releases/tag/VeraCrypt_1.26.29 Run-tested on ramips/mt7621 (ASUS RT-AX53U, mipsel_24kc) with OpenWrt 25.12.5 (no lvm2), with libwxbase3.2: self-tests, create, FUSE mount (explicit and autodetected hash), unmount and mount.veracrypt. Signed-off-by: Ville Takio <ville+git@takio.fi>
|
VeraCrypt merged veracrypt/VeraCrypt#1908 and veracrypt/VeraCrypt#1909, so patches 100/101 are now backports 060/070 of veracrypt/VeraCrypt@cb1d9a4 and veracrypt/VeraCrypt@7c06e03 (0526541). The patched source is unchanged: the mipsel binary is byte-identical to the one run-tested on the RT-AX53U (21/21). |
📦 Package Details
Maintainer: @flatstik
Description:
Add a console-only VeraCrypt package, and wxWidgets' non-GUI library (wxBase), which VeraCrypt needs, as its own shared-library package (one commit per package).
wxwidgets (
libwxbase3.2), new:libwx_baseu-3.2.so.0);ABI_VERSION:=3.2follows the soname (asliblua5.4).wx-configis staged likegpg-error-config, so other packages can build against it.veracrypt:
libwxbase3.2; x86 builds without assembler (NOASM), other targets use VeraCrypt's normal C/intrinsics code (ARMv8 hardware AES included)__atomic_*function on any target built (mips/mipsel only use__sync_*_4from libgcc), so neither+libatomicnorATOMIC64_DEPENDS(build: centralise libatomic dependencies for 64-bit atomics openwrt#25112) is needed--filesystem=ext4needs e2fsprogs (mkfs.ext4), which stays optionalVeraCrypt_1.26.29_Source.tar.bz2;License.txtis installed to/usr/share/doc/veracrypt/as the TrueCrypt License 3.0 requires/sbin/mount.veracryptis upstream's helper. Without dmsetup (lvm2, not a dependency) VeraCrypt mounts and formats through FUSE3 (patch 040, merged upstream). With lvm2 installed it uses kernel dm-crypt as upstream does, which on OpenWrt needskmod-crypto-xts(built in on x86_64) and supports AES only; for other ciphers and cascades--mount-options=nokernelcrypto(helper:-o nokernelcrypto) keeps FUSE/etc/config/veracrypt(conffile) with global settings and commented example volumes; luci-app-veracrypt (luci-app-veracrypt: add optional LuCI UI luci#9069) edits it010: ARMCPU_Query*link fix (VC_INLINE), Crypto: use VC_INLINE for the ARM CPU_Query helpers veracrypt/VeraCrypt#1886 (veracrypt/VeraCrypt@5c7f60d)020: POSIX shmount.veracrypt, Linux: make mount.veracrypt POSIX sh veracrypt/VeraCrypt#1895 (veracrypt/VeraCrypt@81cd94f)030: x86NOASMlink fix, Crypto: fix NOASM link failures on x86 veracrypt/VeraCrypt#1896 (veracrypt/VeraCrypt@a15c996)040: fall back to FUSE when dmsetup is not installed (so--createwith ext4 and plain mounts work without lvm2), Linux: fall back to FUSE when dmsetup is not installed veracrypt/VeraCrypt#1898 (veracrypt/VeraCrypt@d24b821)050: fix the portable C code of Twofish, Camellia, Kuznyechik, SHA-2, BLAKE2s, Streebog and PBKDF2 on big-endian CPUs, avoid unaligned 64-bit accesses (SIGBUS on mips64) and extend the self-tests, Crypto: fix portable C code on big-endian CPUs veracrypt/VeraCrypt#1899 (veracrypt/VeraCrypt@425cea6)060: no unaligned 64-bit accesses on 32-bit ARM (Camellia/WhirlpoolLDRDraised SIGBUS in the self-tests on arm_cortex-a15_neon-vfpv4), Crypto: no unaligned 64-bit accesses on 32-bit ARM veracrypt/VeraCrypt#1908 (veracrypt/VeraCrypt@cb1d9a4)070: alignment-safe word loads/stores for SHA-2, BLAKE2s, Twofish, Kuznyechik, Streebog and XTS on targets where unaligned access faults (32-bit ARM, MIPS); unchanged code on x86, x64, ARMv8 and PowerPC, Crypto: use alignment-safe loads and stores where unaligned access faults veracrypt/VeraCrypt#1909 (veracrypt/VeraCrypt@7c06e03)The former patch 100 (wxWidgets build jobs) is gone with the bundled wxWidgets build.
Upstream: https://github.com/veracrypt/VeraCrypt/releases/tag/VeraCrypt_1.26.29, https://github.com/wxWidgets/wxWidgets/releases/tag/v3.2.11
🧪 Run Testing Details
Run-tested on the device above with the 25.12.5 SDK build of both packages (21 checks passed, 0 failed):
libwxbase3.2installed as a dependency andveracryptresolveslibwx_baseu-3.2.so.0from it;--testself-tests,--create --filesystem=ext4(formatted through FUSE, no dmsetup), mount/write/read/unmount, auto-hash mount,mount.veracrypt, and the luci-app-veracrypt backend.Build-tested with the current snapshot SDK on mips_24kc (big-endian), mips64 big-endian (malta), arm_cortex-a15_neon-vfpv4, aarch64_generic and x86_64, plus the 25.12.5 SDK for mipsel_24kc; on all of them the binary's NEEDED list is libfuse3, libwx_baseu-3.2, libstdc++, libgcc_s and libc. The x86_64 build passes the generic runtime checks plus
test.shandtest-version.shin an OpenWrt rootfs. The packaged binaries passveracrypt --text --testunder qemu-user on arm_cortex-a15_neon-vfpv4 (-cpu cortex-a15andcortex-a7), mipsel_24kc, mips_24kc, mips64 and aarch64_generic.✅ Formalities
If your PR contains a patch:
git am(e.g., subject line, commit description, etc.)
We must try to upstream patches to reduce maintenance burden.