Repository navigation
Conversation
GianTschingt
left a comment
There was a problem hiding this comment.
Thanks a lot for digging into this, the approach makes sense to me. I built the PR merged into current master locally: it compiles, and all eight native libs plus NativeLoader end up inside the extension jar as intended. The smaller fixes look right too (correct function name in the error, 1, 5 arg count, defaulting to ARGON2i instead of passing null to Argon2Factory.create()).
Two things I'd like changed before we merge:
- Stale or half-written lib in tmp.
ensureLoaded()reusesjava.io.tmpdir/lucee-argon2-native/<lib>whenever it exists and is non-empty. If the argon2 jar version changes, or two Lucee instances start at the same time and one is still writing, the other picks up an old or truncated library. Could you put the version in the folder name (e.g.lucee-argon2-native-2.12.0) and write to a temp file first, thenFiles.move(..., ATOMIC_MOVE)? - A test. A small
tests/case that callsgenerateArgon2Hash()andargon2CheckHash()would let CI cover the loading path (labelsargon2).
CI failed only at setup, because GPG secrets aren't available to fork PRs, so the build/test never ran. That will keep happening for fork PRs, so we'll run the tests on our side before merging. LDEV-5331 is linked.
|
No response for 10 days, so I'm closing this for now. Happy to reopen if anyone picks it up again. |
No description provided.