1 --- poldek-0.32.2/tndb/read.c~ 2016-01-30 17:59:59.000000000 +0100
2 +++ poldek-0.32.2/tndb/read.c 2018-09-14 18:35:56.516594794 +0200
3 @@ -53,20 +53,22 @@ static
4 int md5(FILE *stream, unsigned char *md, unsigned *md_size)
6 unsigned char buf[8*1024];
12 n_assert(md_size && *md_size);
14 - EVP_DigestInit(&ctx, EVP_md5());
15 + ctx = EVP_MD_CTX_create();
16 + if (!EVP_DigestInit(ctx, EVP_md5()))
19 while ((n = fread(buf, 1, sizeof(buf), stream)) > 0) {
20 - EVP_DigestUpdate(&ctx, buf, n);
21 + EVP_DigestUpdate(ctx, buf, n);
25 - EVP_DigestFinal(&ctx, buf, &n);
26 + EVP_DigestFinal(ctx, buf, &n);
30 @@ -75,7 +77,9 @@ int md5(FILE *stream, unsigned char *md,
36 + EVP_MD_CTX_destroy(ctx);
41 --- poldek-0.32.2/tndb/tndb.c~ 2016-01-30 17:59:59.000000000 +0100
42 +++ poldek-0.32.2/tndb/tndb.c 2018-09-14 18:40:57.805504132 +0200
43 @@ -85,13 +85,13 @@ char *tndb_bin2hex_s(const unsigned char
45 void tndb_sign_init(struct tndb_sign *sign)
50 memset(sign, 0, sizeof(*sign));
52 - EVP_DigestInit(&ctx, EVP_sha1());
53 - sign->ctx = n_malloc(sizeof(ctx));
54 - memcpy(sign->ctx, &ctx, sizeof(ctx));
55 + ctx = EVP_MD_CTX_create();
56 + EVP_DigestInit(ctx, EVP_sha1());
58 //printf("%p %p >> INIT\n", sign, sign->ctx);
61 @@ -122,8 +122,8 @@ void tndb_sign_final(struct tndb_sign *s
64 memcpy(sign->md, buf, n);
68 + EVP_MD_CTX_destroy((EVP_MD_CTX *)sign->ctx);
72 --- poldek-0.32.2/pkgdir/pdir/digest.c~ 2016-01-30 15:05:57.000000000 +0100
73 +++ poldek-0.32.2/pkgdir/pdir/digest.c 2018-09-14 18:52:42.783229333 +0200
74 @@ -195,12 +195,13 @@ int hdr_digest(tn_stream *st, unsigned c
75 int nread, len, endvhdr_found = 0;
76 unsigned char buf[256];
83 n_assert(md_size && *md_size);
84 - EVP_DigestInit(&ctx, EVP_sha1());
85 + ctx = EVP_MD_CTX_create();
86 + EVP_DigestInit(ctx, EVP_sha1());
88 len = strlen(pdir_tag_endvarhdr);
90 @@ -208,7 +209,7 @@ int hdr_digest(tn_stream *st, unsigned c
91 while ((nread = n_stream_gets(st, line, sizeof(line))) > 0) {
94 - EVP_DigestUpdate(&ctx, line, nread);
95 + EVP_DigestUpdate(ctx, line, nread);
97 EVP_DigestUpdate(_ctx, line, nread);
99 @@ -228,7 +229,8 @@ int hdr_digest(tn_stream *st, unsigned c
103 - EVP_DigestFinal(&ctx, buf, &n);
104 + EVP_DigestFinal(ctx, buf, &n);
105 + EVP_MD_CTX_destroy(ctx);
107 if (!endvhdr_found) {
108 logn(LOGERR, _("broken index"));
109 @@ -251,22 +253,24 @@ static
110 int digest(tn_stream *st, unsigned char *md, int *md_size, EVP_MD_CTX *_ctx)
112 unsigned char buf[16*1024];
118 n_assert(md_size && *md_size);
120 - EVP_DigestInit(&ctx, EVP_sha1());
121 + ctx = EVP_MD_CTX_create();
122 + EVP_DigestInit(ctx, EVP_sha1());
124 while ((n = n_stream_read(st, buf, sizeof(buf))) > 0) {
125 - EVP_DigestUpdate(&ctx, buf, n);
126 + EVP_DigestUpdate(ctx, buf, n);
128 EVP_DigestUpdate(_ctx, buf, n);
132 - EVP_DigestFinal(&ctx, buf, &n);
133 + EVP_DigestFinal(ctx, buf, &n);
134 + EVP_MD_CTX_destroy(ctx);
138 @@ -288,7 +292,7 @@ int pdir_digest_calc(struct pdir_digest
139 unsigned char mdh[64], mdd[64], md[64], mdhex[64];
140 int mdh_size = sizeof(mdh), mdd_size = sizeof(mdd),
141 md_size = sizeof(md);
142 - EVP_MD_CTX ctx, *ctxp;
143 + EVP_MD_CTX *ctx, *ctxp;
147 @@ -300,27 +304,34 @@ int pdir_digest_calc(struct pdir_digest
150 if (flags & CALC_MD) {
151 - EVP_DigestInit(&ctx, EVP_sha1());
153 + ctx = EVP_MD_CTX_create();
154 + EVP_DigestInit(ctx, EVP_sha1());
158 if ((flags & CALC_MDD) == 0) { /* no separate header && body digests */
159 if (!digest(st, mdd, &mdd_size, ctxp)) {
161 - EVP_DigestFinal(&ctx, md, &md_size);
163 + EVP_DigestFinal(ctx, md, &md_size);
164 + EVP_MD_CTX_destroy(ctx);
170 if (!hdr_digest(st, mdh, &mdh_size, ctxp)) {
172 - EVP_DigestFinal(&ctx, md, &md_size);
174 + EVP_DigestFinal(ctx, md, &md_size);
175 + EVP_MD_CTX_destroy(ctx);
180 if (!digest(st, mdd, &mdd_size, ctxp)) {
182 - EVP_DigestFinal(&ctx, md, &md_size);
184 + EVP_DigestFinal(ctx, md, &md_size);
185 + EVP_MD_CTX_destroy(ctx);
190 @@ -336,7 +347,8 @@ int pdir_digest_calc(struct pdir_digest
194 - EVP_DigestFinal(&ctx, md, &md_size);
195 + EVP_DigestFinal(ctx, md, &md_size);
196 + EVP_MD_CTX_destroy(ctx);
197 n = bin2hex(mdhex, sizeof(mdhex), md, md_size);
198 if (n != PDIR_DIGEST_SIZE)
200 --- poldek-0.32.2/pkgdir/pndir/digest.c~ 2016-01-30 15:05:57.000000000 +0100
201 +++ poldek-0.32.2/pkgdir/pndir/digest.c 2018-09-14 18:53:40.521640846 +0200
202 @@ -241,12 +241,13 @@ int pndir_digest_calc_pkgs(struct pndir_
203 int pndir_digest_calc(struct pndir_digest *pdg, tn_array *keys)
205 unsigned char md[256];
211 - EVP_DigestInit(&ctx, EVP_sha1());
212 - EVP_DigestUpdate(&ctx, "md", strlen("md"));
213 + ctx = EVP_MD_CTX_create();
214 + EVP_DigestInit(ctx, EVP_sha1());
215 + EVP_DigestUpdate(ctx, "md", strlen("md"));
217 if (keys && n_array_size(keys)) {
219 @@ -254,11 +255,12 @@ int pndir_digest_calc(struct pndir_diges
220 for (i=0; i < n_array_size(keys); i++) {
221 char *key = n_array_nth(keys, i);
222 DBGF("key = %s\n", key);
223 - EVP_DigestUpdate(&ctx, key, strlen(key));
224 + EVP_DigestUpdate(ctx, key, strlen(key));
228 - EVP_DigestFinal(&ctx, md, &n);
229 + EVP_DigestFinal(ctx, md, &n);
230 + EVP_MD_CTX_destroy(ctx);
232 if (n > (int)sizeof(pdg->md))
234 --- poldek-0.32.2/misc.c~ 2016-01-30 15:05:57.000000000 +0100
235 +++ poldek-0.32.2/misc.c 2018-09-14 18:55:01.440752874 +0200
236 @@ -80,23 +80,25 @@ static
237 int mdigest(FILE *stream, unsigned char *md, unsigned *md_size, int digest_type)
239 unsigned char buf[8*1024];
245 n_assert(md_size && *md_size);
247 + ctx = EVP_MD_CTX_create();
248 if (digest_type == DIGEST_MD5)
249 - EVP_DigestInit(&ctx, EVP_md5());
250 + EVP_DigestInit(ctx, EVP_md5());
252 - EVP_DigestInit(&ctx, EVP_sha1());
253 + EVP_DigestInit(ctx, EVP_sha1());
255 while ((n = fread(buf, 1, sizeof(buf), stream)) > 0) {
256 - EVP_DigestUpdate(&ctx, buf, n);
257 + EVP_DigestUpdate(ctx, buf, n);
261 - EVP_DigestFinal(&ctx, buf, &n);
262 + EVP_DigestFinal(ctx, buf, &n);
263 + EVP_MD_CTX_destroy(ctx);