commit f388b764fbcedebb52df065d541d5f2b85dc30a1 from: Kirill A. Korinsky date: Mon May 19 19:26:11 2025 UTC Adjust for new libopensmtpd commit - e1300062dc25b4ed3e083c8d35cce75c2919eb00 commit + f388b764fbcedebb52df065d541d5f2b85dc30a1 blob - 7063e70409ac3b0a7369ddb3ae7aeb8ab2590b15 blob + 23637810fe9995f36251be82d92154eababe84f6 --- main.c +++ main.c @@ -100,7 +100,7 @@ static int sephash = 0; void usage(void); void dkim_adddomain(char *); void dkim_headers_set(char *); -void dkim_dataline(struct osmtpd_ctx *, const char *); +int dkim_dataline(struct osmtpd_ctx *, const char *); void *dkim_message_new(struct osmtpd_ctx *); void dkim_message_free(struct osmtpd_ctx *, void *); void dkim_parse_header(struct dkim_message *, char *, int); @@ -249,7 +249,7 @@ dkim_adddomain(char *d) domain[ndomains++] = d; } -void +int dkim_dataline(struct osmtpd_ctx *ctx, const char *line) { struct dkim_message *message = ctx->local_message; @@ -257,8 +257,10 @@ dkim_dataline(struct osmtpd_ctx *ctx, const char *line size_t linelen; linelen = strlen(line); - if (fprintf(message->origf, "%s\n", line) < (int) linelen) - osmtpd_errx(1, "Couldn't write to tempfile"); + if (fprintf(message->origf, "%s\n", line) < (int) linelen) { + osmtpd_warnx(NULL, "Couldn't write to tempfile"); + return -1; + } if (line[0] == '.' && line[1] =='\0') { dkim_sign(ctx); @@ -281,6 +283,8 @@ dkim_dataline(struct osmtpd_ctx *ctx, const char *line dkim_parse_body(message, linedup); free(linedup); } + + return 0; } void *