diff --git a/src/bin.rs b/src/bin.rs index cec438dfcf4775ff9a2e40779b4a37c8c1957265..cdfb582cf1c83eb95d2455d611e6df6689c83f11 100644 --- a/src/bin.rs +++ b/src/bin.rs @@ -191,8 +191,7 @@ pub fn create(secret_path: &str, archive_path: &str, folder: &str) -> Result<(), //TODO: ensure file size matches - let sig = unsafe { sign::sign(&plain::as_bytes(&header)[64..], &secret_key) }; - header.signature.copy_from_slice(&sig); + header.signature = sign::sign_detached(unsafe { &plain::as_bytes(&header)[64..] }, &secret_key).0; // Write archive header archive_file.seek(SeekFrom::Start(0)) diff --git a/test.sh b/test.sh index 83304c21050f7b21b81558e067e0d95ad22ac1b8..b4f41dc11206db926fd58eb738999d11d8559431 100755 --- a/test.sh +++ b/test.sh @@ -1,27 +1,37 @@ #!/usr/bin/env bash +build=release +if [[ "$1" == "-d" ]]; then + build=debug +fi + set -ex rm -rf target/test mkdir -p target/test -cargo build --release +if [[ "$build" == debug ]]; then + cargo build +else + cargo build --release +fi -time target/release/pkgar \ +time target/$build/pkgar \ keygen \ --secret target/test/secret.key \ --public target/test/public.key -time target/release/pkgar \ +time target/$build/pkgar \ create \ --secret target/test/secret.key \ --file target/test/src.pkg \ src -time target/release/pkgar \ +time target/$build/pkgar \ extract \ --public target/test/public.key \ --file target/test/src.pkg \ target/test/src diff -ruwN src target/test/src +