diff options
author | Olli Hauer <ohauer@FreeBSD.org> | 2020-03-30 21:10:08 +0000 |
---|---|---|
committer | Olli Hauer <ohauer@FreeBSD.org> | 2020-03-30 21:10:08 +0000 |
commit | 770d54723eca42872e08327943fe6ed9e2951507 (patch) | |
tree | 490df63481266d3214bf68ae026818febaa157fc /mail/spamd/files/patch-spamd_sync.c | |
parent | [NEW] devel/py-beautifultable: Print ASCII tables for terminals (diff) |
- fix build against openssl 1.x
- do not add /etc/service entries during install
- add helper script to add /etc/services entries
- remove unused pkg-deinstall
- portlint
PR: 235496
Submitted by: Maxime Soule
Reported by: many
Diffstat (limited to 'mail/spamd/files/patch-spamd_sync.c')
-rw-r--r-- | mail/spamd/files/patch-spamd_sync.c | 164 |
1 files changed, 164 insertions, 0 deletions
diff --git a/mail/spamd/files/patch-spamd_sync.c b/mail/spamd/files/patch-spamd_sync.c new file mode 100644 index 000000000000..5c63f5619b01 --- /dev/null +++ b/mail/spamd/files/patch-spamd_sync.c @@ -0,0 +1,164 @@ +# PR: 235496 +# patch id: 201721 +# +--- spamd/sync.c.orig 2010-04-24 10:33:47 UTC ++++ spamd/sync.c +@@ -53,6 +53,22 @@ extern char *SHA1_File(const char *, char *); + + #include <openssl/hmac.h> + ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++# define spamd_hmac_ctx HMAC_CTX * ++# define spamd_hmac_ctx_init(ctx) ctx = HMAC_CTX_new() ++# define spamd_hmac_sha1_init(ctx, key, keylen) HMAC_Init_ex(ctx, key, keylen, EVP_sha1(), NULL) ++# define spamd_hmac_update(ctx, data, datalen) HMAC_Update(ctx, data, datalen) ++# define spamd_hmac_final(ctx, data, datalen) HMAC_Final(ctx, data, datalen) ++# define spamd_hmac_cleanup(ctx) HMAC_CTX_free(ctx) ++#else ++# define spamd_hmac_ctx HMAC_CTX ++# define spamd_hmac_ctx_init(ctx) HMAC_CTX_init(&(ctx)) ++# define spamd_hmac_sha1_init(ctx, key, keylen) HMAC_Init_ex(&(ctx), key, keylen, EVP_sha1(), NULL) ++# define spamd_hmac_update(ctx, data, datalen) HMAC_Update(&(ctx), data, datalen) ++# define spamd_hmac_final(ctx, data, datalen) HMAC_Final(&(ctx), data, datalen) ++# define spamd_hmac_cleanup(ctx) HMAC_cleanup(&(ctx)) ++#endif ++ + #include "sdl.h" + #include "grey.h" + #include "sync.h" +@@ -439,7 +455,7 @@ sync_update(time_t now, char *helo, char *ip, char *fr + u_int16_t sglen, fromlen, tolen, helolen, padlen; + char pad[SPAM_ALIGNBYTES]; + int i = 0; +- HMAC_CTX ctx; ++ spamd_hmac_ctx ctx; + u_int hmac_len; + + if (debug) +@@ -455,8 +471,8 @@ sync_update(time_t now, char *helo, char *ip, char *fr + tolen = strlen(to) + 1; + helolen = strlen(helo) + 1; + +- HMAC_CTX_init(&ctx); +- HMAC_Init(&ctx, sync_key, strlen(sync_key), EVP_sha1()); ++ spamd_hmac_ctx_init(ctx); ++ spamd_hmac_sha1_init(ctx, sync_key, strlen(sync_key)); + + sglen = sizeof(sg) + fromlen + tolen + helolen; + padlen = SPAM_ALIGN(sglen) - sglen; +@@ -468,7 +484,7 @@ sync_update(time_t now, char *helo, char *ip, char *fr + hdr.sh_length = htons(sizeof(hdr) + sglen + padlen + sizeof(end)); + iov[i].iov_base = &hdr; + iov[i].iov_len = sizeof(hdr); +- HMAC_Update(&ctx, iov[i].iov_base, iov[i].iov_len); ++ spamd_hmac_update(ctx, iov[i].iov_base, iov[i].iov_len); + i++; + + /* Add single SPAM sync greylisting entry */ +@@ -481,27 +497,27 @@ sync_update(time_t now, char *helo, char *ip, char *fr + sg.sg_helo_length = htons(helolen); + iov[i].iov_base = &sg; + iov[i].iov_len = sizeof(sg); +- HMAC_Update(&ctx, iov[i].iov_base, iov[i].iov_len); ++ spamd_hmac_update(ctx, iov[i].iov_base, iov[i].iov_len); + i++; + + iov[i].iov_base = from; + iov[i].iov_len = fromlen; +- HMAC_Update(&ctx, iov[i].iov_base, iov[i].iov_len); ++ spamd_hmac_update(ctx, iov[i].iov_base, iov[i].iov_len); + i++; + + iov[i].iov_base = to; + iov[i].iov_len = tolen; +- HMAC_Update(&ctx, iov[i].iov_base, iov[i].iov_len); ++ spamd_hmac_update(ctx, iov[i].iov_base, iov[i].iov_len); + i++; + + iov[i].iov_base = helo; + iov[i].iov_len = helolen; +- HMAC_Update(&ctx, iov[i].iov_base, iov[i].iov_len); ++ spamd_hmac_update(ctx, iov[i].iov_base, iov[i].iov_len); + i++; + + iov[i].iov_base = pad; + iov[i].iov_len = padlen; +- HMAC_Update(&ctx, iov[i].iov_base, iov[i].iov_len); ++ spamd_hmac_update(ctx, iov[i].iov_base, iov[i].iov_len); + i++; + + /* Add end marker */ +@@ -509,14 +525,14 @@ sync_update(time_t now, char *helo, char *ip, char *fr + end.st_length = htons(sizeof(end)); + iov[i].iov_base = &end; + iov[i].iov_len = sizeof(end); +- HMAC_Update(&ctx, iov[i].iov_base, iov[i].iov_len); ++ spamd_hmac_update(ctx, iov[i].iov_base, iov[i].iov_len); + i++; + +- HMAC_Final(&ctx, hdr.sh_hmac, &hmac_len); ++ spamd_hmac_final(ctx, hdr.sh_hmac, &hmac_len); + + /* Send message to the target hosts */ + sync_send(iov, i); +- HMAC_CTX_cleanup(&ctx); ++ spamd_hmac_cleanup(ctx); + } + + void +@@ -527,7 +543,7 @@ sync_addr(time_t now, time_t expire, char *ip, u_int16 + struct spam_synctlv_addr sd; + struct spam_synctlv_hdr end; + int i = 0; +- HMAC_CTX ctx; ++ spamd_hmac_ctx ctx; + u_int hmac_len; + + if (debug) +@@ -537,8 +553,8 @@ sync_addr(time_t now, time_t expire, char *ip, u_int16 + bzero(&hdr, sizeof(hdr)); + bzero(&sd, sizeof(sd)); + +- HMAC_CTX_init(&ctx); +- HMAC_Init(&ctx, sync_key, strlen(sync_key), EVP_sha1()); ++ spamd_hmac_ctx_init(ctx); ++ spamd_hmac_sha1_init(ctx, sync_key, strlen(sync_key)); + + /* Add SPAM sync packet header */ + hdr.sh_version = SPAM_SYNC_VERSION; +@@ -547,7 +563,7 @@ sync_addr(time_t now, time_t expire, char *ip, u_int16 + hdr.sh_length = htons(sizeof(hdr) + sizeof(sd) + sizeof(end)); + iov[i].iov_base = &hdr; + iov[i].iov_len = sizeof(hdr); +- HMAC_Update(&ctx, iov[i].iov_base, iov[i].iov_len); ++ spamd_hmac_update(ctx, iov[i].iov_base, iov[i].iov_len); + i++; + + /* Add single SPAM sync address entry */ +@@ -558,7 +574,7 @@ sync_addr(time_t now, time_t expire, char *ip, u_int16 + sd.sd_ip = inet_addr(ip); + iov[i].iov_base = &sd; + iov[i].iov_len = sizeof(sd); +- HMAC_Update(&ctx, iov[i].iov_base, iov[i].iov_len); ++ spamd_hmac_update(ctx, iov[i].iov_base, iov[i].iov_len); + i++; + + /* Add end marker */ +@@ -566,14 +582,14 @@ sync_addr(time_t now, time_t expire, char *ip, u_int16 + end.st_length = htons(sizeof(end)); + iov[i].iov_base = &end; + iov[i].iov_len = sizeof(end); +- HMAC_Update(&ctx, iov[i].iov_base, iov[i].iov_len); ++ spamd_hmac_update(ctx, iov[i].iov_base, iov[i].iov_len); + i++; + +- HMAC_Final(&ctx, hdr.sh_hmac, &hmac_len); ++ spamd_hmac_final(ctx, hdr.sh_hmac, &hmac_len); + + /* Send message to the target hosts */ + sync_send(iov, i); +- HMAC_CTX_cleanup(&ctx); ++ spamd_hmac_cleanup(ctx); + } + + void |