diff options
author | Timo Teras <timo.teras@iki.fi> | 2009-07-22 11:36:55 +0300 |
---|---|---|
committer | Timo Teras <timo.teras@iki.fi> | 2009-07-22 11:36:55 +0300 |
commit | 680a3015114ce0375604a389139831f242769f60 (patch) | |
tree | db337a4afb34fa2f4ad6b619ec9cf06a107dc08a /src/package.c | |
parent | 772e4aa26a2a0b21b667c54a11e05eae183e0915 (diff) | |
download | apk-tools-680a3015114ce0375604a389139831f242769f60.tar.gz apk-tools-680a3015114ce0375604a389139831f242769f60.tar.bz2 apk-tools-680a3015114ce0375604a389139831f242769f60.tar.xz apk-tools-680a3015114ce0375604a389139831f242769f60.zip |
various: installation fixes
- extract everything as .apk-new and overwrite only after data
has been checksummed
- url construction fixes (to work with simple http servers)
- end of gunzip stream fixed
- remove oneshot digesting flag for now as it's usage was broken
Diffstat (limited to 'src/package.c')
-rw-r--r-- | src/package.c | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/src/package.c b/src/package.c index 16d72f9..9fb4024 100644 --- a/src/package.c +++ b/src/package.c @@ -293,7 +293,6 @@ void apk_sign_ctx_init(struct apk_sign_ctx *ctx, int action, } EVP_MD_CTX_init(&ctx->mdctx); EVP_DigestInit_ex(&ctx->mdctx, ctx->md, NULL); - EVP_MD_CTX_set_flags(&ctx->mdctx, EVP_MD_CTX_FLAG_ONESHOT); } @@ -406,7 +405,6 @@ int apk_sign_ctx_mpart_cb(void *ctx, int part, apk_blob_t data) switch (part) { case APK_MPART_DATA: - EVP_MD_CTX_clear_flags(&sctx->mdctx, EVP_MD_CTX_FLAG_ONESHOT); EVP_DigestUpdate(&sctx->mdctx, data.ptr, data.len); break; case APK_MPART_BOUNDARY: @@ -417,7 +415,6 @@ int apk_sign_ctx_mpart_cb(void *ctx, int part, apk_blob_t data) if (!sctx->control_started) { EVP_DigestFinal_ex(&sctx->mdctx, calculated, NULL); EVP_DigestInit_ex(&sctx->mdctx, sctx->md, NULL); - EVP_MD_CTX_set_flags(&sctx->mdctx, EVP_MD_CTX_FLAG_ONESHOT); return 0; } @@ -442,7 +439,6 @@ int apk_sign_ctx_mpart_cb(void *ctx, int part, apk_blob_t data) sctx->control_verified = 1; EVP_DigestInit_ex(&sctx->mdctx, sctx->md, NULL); - EVP_MD_CTX_set_flags(&sctx->mdctx, EVP_MD_CTX_FLAG_ONESHOT); return 0; } else if (sctx->action == APK_SIGN_GENERATE) { /* Package identity is checksum of control block */ @@ -453,7 +449,6 @@ int apk_sign_ctx_mpart_cb(void *ctx, int part, apk_blob_t data) /* Reset digest for hashing data */ EVP_DigestFinal_ex(&sctx->mdctx, calculated, NULL); EVP_DigestInit_ex(&sctx->mdctx, sctx->md, NULL); - EVP_MD_CTX_set_flags(&sctx->mdctx, EVP_MD_CTX_FLAG_ONESHOT); if (sctx->action == APK_SIGN_VERIFY_IDENTITY) { if (memcmp(calculated, sctx->identity.data, |