commit - 393fc98ff345b8042473e21b4b70fa72a9ff07ab
commit + c6cb29f36fce4c54f745d6743846afe78f59b50c
blob - 9e5e758b470e0025530fc870bc6fccc64b5343a6
blob + 2df27c0446d1961cdcbe440378f6f2d09636462b
--- opensmtpd.c
+++ opensmtpd.c
OSMTPD_PHASE_TX_COMMIT,
osmtpd_callbacks[i].incoming, 0, NULL);
}
-
}
}
for (i = 0; i < NITEMS(osmtpd_callbacks); i++) {
}
strlcpy(linedup, line, dupsize);
if ((end = strchr(line, '|')) == NULL)
- osmtpd_errx(1, "Invalid line received: missing version: %s", linedup);
+ osmtpd_errx(1, "Invalid line received: missing "
+ "version: %s", linedup);
end++[0] = '\0';
if (strcmp(line, "filter") == 0)
type = OSMTPD_TYPE_FILTER;
if (strcmp(line, "ready") == 0)
continue;
if ((end = strchr(line, '|')) == NULL)
- osmtpd_errx(1, "Invalid line received: missing key: %s", linedup);
+ osmtpd_errx(1, "Invalid line received: missing "
+ "key: %s", linedup);
end++[0] = '\0';
if (strcmp(line, "smtp-session-timeout") == 0) {
session_timeout = strtonum(end, 0, INT_MAX,
continue;
}
else
- osmtpd_errx(1, "Invalid line received: unknown message type: %s", linedup);
+ osmtpd_errx(1, "Invalid line received: unknown message "
+ "type: %s", linedup);
line = end;
if ((end = strchr(line, '|')) == NULL)
- osmtpd_errx(1, "Invalid line received: missing time: %s", linedup);
+ osmtpd_errx(1, "Invalid line received: missing time: "
+ "%s", linedup);
end++[0] = '\0';
if (strcmp(line, "0.1") != 0)
- osmtpd_errx(1, "Unsupported protocol received: %s", linedup);
+ osmtpd_errx(1, "Unsupported protocol received: %s",
+ linedup);
version_major = 0;
version_minor = 1;
line = end;
if ((end = strchr(line, '.')) == NULL)
- osmtpd_errx(1, "Invalid line received: invalid timestamp: %s", linedup);
+ osmtpd_errx(1, "Invalid line received: invalid "
+ "timestamp: %s", linedup);
end++[0] = '\0';
tm.tv_sec = (time_t) strtonum(line, 0, INT64_MAX, &errstr);
if (errstr != NULL)
- osmtpd_errx(1, "Invalid line received: invalid timestamp: %s", linedup);
+ osmtpd_errx(1, "Invalid line received: invalid "
+ "timestamp: %s", linedup);
line = end;
if ((end = strchr(line, '|')) == NULL)
- osmtpd_errx(1, "Invalid line received: missing direction: %s", linedup);
+ osmtpd_errx(1, "Invalid line received: missing "
+ "direction: %s", linedup);
end++[0] = '\0';
tm.tv_nsec = (long) strtonum(line, 0, LONG_MAX, &errstr);
if (errstr != NULL)
- osmtpd_errx(1, "Invalid line received: invalid timestamp: %s",
- linedup);
+ osmtpd_errx(1, "Invalid line received: invalid "
+ "timestamp: %s", linedup);
tm.tv_nsec *= 10 * (9 - (end - line));
line = end;
if ((end = strchr(line, '|')) == NULL)
- osmtpd_errx(1, "Invalid line receieved: missing phase: %s",
- linedup);
+ osmtpd_errx(1, "Invalid line receieved: missing "
+ "phase: %s", linedup);
end++[0] = '\0';
if (strcmp(line, "smtp-in") == 0)
incoming = 1;
else if (strcmp(line, "smtp-out") == 0)
incoming = 0;
else
- osmtpd_errx(1, "Invalid line: invalid direction: %s", linedup);
+ osmtpd_errx(1, "Invalid line: invalid direction: %s",
+ linedup);
line = end;
if ((end = strchr(line, '|')) == NULL)
- osmtpd_errx(1, "Invalid line received: missing reqid: %s",
- linedup);
+ osmtpd_errx(1, "Invalid line received: missing reqid: "
+ "%s", linedup);
end++[0] = '\0';
phase = osmtpd_strtophase(line, linedup);
line = end;
search.ctx.reqid = strtoull(line, &end, 16);
if ((search.ctx.reqid == ULLONG_MAX && errno != 0) ||
(end[0] != '|' && end[0] != '\0'))
- osmtpd_errx(1, "Invalid line received: invalid reqid: %s",
- linedup);
+ osmtpd_errx(1, "Invalid line received: invalid reqid: "
+ "%s", linedup);
line = end + 1;
ctx = RB_FIND(osmtpd_sessions, &osmtpd_sessions, &search);
if (ctx == NULL) {
break;
}
if (i == NITEMS(osmtpd_callbacks)) {
- osmtpd_errx(1, "Invalid line received: received unregistered "
- "line: %s", linedup);
+ osmtpd_errx(1, "Invalid line received: received "
+ "unregistered line: %s", linedup);
}
if (ctx->ctx.type == OSMTPD_TYPE_FILTER) {
ctx->ctx.token = strtoull(line, &end, 16);
- if ((ctx->ctx.token == ULLONG_MAX && errno != 0) ||
+ if ((ctx->ctx.token == ULLONG_MAX && errno != 0) ||
end[0] != '|')
- osmtpd_errx(1, "Invalid line received: invalid token: %s", linedup);
+ osmtpd_errx(1, "Invalid line received: invalid "
+ "token: %s", linedup);
line = end + 1;
}
osmtpd_callbacks[i].osmtpd_cb(&(osmtpd_callbacks[i]),
hostname = params;
if ((address = strchr(params, '|')) == NULL)
- osmtpd_errx(1, "Invalid line received: missing address: %s", linedup);
+ osmtpd_errx(1, "Invalid line received: missing address: %s",
+ linedup);
address++[0] = '\0';
osmtpd_addrtoss(address, &ss, 0, linedup);
char *end, *rdns, *fcrdns;
struct sockaddr_storage src, dst;
void (*f)(struct osmtpd_ctx *, const char *, const char *,
- struct sockaddr_storage *, struct sockaddr_storage *);
+ struct sockaddr_storage *, struct sockaddr_storage *);
if ((end = strchr(params, '|')) == NULL)
- osmtpd_errx(1, "Invalid line received: missing fcrdns: %s", linedup);
+ osmtpd_errx(1, "Invalid line received: missing fcrdns: %s",
+ linedup);
end++[0] = '\0';
rdns = params;
params = end;
if ((end = strchr(params, '|')) == NULL)
- osmtpd_errx(1, "Invalid line received: missing src: %s", linedup);
+ osmtpd_errx(1, "Invalid line received: missing src: %s",
+ linedup);
end++[0] = '\0';
fcrdns = params;
params = end;
if ((end = strchr(params, '|')) == NULL)
- osmtpd_errx(1, "Invalid line received: missing dst: %s", linedup);
+ osmtpd_errx(1, "Invalid line received: missing dst: %s",
+ linedup);
end++[0] = '\0';
osmtpd_addrtoss(params, &src, 1, linedup);
params = end;
errno = 0;
imsgid = strtoul(msgid, &endptr, 16);
if ((imsgid == ULONG_MAX && errno != 0) || endptr[0] != '\0')
- osmtpd_errx(1, "Invalid line received: invalid msgid: %s", linedup);
+ osmtpd_errx(1, "Invalid line received: invalid msgid: %s",
+ linedup);
ctx->msgid = imsgid;
/* Check if we're in range */
if ((unsigned long) ctx->msgid != imsgid)
- osmtpd_errx(1, "Invalid line received: invalid msgid: %s", linedup);
+ osmtpd_errx(1, "Invalid line received: invalid msgid: %s",
+ linedup);
if (!cb->storereport)
ctx->msgid = 0;
errno = 0;
imsgid = strtoul(params, &end, 16);
if ((imsgid == ULONG_MAX && errno != 0))
- osmtpd_errx(1, "Invalid line received: invalid msgid: %s", linedup);
+ osmtpd_errx(1, "Invalid line received: invalid msgid: %s",
+ linedup);
if (end[0] != '|')
- osmtpd_errx(1, "Invalid line received: missing address: %s", linedup);
+ osmtpd_errx(1, "Invalid line received: missing address: %s",
+ linedup);
msgid = imsgid;
if ((unsigned long) msgid != imsgid)
- osmtpd_errx(1, "Invalid line received: invalid msgid: %s", linedup);
+ osmtpd_errx(1, "Invalid line received: invalid msgid: %s",
+ linedup);
params = end + 1;
if ((end = strchr(params, '|')) == NULL)
- osmtpd_errx(1, "Invalid line received: missing status: %s", linedup);
+ osmtpd_errx(1, "Invalid line received: missing status: %s",
+ linedup);
end++[0] = '\0';
mailfrom = params;
if (cb->storereport) {
errno = 0;
imsgid = strtoul(params, &end, 16);
if ((imsgid == ULONG_MAX && errno != 0))
- osmtpd_errx(1, "Invalid line received: invalid msgid: %s", linedup);
+ osmtpd_errx(1, "Invalid line received: invalid msgid: %s",
+ linedup);
if (end[0] != '|')
- osmtpd_errx(1, "Invalid line received: missing address: %s", linedup);
+ osmtpd_errx(1, "Invalid line received: missing address: %s",
+ linedup);
msgid = imsgid;
if ((unsigned long) msgid != imsgid)
- osmtpd_errx(1, "Invalid line received: invalid msgid: %s", linedup);
+ osmtpd_errx(1, "Invalid line received: invalid msgid: %s",
+ linedup);
params = end + 1;
if ((end = strchr(params, '|')) == NULL)
- osmtpd_errx(1, "Invalid line received: missing status: %s", linedup);
+ osmtpd_errx(1, "Invalid line received: missing status: %s",
+ linedup);
end++[0] = '\0';
rcptto = params;
errno = 0;
imsgid = strtoul(params, &end, 16);
if ((imsgid == ULONG_MAX && errno != 0))
- osmtpd_errx(1, "Invalid line received: invalid msgid: %s", linedup);
+ osmtpd_errx(1, "Invalid line received: invalid msgid: %s",
+ linedup);
if (end[0] != '|')
- osmtpd_errx(1, "Invalid line received: missing address: %s", linedup);
+ osmtpd_errx(1, "Invalid line received: missing address: %s",
+ linedup);
msgid = imsgid;
if ((unsigned long) msgid != imsgid)
- osmtpd_errx(1, "Invalid line received: invalid msgid: %s", linedup);
+ osmtpd_errx(1, "Invalid line received: invalid msgid: %s",
+ linedup);
params = end + 1;
evpid = strtoull(params, &end, 16);
- if ((ctx->evpid == ULLONG_MAX && errno != 0) ||
+ if ((ctx->evpid == ULLONG_MAX && errno != 0) ||
end[0] != '\0')
- osmtpd_errx(1, "Invalid line received: invalid evpid: %s", linedup);
+ osmtpd_errx(1, "Invalid line received: invalid evpid: %s",
+ linedup);
if (cb->storereport)
ctx->evpid = evpid;
errno = 0;
imsgid = strtoul(params, &end, 16);
if ((imsgid == ULONG_MAX && errno != 0))
- osmtpd_errx(1, "Invalid line received: invalid msgid: %s", linedup);
+ osmtpd_errx(1, "Invalid line received: invalid msgid: %s",
+ linedup);
if (end[0] != '|')
- osmtpd_errx(1, "Invalid line received: missing address: %s", linedup);
+ osmtpd_errx(1, "Invalid line received: missing address: %s",
+ linedup);
msgid = imsgid;
if ((unsigned long) msgid != imsgid)
- osmtpd_errx(1, "Invalid line received: invalid msgid: %s", linedup);
+ osmtpd_errx(1, "Invalid line received: invalid msgid: %s",
+ linedup);
params = end + 1;
if ((f = cb->cb) != NULL)
errno = 0;
imsgid = strtoul(params, &end, 16);
if ((imsgid == ULONG_MAX && errno != 0))
- osmtpd_errx(1, "Invalid line received: invalid msgid: %s", linedup);
+ osmtpd_errx(1, "Invalid line received: invalid msgid: %s",
+ linedup);
if (end[0] != '|')
- osmtpd_errx(1, "Invalid line received: missing address: %s", linedup);
+ osmtpd_errx(1, "Invalid line received: missing address: %s",
+ linedup);
msgid = imsgid;
if ((unsigned long) msgid != imsgid)
- osmtpd_errx(1, "Invalid line received: invalid msgid: %s", linedup);
+ osmtpd_errx(1, "Invalid line received: invalid msgid: %s",
+ linedup);
params = end + 1;
msgsz = strtonum(params, 0, SIZE_MAX, &errstr);
if (errstr != NULL)
- osmtpd_errx(1, "Invalid line received: invalid msg size: %s", linedup);
+ osmtpd_errx(1, "Invalid line received: invalid msg size: %s",
+ linedup);
if ((f = cb->cb) != NULL)
f(ctx, msgid, msgsz);
errno = 0;
imsgid = strtoul(params, &end, 16);
if ((imsgid == ULONG_MAX && errno != 0))
- osmtpd_errx(1, "Invalid line received: invalid msgid: %s", linedup);
+ osmtpd_errx(1, "Invalid line received: invalid msgid: %s",
+ linedup);
if (end[0] != '\0')
- osmtpd_errx(1, "Invalid line received: missing address: %s", linedup);
+ osmtpd_errx(1, "Invalid line received: missing address: %s",
+ linedup);
msgid = imsgid;
if ((unsigned long) msgid != imsgid)
- osmtpd_errx(1, "Invalid line received: invalid msgid: %s", linedup);
+ osmtpd_errx(1, "Invalid line received: invalid msgid: %s",
+ linedup);
if ((f = cb->cb) != NULL)
f(ctx, msgid);
"(%s): %s", addr, linedup);
default:
port[-1] = ':';
- osmtpd_err(1, "Can't parse address (%s): %s", addr, linedup);
+ osmtpd_err(1, "Can't parse address (%s): %s", addr,
+ linedup);
}
} else if (strncasecmp(addr, "unix:", 5) == 0) {
sun = (struct sockaddr_un *)ss;
sun->sun_family = AF_UNIX;
if (strlcpy(sun->sun_path, addr,
sizeof(sun->sun_path)) >= sizeof(sun->sun_path)) {
- osmtpd_errx(1, "Invalid line received: address too long (%s): "
- "%s", addr, linedup);
+ osmtpd_errx(1, "Invalid line received: address too "
+ "long (%s): %s", addr, linedup);
}
} else {
sin = (struct sockaddr_in *)ss;
"(%s): %s", addr, linedup);
default:
port[-1] = ':';
- osmtpd_err(1, "Can't parse address (%s): %s", addr, linedup);
+ osmtpd_err(1, "Can't parse address (%s): %s", addr,
+ linedup);
}
}
}