commit - e1300062dc25b4ed3e083c8d35cce75c2919eb00
commit + f388b764fbcedebb52df065d541d5f2b85dc30a1
blob - 7063e70409ac3b0a7369ddb3ae7aeb8ab2590b15
blob + 23637810fe9995f36251be82d92154eababe84f6
--- main.c
+++ main.c
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);
domain[ndomains++] = d;
}
-void
+int
dkim_dataline(struct osmtpd_ctx *ctx, const char *line)
{
struct dkim_message *message = ctx->local_message;
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);
dkim_parse_body(message, linedup);
free(linedup);
}
+
+ return 0;
}
void *