aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGilles Chehade <gilles@poolp.org>2012-11-15 20:30:22 +0100
committerGilles Chehade <gilles@poolp.org>2012-11-15 20:30:22 +0100
commit9b31b68eac9b573428f11bd93fc3604e5ee97907 (patch)
tree57943bdcf4d0b3fdb8842d5d6c4aa6c6d87bb5b4
parentremove deprecated API (diff)
parentfinish KNF (diff)
downloadOpenSMTPD-9b31b68eac9b573428f11bd93fc3604e5ee97907.tar.xz
OpenSMTPD-9b31b68eac9b573428f11bd93fc3604e5ee97907.zip
Merge branch 'cleanup'
Conflicts: smtpd/lka.c smtpd/smtpd.h smtpd/table_db.c smtpd/table_static.c
-rw-r--r--smtpd/aliases.c18
-rw-r--r--smtpd/bounce.c22
-rw-r--r--smtpd/config.c6
-rw-r--r--smtpd/control.c78
-rw-r--r--smtpd/delivery_filename.c4
-rw-r--r--smtpd/delivery_maildir.c2
-rw-r--r--smtpd/delivery_mbox.c2
-rw-r--r--smtpd/delivery_mda.c2
-rw-r--r--smtpd/dns.c25
-rw-r--r--smtpd/enqueue.c31
-rw-r--r--smtpd/filter_api.c56
-rw-r--r--smtpd/filter_api.h31
-rw-r--r--smtpd/iobuf.c20
-rw-r--r--smtpd/ioev.c10
-rw-r--r--smtpd/lka.c29
-rw-r--r--smtpd/lka_session.c89
-rw-r--r--smtpd/log.c2
-rw-r--r--smtpd/log.h10
-rw-r--r--smtpd/makemap.c24
-rw-r--r--smtpd/mda.c61
-rw-r--r--smtpd/mfa.c25
-rw-r--r--smtpd/mfa_session.c31
-rw-r--r--smtpd/mta.c29
-rw-r--r--smtpd/mta_session.c53
-rw-r--r--smtpd/parser.c36
-rw-r--r--smtpd/queue.c4
-rw-r--r--smtpd/queue_backend.c21
-rw-r--r--smtpd/queue_fsqueue.c70
-rw-r--r--smtpd/queue_ram.c38
-rw-r--r--smtpd/ruleset.c19
-rw-r--r--smtpd/scheduler.c29
-rw-r--r--smtpd/scheduler_backend.c2
-rw-r--r--smtpd/scheduler_ramqueue.c21
-rw-r--r--smtpd/smtp.c25
-rw-r--r--smtpd/smtp_session.c64
-rw-r--r--smtpd/smtpctl.c25
-rw-r--r--smtpd/smtpd.c102
-rw-r--r--smtpd/smtpd.h163
-rw-r--r--smtpd/ssl.c25
-rw-r--r--smtpd/ssl_privsep.c46
-rw-r--r--smtpd/stat_backend.c9
-rw-r--r--smtpd/table.c18
-rw-r--r--smtpd/table_db.c12
-rw-r--r--smtpd/table_static.c15
-rw-r--r--smtpd/user.c46
-rw-r--r--smtpd/user_pwd.c76
-rw-r--r--smtpd/util.c103
-rw-r--r--smtpd/waitq.c2
48 files changed, 963 insertions, 668 deletions
diff --git a/smtpd/aliases.c b/smtpd/aliases.c
index 94da92f0..08045b87 100644
--- a/smtpd/aliases.c
+++ b/smtpd/aliases.c
@@ -59,7 +59,8 @@ aliases_get(objid_t id, struct expand *expand, const char *username)
nbaliases = 0;
RB_FOREACH(xn, expandtree, &table_alias->expand.tree) {
if (xn->type == EXPAND_INCLUDE)
- nbaliases += aliases_expand_include(expand, xn->u.buffer);
+ nbaliases += aliases_expand_include(expand,
+ xn->u.buffer);
else {
expand_insert(expand, xn);
nbaliases++;
@@ -104,7 +105,8 @@ aliases_virtual_get(objid_t id, struct expand *expand,
nbaliases = 0;
RB_FOREACH(xn, expandtree, &table_virtual->expand.tree) {
if (xn->type == EXPAND_INCLUDE)
- nbaliases += aliases_expand_include(expand, xn->u.buffer);
+ nbaliases += aliases_expand_include(expand,
+ xn->u.buffer);
else {
expand_insert(expand, xn);
nbaliases++;
@@ -113,7 +115,8 @@ aliases_virtual_get(objid_t id, struct expand *expand,
expand_free(&table_virtual->expand);
free(table_virtual);
- log_debug("debug: aliases_virtual_get: '%s' resolved to %d nodes", pbuf, nbaliases);
+ log_debug("debug: aliases_virtual_get: '%s' resolved to %d nodes",
+ pbuf, nbaliases);
return nbaliases;
}
@@ -156,9 +159,9 @@ aliases_expand_include(struct expand *expand, const char *filename)
continue;
}
- if (! alias_parse(&xn, line)) {
- log_warnx("warn: could not parse include entry \"%s\".", line);
- }
+ if (! alias_parse(&xn, line))
+ log_warnx("warn: could not parse include entry \"%s\".",
+ line);
if (xn.type == EXPAND_INCLUDE)
log_warnx("warn: nested inclusion is not supported.");
@@ -252,7 +255,8 @@ alias_is_address(struct expandnode *alias, const char *line, size_t len)
/* scan pre @ for disallowed chars */
*domain++ = '\0';
strlcpy(alias->u.mailaddr.user, line, sizeof(alias->u.mailaddr.user));
- strlcpy(alias->u.mailaddr.domain, domain, sizeof(alias->u.mailaddr.domain));
+ strlcpy(alias->u.mailaddr.domain, domain,
+ sizeof(alias->u.mailaddr.domain));
while (*line) {
char allowedset[] = "!#$%*/?|^{}`~&'+-=_.";
diff --git a/smtpd/bounce.c b/smtpd/bounce.c
index e2f09e61..7772f6fd 100644
--- a/smtpd/bounce.c
+++ b/smtpd/bounce.c
@@ -140,7 +140,7 @@ bounce_run(uint64_t id, int fd)
{
struct bounce *bounce;
int msgfd;
-
+
log_trace(TRACE_BOUNCE, "bounce: run %016" PRIx64 " fd %i", id, fd);
bounce = tree_xpop(&bounces_by_uid, id);
@@ -216,7 +216,8 @@ bounce_drain()
tree_xset(&bounces_by_uid, bounce->id, bounce);
- log_debug("debug: bounce: %p: requesting enqueue socket with id 0x%016" PRIx64,
+ log_debug("debug: bounce: %p: requesting enqueue socket "
+ "with id 0x%016" PRIx64,
bounce, bounce->id);
imsg_compose_event(env->sc_ievs[PROC_SMTP], IMSG_SMTP_ENQUEUE,
@@ -242,7 +243,7 @@ bounce_send(struct bounce *bounce, const char *fmt, ...)
iobuf_xfqueue(&bounce->iobuf, "bounce_send", "%s\n", p);
- free(p);
+ free(p);
}
/* This can simplified once we support PIPELINING */
@@ -253,7 +254,7 @@ bounce_next(struct bounce *bounce)
char *line;
size_t len, s;
- switch(bounce->state) {
+ switch (bounce->state) {
case BOUNCE_EHLO:
bounce_send(bounce, "EHLO %s", env->sc_hostname);
bounce->state = BOUNCE_MAIL;
@@ -303,7 +304,8 @@ bounce_next(struct bounce *bounce)
line = evp->errorline;
if (strlen(line) > 4 && (*line == '1' || *line == '6'))
line += 4;
- iobuf_xfqueue(&bounce->iobuf, "bounce_next: DATA_NOTICE",
+ iobuf_xfqueue(&bounce->iobuf,
+ "bounce_next: DATA_NOTICE",
"Recipient: %s@%s\n"
"Reason: %s\n",
evp->dest.user, evp->dest.domain, line);
@@ -389,12 +391,12 @@ bounce_status(struct bounce *bounce, const char *fmt, ...)
evp->retry++;
envelope_set_errormsg(evp, "%s", status);
queue_envelope_update(evp);
- imsg_compose_event(env->sc_ievs[PROC_SCHEDULER], msg, 0, 0, -1,
- evp, sizeof *evp);
+ imsg_compose_event(env->sc_ievs[PROC_SCHEDULER], msg, 0,
+ 0, -1, evp, sizeof *evp);
} else {
queue_envelope_delete(evp);
- imsg_compose_event(env->sc_ievs[PROC_SCHEDULER], msg, 0, 0, -1,
- &evp->id, sizeof evp->id);
+ imsg_compose_event(env->sc_ievs[PROC_SCHEDULER], msg, 0,
+ 0, -1, &evp->id, sizeof evp->id);
}
TAILQ_REMOVE(&bounce->envelopes, evp, entry);
free(evp);
@@ -452,7 +454,7 @@ bounce_io(struct io *io, int evt)
}
iobuf_normalize(&bounce->iobuf);
break;
- }
+ }
log_trace(TRACE_BOUNCE, "bounce: %p: <<< %s", bounce, line);
diff --git a/smtpd/config.c b/smtpd/config.c
index 7c1127e6..edb62a56 100644
--- a/smtpd/config.c
+++ b/smtpd/config.c
@@ -116,8 +116,8 @@ init_pipes(void)
/*
* find out how many instances of this peer there are.
*/
- if (i >= j || env->sc_instances[i] == 0||
- env->sc_instances[j] == 0)
+ if (i >= j || env->sc_instances[i] == 0 ||
+ env->sc_instances[j] == 0)
continue;
if (env->sc_instances[i] > 1 &&
@@ -199,7 +199,7 @@ config_peers(struct peer *p, uint peercount)
if (dst == smtpd_process)
fatal("config_peers: cannot peer with oneself");
-
+
env->sc_ievs[dst] = xcalloc(env->sc_instances[dst],
sizeof(struct imsgev), "config_peers");
diff --git a/smtpd/control.c b/smtpd/control.c
index 2b0f9fb2..92e7c2f6 100644
--- a/smtpd/control.c
+++ b/smtpd/control.c
@@ -101,7 +101,7 @@ control_imsg(struct imsgev *iev, struct imsg *imsg)
if (c == NULL)
return;
imsg_compose_event(&c->iev, IMSG_SCHEDULER_MESSAGES, 0,
- 0, -1, imsg->data, imsg->hdr.len - sizeof imsg->hdr);
+ 0, -1, imsg->data, imsg->hdr.len-sizeof imsg->hdr);
return;
}
}
@@ -112,7 +112,7 @@ control_imsg(struct imsgev *iev, struct imsg *imsg)
if (c == NULL)
return;
imsg_compose_event(&c->iev, IMSG_SCHEDULER_ENVELOPES, 0,
- 0, -1, imsg->data, imsg->hdr.len - sizeof imsg->hdr);
+ 0, -1, imsg->data, imsg->hdr.len-sizeof imsg->hdr);
return;
}
}
@@ -214,7 +214,8 @@ control(void)
}
(void)umask(old_umask);
- if (chmod(SMTPD_SOCKET, S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH) == -1) {
+ if (chmod(SMTPD_SOCKET,
+ S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH) == -1) {
(void)unlink(SMTPD_SOCKET);
fatal("control: chmod");
}
@@ -410,7 +411,7 @@ control_dispatch_ext(int fd, short event, void *arg)
uint64_t id;
struct stat_kv *kvp;
char *key;
- struct stat_value val;
+ struct stat_value val;
size_t len;
if (getpeereid(fd, &euid, &egid) == -1)
@@ -448,8 +449,8 @@ control_dispatch_ext(int fd, short event, void *arg)
case IMSG_SMTP_ENQUEUE:
if (env->sc_flags & (SMTPD_SMTP_PAUSED |
SMTPD_CONFIGURING | SMTPD_EXITING)) {
- imsg_compose_event(&c->iev, IMSG_CTL_FAIL, 0, 0, -1,
- NULL, 0);
+ imsg_compose_event(&c->iev, IMSG_CTL_FAIL, 0, 0,
+ -1, NULL, 0);
break;
}
imsg_compose_event(env->sc_ievs[PROC_SMTP],
@@ -459,7 +460,8 @@ control_dispatch_ext(int fd, short event, void *arg)
case IMSG_STATS:
if (euid)
goto badcred;
- imsg_compose_event(&c->iev, IMSG_STATS, 0, 0, -1, NULL, 0);
+ imsg_compose_event(&c->iev, IMSG_STATS, 0, 0, -1,
+ NULL, 0);
break;
case IMSG_DIGEST:
@@ -512,9 +514,11 @@ control_dispatch_ext(int fd, short event, void *arg)
memcpy(&verbose, imsg.data, sizeof(verbose));
log_verbose(verbose);
- imsg_compose_event(env->sc_ievs[PROC_PARENT], IMSG_CTL_VERBOSE,
- 0, 0, -1, &verbose, sizeof(verbose));
- imsg_compose_event(&c->iev, IMSG_CTL_OK, 0, 0, -1, NULL, 0);
+ imsg_compose_event(env->sc_ievs[PROC_PARENT],
+ IMSG_CTL_VERBOSE, 0, 0, -1, &verbose,
+ sizeof(verbose));
+ imsg_compose_event(&c->iev, IMSG_CTL_OK, 0, 0, -1,
+ NULL, 0);
break;
case IMSG_QUEUE_PAUSE_MDA:
@@ -522,15 +526,16 @@ control_dispatch_ext(int fd, short event, void *arg)
goto badcred;
if (env->sc_flags & SMTPD_MDA_PAUSED) {
- imsg_compose_event(&c->iev, IMSG_CTL_FAIL, 0, 0, -1,
- NULL, 0);
+ imsg_compose_event(&c->iev, IMSG_CTL_FAIL, 0, 0,
+ -1, NULL, 0);
break;
}
log_info("info: mda paused");
env->sc_flags |= SMTPD_MDA_PAUSED;
imsg_compose_event(env->sc_ievs[PROC_QUEUE],
IMSG_QUEUE_PAUSE_MDA, 0, 0, -1, NULL, 0);
- imsg_compose_event(&c->iev, IMSG_CTL_OK, 0, 0, -1, NULL, 0);
+ imsg_compose_event(&c->iev, IMSG_CTL_OK, 0, 0, -1,
+ NULL, 0);
break;
case IMSG_QUEUE_PAUSE_MTA:
@@ -538,15 +543,16 @@ control_dispatch_ext(int fd, short event, void *arg)
goto badcred;
if (env->sc_flags & SMTPD_MTA_PAUSED) {
- imsg_compose_event(&c->iev, IMSG_CTL_FAIL, 0, 0, -1,
- NULL, 0);
+ imsg_compose_event(&c->iev, IMSG_CTL_FAIL, 0, 0,
+ -1, NULL, 0);
break;
}
log_info("info: mta paused");
env->sc_flags |= SMTPD_MTA_PAUSED;
imsg_compose_event(env->sc_ievs[PROC_QUEUE],
IMSG_QUEUE_PAUSE_MTA, 0, 0, -1, NULL, 0);
- imsg_compose_event(&c->iev, IMSG_CTL_OK, 0, 0, -1, NULL, 0);
+ imsg_compose_event(&c->iev, IMSG_CTL_OK, 0, 0, -1,
+ NULL, 0);
break;
case IMSG_SMTP_PAUSE:
@@ -554,15 +560,16 @@ control_dispatch_ext(int fd, short event, void *arg)
goto badcred;
if (env->sc_flags & SMTPD_SMTP_PAUSED) {
- imsg_compose_event(&c->iev, IMSG_CTL_FAIL, 0, 0, -1,
- NULL, 0);
+ imsg_compose_event(&c->iev, IMSG_CTL_FAIL, 0, 0,
+ -1, NULL, 0);
break;
}
log_info("info: smtp paused");
env->sc_flags |= SMTPD_SMTP_PAUSED;
- imsg_compose_event(env->sc_ievs[PROC_SMTP], IMSG_SMTP_PAUSE,
- 0, 0, -1, NULL, 0);
- imsg_compose_event(&c->iev, IMSG_CTL_OK, 0, 0, -1, NULL, 0);
+ imsg_compose_event(env->sc_ievs[PROC_SMTP],
+ IMSG_SMTP_PAUSE, 0, 0, -1, NULL, 0);
+ imsg_compose_event(&c->iev, IMSG_CTL_OK, 0, 0, -1,
+ NULL, 0);
break;
case IMSG_QUEUE_RESUME_MDA:
@@ -570,15 +577,16 @@ control_dispatch_ext(int fd, short event, void *arg)
goto badcred;
if (! (env->sc_flags & SMTPD_MDA_PAUSED)) {
- imsg_compose_event(&c->iev, IMSG_CTL_FAIL, 0, 0, -1,
- NULL, 0);
+ imsg_compose_event(&c->iev, IMSG_CTL_FAIL, 0, 0,
+ -1, NULL, 0);
break;
}
log_info("info: mda resumed");
env->sc_flags &= ~SMTPD_MDA_PAUSED;
imsg_compose_event(env->sc_ievs[PROC_QUEUE],
IMSG_QUEUE_RESUME_MDA, 0, 0, -1, NULL, 0);
- imsg_compose_event(&c->iev, IMSG_CTL_OK, 0, 0, -1, NULL, 0);
+ imsg_compose_event(&c->iev, IMSG_CTL_OK, 0, 0, -1,
+ NULL, 0);
break;
case IMSG_QUEUE_RESUME_MTA:
@@ -586,15 +594,16 @@ control_dispatch_ext(int fd, short event, void *arg)
goto badcred;
if (!(env->sc_flags & SMTPD_MTA_PAUSED)) {
- imsg_compose_event(&c->iev, IMSG_CTL_FAIL, 0, 0, -1,
- NULL, 0);
+ imsg_compose_event(&c->iev, IMSG_CTL_FAIL, 0, 0,
+ -1, NULL, 0);
break;
}
log_info("info: mta resumed");
env->sc_flags &= ~SMTPD_MTA_PAUSED;
imsg_compose_event(env->sc_ievs[PROC_QUEUE],
IMSG_QUEUE_RESUME_MTA, 0, 0, -1, NULL, 0);
- imsg_compose_event(&c->iev, IMSG_CTL_OK, 0, 0, -1, NULL, 0);
+ imsg_compose_event(&c->iev, IMSG_CTL_OK, 0, 0, -1,
+ NULL, 0);
break;
case IMSG_SMTP_RESUME:
@@ -602,15 +611,16 @@ control_dispatch_ext(int fd, short event, void *arg)
goto badcred;
if (!(env->sc_flags & SMTPD_SMTP_PAUSED)) {
- imsg_compose_event(&c->iev, IMSG_CTL_FAIL, 0, 0, -1,
- NULL, 0);
+ imsg_compose_event(&c->iev, IMSG_CTL_FAIL, 0, 0,
+ -1, NULL, 0);
break;
}
log_info("info: smtp resumed");
env->sc_flags &= ~SMTPD_SMTP_PAUSED;
- imsg_compose_event(env->sc_ievs[PROC_SMTP], IMSG_SMTP_RESUME,
- 0, 0, -1, NULL, 0);
- imsg_compose_event(&c->iev, IMSG_CTL_OK, 0, 0, -1, NULL, 0);
+ imsg_compose_event(env->sc_ievs[PROC_SMTP],
+ IMSG_SMTP_RESUME, 0, 0, -1, NULL, 0);
+ imsg_compose_event(&c->iev, IMSG_CTL_OK, 0, 0, -1,
+ NULL, 0);
break;
case IMSG_SCHEDULER_MESSAGES:
@@ -660,8 +670,8 @@ control_dispatch_ext(int fd, short event, void *arg)
if (len >= MAX_LINE_SIZE)
goto invalid;
- imsg_compose_event(env->sc_ievs[PROC_LKA], IMSG_LKA_UPDATE_TABLE,
- 0, 0, -1, imsg.data, len + 1);
+ imsg_compose_event(env->sc_ievs[PROC_LKA],
+ IMSG_LKA_UPDATE_TABLE, 0, 0, -1, imsg.data, len+1);
imsg_compose_event(&c->iev, IMSG_CTL_OK, 0, 0, -1,
NULL, 0);
break;
diff --git a/smtpd/delivery_filename.c b/smtpd/delivery_filename.c
index d0aa28bf..f4bc4880 100644
--- a/smtpd/delivery_filename.c
+++ b/smtpd/delivery_filename.c
@@ -52,7 +52,7 @@ struct delivery_backend delivery_backend_filename = {
static void
delivery_filename_open(struct deliver *deliver)
{
- struct stat sb;
+ struct stat sb;
time_t now;
size_t len;
int fd;
@@ -61,7 +61,7 @@ delivery_filename_open(struct deliver *deliver)
char *msg;
int n;
-#define error(m) { msg = m; goto err; }
+#define error(m) { msg = m; goto err; }
#define error2(m) { msg = m; goto err2; }
setproctitle("file delivery");
diff --git a/smtpd/delivery_maildir.c b/smtpd/delivery_maildir.c
index 493cbce2..b8cec128 100644
--- a/smtpd/delivery_maildir.c
+++ b/smtpd/delivery_maildir.c
@@ -58,7 +58,7 @@ delivery_maildir_open(struct deliver *deliver)
char *msg;
int n;
-#define error(m) { msg = m; goto err; }
+#define error(m) { msg = m; goto err; }
#define error2(m) { msg = m; goto err2; }
setproctitle("maildir delivery");
diff --git a/smtpd/delivery_mbox.c b/smtpd/delivery_mbox.c
index 28002d8f..afab9831 100644
--- a/smtpd/delivery_mbox.c
+++ b/smtpd/delivery_mbox.c
@@ -52,7 +52,7 @@ static void
delivery_mbox_open(struct deliver *deliver)
{
char *environ_new[2];
-
+
environ_new[0] = "PATH=" _PATH_DEFPATH;
environ_new[1] = (char *)NULL;
environ = environ_new;
diff --git a/smtpd/delivery_mda.c b/smtpd/delivery_mda.c
index 9568bdfb..8dae5f8b 100644
--- a/smtpd/delivery_mda.c
+++ b/smtpd/delivery_mda.c
@@ -50,7 +50,7 @@ static void
delivery_mda_open(struct deliver *deliver)
{
char *environ_new[2];
-
+
environ_new[0] = "PATH=" _PATH_DEFPATH;
environ_new[1] = (char *)NULL;
environ = environ_new;
diff --git a/smtpd/dns.c b/smtpd/dns.c
index c3dad9f7..1caf4060 100644
--- a/smtpd/dns.c
+++ b/smtpd/dns.c
@@ -99,8 +99,8 @@ dns_query_mx(char *host, char *backup, int port, uint64_t id)
query.port = port;
query.id = id;
- imsg_compose_event(env->sc_ievs[PROC_LKA], IMSG_DNS_MX, 0, 0, -1, &query,
- sizeof(query));
+ imsg_compose_event(env->sc_ievs[PROC_LKA], IMSG_DNS_MX, 0, 0, -1,
+ &query, sizeof(query));
}
void
@@ -112,8 +112,8 @@ dns_query_ptr(struct sockaddr_storage *ss, uint64_t id)
query.ss = *ss;
query.id = id;
- imsg_compose_event(env->sc_ievs[PROC_LKA], IMSG_DNS_PTR, 0, 0, -1, &query,
- sizeof(query));
+ imsg_compose_event(env->sc_ievs[PROC_LKA], IMSG_DNS_PTR, 0, 0, -1,
+ &query, sizeof(query));
}
/* LKA interface */
@@ -131,7 +131,8 @@ dns_async(struct imsgev *asker, int type, struct dns *query)
log_debug("debug: dns: lookup host \"%s\"", query->host);
if (sockaddr_from_str((struct sockaddr*)&query->ss, PF_UNSPEC,
query->host) == 0) {
- log_debug("debug: dns: \"%s\" is an IP address", query->host);
+ log_debug("debug: dns: \"%s\" is an IP address",
+ query->host);
query->error = DNS_OK;
dns_reply(query, IMSG_DNS_HOST);
dns_reply(query, IMSG_DNS_HOST_END);
@@ -183,7 +184,7 @@ static void
dns_asr_event_set(struct dnssession *s, struct async_res *ar)
{
struct timeval tv = { 0, 0 };
-
+
tv.tv_usec = ar->ar_timeout * 1000;
event_set(&s->ev, ar->ar_fd,
ar->ar_cond == ASYNC_READ ? EV_READ : EV_WRITE, dns_asr_handler, s);
@@ -195,7 +196,7 @@ dns_asr_handler(int fd, short event, void *arg)
{
struct dnssession *s = arg;
- switch(s->query.type) {
+ switch (s->query.type) {
case IMSG_DNS_HOST:
dns_asr_dispatch_host(s);
break;
@@ -294,7 +295,7 @@ next:
if (mx == NULL || (s->preference != -1
&& s->preference <= mx->preference)) {
if (mx)
- log_debug("debug: dns: ignoring mx with lower preference");
+ log_debug("debug: dns: ignoring mx with < pri");
if (s->mxfound)
query->error = DNS_OK;
dns_reply(query, IMSG_DNS_HOST_END);
@@ -321,7 +322,8 @@ next:
if (ar.ar_gai_errno == 0) {
for (ai = ar.ar_addrinfo; ai; ai = ai->ai_next) {
memcpy(&query->ss, ai->ai_addr, ai->ai_addrlen);
- log_debug("debug: dns: got address %s", ss_to_text(&query->ss));
+ log_debug("debug: dns: got address %s",
+ ss_to_text(&query->ss));
dns_reply(query, IMSG_DNS_HOST);
s->mxfound++;
}
@@ -375,7 +377,7 @@ dnssession_destroy(struct dnssession *s)
stat_decrement("lka.session", 1);
event_del(&s->ev);
- while((mx = TAILQ_FIRST(&s->mx))) {
+ while ((mx = TAILQ_FIRST(&s->mx))) {
TAILQ_REMOVE(&s->mx, mx, entry);
free(mx->host);
free(mx);
@@ -393,7 +395,8 @@ dnssession_mx_insert(struct dnssession *s, const char *host, int preference)
mx->host = xstrdup(host, "dnssession_mx_insert");
mx->preference = preference;
- log_debug("debug: dns: found mx \"%s\" with preference %i", host, preference);
+ log_debug("debug: dns: found mx \"%s\" with preference %i",
+ host, preference);
TAILQ_FOREACH(e, &s->mx, entry) {
if (mx->preference <= e->preference) {
diff --git a/smtpd/enqueue.c b/smtpd/enqueue.c
index 2254a74c..4c959a6c 100644
--- a/smtpd/enqueue.c
+++ b/smtpd/enqueue.c
@@ -141,7 +141,7 @@ qp_encoded_write(FILE *fp, char *buf, size_t len)
fprintf(fp, "=3D");
else if (*buf == ' ' || *buf == '\t') {
char *p = buf;
-
+
while (*p != '\n') {
if (*p != ' ' && *p != '\t')
break;
@@ -226,7 +226,7 @@ enqueue(int argc, char *argv[])
build_from(fake_from, pw);
- while(argc > 0) {
+ while (argc > 0) {
rcpt_add(argv[0]);
argv++;
argc--;
@@ -279,7 +279,7 @@ enqueue(int argc, char *argv[])
if (!msg.saw_from)
send_line(fout, 0, "From: %s%s<%s>\n",
msg.fromname ? msg.fromname : "",
- msg.fromname ? " " : "",
+ msg.fromname ? " " : "",
msg.from);
/* add Date */
@@ -296,14 +296,17 @@ enqueue(int argc, char *argv[])
if (!msg.saw_mime_version)
send_line(fout, 0, "MIME-Version: 1.0\n");
if (!msg.saw_content_type)
- send_line(fout, 0, "Content-Type: text/plain; charset=unknown-8bit\n");
+ send_line(fout, 0, "Content-Type: text/plain; "
+ "charset=unknown-8bit\n");
if (!msg.saw_content_disposition)
send_line(fout, 0, "Content-Disposition: inline\n");
if (!msg.saw_content_transfer_encoding)
- send_line(fout, 0, "Content-Transfer-Encoding: quoted-printable\n");
+ send_line(fout, 0, "Content-Transfer-Encoding: "
+ "quoted-printable\n");
}
if (!msg.saw_user_agent)
- send_line(fout, 0, "User-Agent: OpenSMTPD enqueuer (Demoosh)\n");
+ send_line(fout, 0, "User-Agent: OpenSMTPD enqueuer (%s)\n",
+ "Demoosh");
/* add separating newline */
if (noheader)
@@ -329,7 +332,8 @@ enqueue(int argc, char *argv[])
line = buf;
- if (msg.saw_content_transfer_encoding || noheader || inheaders || !msg.need_linesplit) {
+ if (msg.saw_content_transfer_encoding || noheader ||
+ inheaders || !msg.need_linesplit) {
send_line(fout, 0, "%.*s", (int)len, line);
if (inheaders && buf[0] == '\n')
inheaders = 0;
@@ -343,7 +347,8 @@ enqueue(int argc, char *argv[])
break;
}
else {
- qp_encoded_write(fout, line, LINESPLIT - 2 - dotted);
+ qp_encoded_write(fout, line,
+ LINESPLIT - 2 - dotted);
send_line(fout, 0, "=\n");
line += LINESPLIT - 2 - dotted;
len -= LINESPLIT - 2 - dotted;
@@ -351,10 +356,10 @@ enqueue(int argc, char *argv[])
} while (len);
}
send_line(fout, verbose, ".\n");
- get_responses(fout, 1);
+ get_responses(fout, 1);
send_line(fout, verbose, "QUIT\n");
- get_responses(fout, 1);
+ get_responses(fout, 1);
fclose(fp);
fclose(fout);
@@ -373,7 +378,7 @@ get_responses(FILE *fin, int n)
if ((e = ferror(fin)))
errx(1, "ferror: %i", e);
- while(n) {
+ while (n) {
buf = fgetln(fin, &len);
if (buf == NULL && ferror(fin))
err(1, "fgetln");
@@ -575,7 +580,7 @@ parse_addr(char *s, size_t len, int is_from)
if (!pstate.comment && !pstate.quote && !pstate.esc) {
if (s[pos] == ':') { /* group */
- for(pos++; pos < len && WSP(s[pos]); pos++)
+ for (pos++; pos < len && WSP(s[pos]); pos++)
; /* nothing */
pstate.wpos = 0;
}
@@ -634,7 +639,7 @@ parse_addr_terminal(int is_from)
else
rcpt_add(pstate.buf);
pstate.wpos = 0;
- }
+ }
}
static char *
diff --git a/smtpd/filter_api.c b/smtpd/filter_api.c
index 789cb58e..4be84923 100644
--- a/smtpd/filter_api.c
+++ b/smtpd/filter_api.c
@@ -35,31 +35,40 @@ static struct filter_internals {
struct event ev;
struct imsgbuf ibuf;
- enum filter_status (*connect_cb)(uint64_t, struct filter_connect *, void *);
+ enum filter_status
+ (*connect_cb)(uint64_t, struct filter_connect *, void *);
void *connect_cb_arg;
- enum filter_status (*helo_cb)(uint64_t, struct filter_helo *, void *);
+ enum filter_status
+ (*helo_cb)(uint64_t, struct filter_helo *, void *);
void *helo_cb_arg;
- enum filter_status (*ehlo_cb)(uint64_t, struct filter_helo *, void *);
+ enum filter_status
+ (*ehlo_cb)(uint64_t, struct filter_helo *, void *);
void *ehlo_cb_arg;
- enum filter_status (*mail_cb)(uint64_t, struct filter_mail *, void *);
+ enum filter_status
+ (*mail_cb)(uint64_t, struct filter_mail *, void *);
void *mail_cb_arg;
- enum filter_status (*rcpt_cb)(uint64_t, struct filter_rcpt *, void *);
+ enum filter_status
+ (*rcpt_cb)(uint64_t, struct filter_rcpt *, void *);
void *rcpt_cb_arg;
- enum filter_status (*dataline_cb)(uint64_t, struct filter_dataline *, void *);
+ enum filter_status
+ (*dataline_cb)(uint64_t, struct filter_dataline *, void *);
void *dataline_cb_arg;
- enum filter_status (*quit_cb)(uint64_t, void *);
+ enum filter_status
+ (*quit_cb)(uint64_t, void *);
void *quit_cb_arg;
- enum filter_status (*close_cb)(uint64_t, void *);
+ enum filter_status
+ (*close_cb)(uint64_t, void *);
void *close_cb_arg;
- enum filter_status (*rset_cb)(uint64_t, void *);
+ enum filter_status
+ (*rset_cb)(uint64_t, void *);
void *rset_cb_arg;
} fi;
@@ -87,55 +96,64 @@ filter_loop(void)
}
void
-filter_register_connect_callback(enum filter_status (*cb)(uint64_t, struct filter_connect *, void *), void *cb_arg)
+filter_register_connect_callback(enum filter_status
+ (*cb)(uint64_t, struct filter_connect *, void *), void *cb_arg)
{
filter_register_callback(FILTER_CONNECT, cb, cb_arg);
}
void
-filter_register_helo_callback(enum filter_status (*cb)(uint64_t, struct filter_helo *, void *), void *cb_arg)
+filter_register_helo_callback(enum filter_status
+ (*cb)(uint64_t, struct filter_helo *, void *), void *cb_arg)
{
filter_register_callback(FILTER_HELO, cb, cb_arg);
}
void
-filter_register_ehlo_callback(enum filter_status (*cb)(uint64_t, struct filter_helo *, void *), void *cb_arg)
+filter_register_ehlo_callback(enum filter_status
+ (*cb)(uint64_t, struct filter_helo *, void *), void *cb_arg)
{
filter_register_callback(FILTER_EHLO, cb, cb_arg);
}
void
-filter_register_mail_callback(enum filter_status (*cb)(uint64_t, struct filter_mail *, void *), void *cb_arg)
+filter_register_mail_callback(enum filter_status
+ (*cb)(uint64_t, struct filter_mail *, void *), void *cb_arg)
{
filter_register_callback(FILTER_MAIL, cb, cb_arg);
}
void
-filter_register_rcpt_callback(enum filter_status (*cb)(uint64_t, struct filter_rcpt *, void *), void *cb_arg)
+filter_register_rcpt_callback(enum filter_status
+ (*cb)(uint64_t, struct filter_rcpt *, void *), void *cb_arg)
{
filter_register_callback(FILTER_RCPT, cb, cb_arg);
}
void
-filter_register_dataline_callback(enum filter_status (*cb)(uint64_t, struct filter_dataline *, void *), void *cb_arg)
+filter_register_dataline_callback(enum filter_status
+ (*cb)(uint64_t, struct filter_dataline *, void *), void *cb_arg)
{
filter_register_callback(FILTER_DATALINE, cb, cb_arg);
}
void
-filter_register_quit_callback(enum filter_status (*cb)(uint64_t, void *), void *cb_arg)
+filter_register_quit_callback(enum filter_status
+ (*cb)(uint64_t, void *), void *cb_arg)
{
filter_register_callback(FILTER_QUIT, cb, cb_arg);
}
void
-filter_register_close_callback(enum filter_status (*cb)(uint64_t, void *), void *cb_arg)
+filter_register_close_callback(enum filter_status
+ (*cb)(uint64_t, void *), void *cb_arg)
{
filter_register_callback(FILTER_CLOSE, cb, cb_arg);
}
void
-filter_register_rset_callback(enum filter_status (*cb)(uint64_t, void *), void *cb_arg)
+filter_register_rset_callback(enum filter_status
+ (*cb)(uint64_t, void *), void *cb_arg)
{
filter_register_callback(FILTER_RSET, cb, cb_arg);
}
@@ -287,7 +305,7 @@ filter_handler(int fd, short event, void *p)
if (fi.rset_cb == NULL)
goto ignore;
ret = fi.rset_cb(fm.cl_id, fi.rset_cb_arg);
- break;
+ break;
default:
errx(1, "unsupported imsg");
diff --git a/smtpd/filter_api.h b/smtpd/filter_api.h
index 6740db2c..dc463730 100644
--- a/smtpd/filter_api.h
+++ b/smtpd/filter_api.h
@@ -53,7 +53,7 @@ struct filter_connect {
struct filter_helo {
char helohost[MAXHOSTNAMELEN];
};
-
+
struct filter_mail {
char user[MAX_LOCALPART_SIZE];
char domain[MAX_DOMAINPART_SIZE];
@@ -79,7 +79,7 @@ union filter_union {
struct filter_msg {
uint64_t id; /* set by smtpd(8) */
uint64_t cl_id; /* set by smtpd(8) */
- int8_t code;
+ int8_t code;
uint8_t version;
enum filter_type type;
union filter_union u;
@@ -89,13 +89,22 @@ struct filter_msg {
void filter_init(void);
void filter_loop(void);
-void filter_register_connect_callback(enum filter_status (*)(uint64_t, struct filter_connect *, void *), void *);
-void filter_register_helo_callback(enum filter_status (*)(uint64_t, struct filter_helo *, void *), void *);
-void filter_register_ehlo_callback(enum filter_status (*)(uint64_t, struct filter_helo *, void *), void *);
-void filter_register_mail_callback(enum filter_status (*)(uint64_t, struct filter_mail *, void *), void *);
-void filter_register_rcpt_callback(enum filter_status (*)(uint64_t, struct filter_rcpt *, void *), void *);
-void filter_register_dataline_callback(enum filter_status (*)(uint64_t, struct filter_dataline *, void *), void *);
-void filter_register_quit_callback(enum filter_status (*)(uint64_t, void *), void *);
-void filter_register_close_callback(enum filter_status (*)(uint64_t, void *), void *);
-void filter_register_rset_callback(enum filter_status (*)(uint64_t, void *), void *);
+void filter_register_connect_callback(enum filter_status
+ (*)(uint64_t, struct filter_connect *, void *), void *);
+void filter_register_helo_callback(enum filter_status
+ (*)(uint64_t, struct filter_helo *, void *), void *);
+void filter_register_ehlo_callback(enum filter_status
+ (*)(uint64_t, struct filter_helo *, void *), void *);
+void filter_register_mail_callback(enum filter_status
+ (*)(uint64_t, struct filter_mail *, void *), void *);
+void filter_register_rcpt_callback(enum filter_status
+ (*)(uint64_t, struct filter_rcpt *, void *), void *);
+void filter_register_dataline_callback(enum filter_status
+ (*)(uint64_t, struct filter_dataline *, void *), void *);
+void filter_register_quit_callback(enum filter_status
+ (*)(uint64_t, void *), void *);
+void filter_register_close_callback(enum filter_status
+ (*)(uint64_t, void *), void *);
+void filter_register_rset_callback(enum filter_status
+ (*)(uint64_t, void *), void *);
diff --git a/smtpd/iobuf.c b/smtpd/iobuf.c
index 227e41fc..a9e4a2de 100644
--- a/smtpd/iobuf.c
+++ b/smtpd/iobuf.c
@@ -47,7 +47,7 @@ iobuf_init(struct iobuf *io, size_t size, size_t max)
if (size == 0)
size = max;
-
+
if (size > max)
return (-1);
@@ -68,7 +68,7 @@ iobuf_clear(struct iobuf *io)
if (io->buf)
free(io->buf);
- while((q = io->outq)) {
+ while ((q = io->outq)) {
io->outq = q->next;
free(q);
}
@@ -82,7 +82,7 @@ iobuf_drain(struct iobuf *io, size_t n)
struct ioqbuf *q;
size_t left = n;
- while((q = io->outq) && left) {
+ while ((q = io->outq) && left) {
if ((q->wpos - q->rpos) > left) {
q->rpos += left;
left = 0;
@@ -180,7 +180,7 @@ iobuf_getline(struct iobuf *iobuf, size_t *rlen)
return (buf);
}
- return (NULL);
+ return (NULL);
}
void
@@ -231,9 +231,9 @@ ioqbuf_alloc(struct iobuf *io, size_t len)
return (NULL);
q->rpos = 0;
- q->wpos = 0;
- q->size = len;
- q->next = NULL;
+ q->wpos = 0;
+ q->size = len;
+ q->next = NULL;
q->buf = (char *)(q) + sizeof(*q);
if (io->outqlast == NULL)
@@ -295,13 +295,13 @@ iobuf_queuev(struct iobuf *io, const struct iovec *iov, int iovcnt)
size_t len = 0;
char *buf;
- for(i = 0; i < iovcnt; i++)
+ for (i = 0; i < iovcnt; i++)
len += iov[i].iov_len;
if ((buf = iobuf_reserve(io, len)) == NULL)
return (-1);
- for(i = 0; i < iovcnt; i++) {
+ for (i = 0; i < iovcnt; i++) {
if (iov[i].iov_len == 0)
continue;
memmove(buf, iov[i].iov_base, iov[i].iov_len);
@@ -351,7 +351,7 @@ iobuf_write(struct iobuf *io, int fd)
ssize_t n;
i = 0;
- for(q = io->outq; q ; q = q->next) {
+ for (q = io->outq; q ; q = q->next) {
if (i >= IOV_MAX)
break;
iov[i].iov_base = q->buf + q->rpos;
diff --git a/smtpd/ioev.c b/smtpd/ioev.c
index 4905c108..d9d5633f 100644
--- a/smtpd/ioev.c
+++ b/smtpd/ioev.c
@@ -114,7 +114,7 @@ io_strevent(int evt)
{
static char buf[32];
- switch(evt) {
+ switch (evt) {
CASE(IO_CONNECTED);
CASE(IO_TLSREADY);
CASE(IO_DATAIN);
@@ -423,7 +423,7 @@ io_reset(struct io *io, short events, void (*dispatch)(int, short, void*))
} else
ptv = NULL;
- event_add(&io->ev, ptv);
+ event_add(&io->ev, ptv);
}
size_t
@@ -445,7 +445,7 @@ io_strflags(int flags)
buf[0] = '\0';
- switch(flags & IO_RW) {
+ switch (flags & IO_RW) {
case 0:
strlcat(buf, "rw", sizeof buf);
break;
@@ -567,7 +567,7 @@ io_dispatch(int fd, short ev, void *humppa)
io_callback(io, IO_DATAIN);
}
- leave:
+leave:
io_frame_leave(io);
}
@@ -815,7 +815,7 @@ io_reload_ssl(struct io *io)
{
void (*dispatch)(int, short, void*) = NULL;
- switch(io->state) {
+ switch (io->state) {
case IO_STATE_CONNECT_SSL:
dispatch = io_dispatch_connect_ssl;
break;
diff --git a/smtpd/lka.c b/smtpd/lka.c
index 0998f86e..f898227d 100644
--- a/smtpd/lka.c
+++ b/smtpd/lka.c
@@ -108,13 +108,12 @@ lka_imsg(struct imsgev *iev, struct imsg *imsg)
secret = imsg->data;
table = table_findbyname(secret->tablename);
if (table == NULL) {
- log_warn("warn: lka: credentials table %s is missing",
+ log_warn("warn: Credentials table %s missing",
secret->tablename);
imsg_compose_event(iev, IMSG_LKA_SECRET, 0, 0,
-1, secret, sizeof *secret);
return;
}
-
ret = table_lookup(table->t_id, secret->host, K_CREDENTIALS,
(void **)&table_credentials);
@@ -129,11 +128,11 @@ lka_imsg(struct imsgev *iev, struct imsg *imsg)
log_warnx("warn: %s credentials not found",
secret->host);
else if (lka_encode_credentials(secret->secret,
- sizeof secret->secret, table_credentials) == 0)
+ sizeof secret->secret, table_credentials) == 0)
log_warnx("warn: %s credentials parse fail",
secret->host);
- imsg_compose_event(iev, IMSG_LKA_SECRET, 0, 0, -1, secret,
- sizeof *secret);
+ imsg_compose_event(iev, IMSG_LKA_SECRET, 0, 0, -1,
+ secret, sizeof *secret);
free(table_credentials);
return;
}
@@ -143,10 +142,10 @@ lka_imsg(struct imsgev *iev, struct imsg *imsg)
if (iev->proc == PROC_PARENT) {
switch (imsg->hdr.type) {
case IMSG_CONF_START:
- env->sc_rules_reload = xcalloc(1, sizeof *env->sc_rules,
- "lka:sc_rules_reload");
- env->sc_tables_reload = xcalloc(1, sizeof *env->sc_tables,
- "lka:sc_tables_reload");
+ env->sc_rules_reload = xcalloc(1,
+ sizeof *env->sc_rules, "lka:sc_rules_reload");
+ env->sc_tables_reload = xcalloc(1,
+ sizeof *env->sc_tables, "lka:sc_tables_reload");
TAILQ_INIT(env->sc_rules_reload);
TAILQ_INIT(env->sc_tables_reload);
return;
@@ -159,14 +158,15 @@ lka_imsg(struct imsgev *iev, struct imsg *imsg)
case IMSG_CONF_TABLE:
table = xmemdup(imsg->data, sizeof *table, "lka:table");
TAILQ_INIT(&table->t_contents);
- TAILQ_INSERT_TAIL(env->sc_tables_reload, table, t_entry);
-
+ TAILQ_INSERT_TAIL(env->sc_tables_reload, table,
+ t_entry);
tmp = env->sc_tables;
env->sc_tables = env->sc_tables_reload;
tp = table_open(table);
if (tp == NULL)
- errx(1, "lka: could not open table \"%s\"", table->t_name);
+ errx(1, "lka: could not open table \"%s\"",
+ table->t_name);
table_close(table, tp);
env->sc_tables = tmp;
@@ -345,8 +345,9 @@ lka_encode_credentials(char *dst, size_t size,
char *buf;
int buflen;
- if ((buflen = asprintf(&buf, "%c%s%c%s", '\0', table_credentials->username,
- '\0', table_credentials->password)) == -1)
+ if ((buflen = asprintf(&buf, "%c%s%c%s", '\0',
+ table_credentials->username, '\0',
+ table_credentials->password)) == -1)
fatal(NULL);
if (__b64_ntop((unsigned char *)buf, buflen, dst, size) == -1) {
diff --git a/smtpd/lka_session.c b/smtpd/lka_session.c
index a03fd64e..99ec94a0 100644
--- a/smtpd/lka_session.c
+++ b/smtpd/lka_session.c
@@ -63,8 +63,10 @@ struct lka_session {
struct expandnode *node;
};
-static void lka_expand(struct lka_session *, struct rule *, struct expandnode *);
-static void lka_submit(struct lka_session *, struct rule *, struct expandnode *);
+static void lka_expand(struct lka_session *, struct rule *,
+ struct expandnode *);
+static void lka_submit(struct lka_session *, struct rule *,
+ struct expandnode *);
static void lka_resume(struct lka_session *);
static size_t lka_expand_format(char *, size_t, const struct envelope *);
static void mailaddr_to_username(const struct mailaddr *, char *, size_t);
@@ -81,7 +83,7 @@ static char *tokens[] = {
"dest.user",
"dest.domain",
"rcpt.user",
- "rcpt.domain"
+ "rcpt.domain"
};
void
@@ -160,7 +162,7 @@ lka_resume(struct lka_session *lks)
goto error;
/* pop next node and expand it */
- while((xn = TAILQ_FIRST(&lks->nodes))) {
+ while ((xn = TAILQ_FIRST(&lks->nodes))) {
TAILQ_REMOVE(&lks->nodes, xn, tq_entry);
lka_expand(lks, xn->rule, xn);
if (lks->flags & F_WAITING)
@@ -171,7 +173,7 @@ lka_resume(struct lka_session *lks)
/* delivery list is empty, reject */
if (TAILQ_FIRST(&lks->deliverylist) == NULL) {
- log_debug("debug: lka_done: expansion led to empty delivery list");
+ log_debug("debug: lka_done: expanded to empty delivery list");
lks->flags |= F_ERROR;
}
error:
@@ -226,7 +228,7 @@ lka_expand(struct lka_session *lks, struct rule *rule, struct expandnode *xn)
break;
case EXPAND_ADDRESS:
- log_debug("debug: lka_expand: expanding address: %s@%s [depth=%d]",
+ log_debug("debug: lka_expand: address: %s@%s [depth=%d]",
xn->u.mailaddr.user, xn->u.mailaddr.domain, xn->depth);
/* Pass the node through the ruleset */
@@ -253,13 +255,14 @@ lka_expand(struct lka_session *lks, struct rule *rule, struct expandnode *xn)
if (r == -1) {
lks->flags |= F_ERROR;
lks->ss.code = 451;
- log_debug(
- "lka_expand: error in virtual alias lookup");
+ log_debug("debug: lka_expand: "
+ "error in virtual alias lookup");
}
else if (r == 0) {
lks->flags |= F_ERROR;
lks->ss.code = 530;
- log_debug("debug: lka_expand: no aliases for virtual");
+ log_debug("debug: lka_expand: "
+ "no aliases for virtual");
}
}
else {
@@ -274,7 +277,8 @@ lka_expand(struct lka_session *lks, struct rule *rule, struct expandnode *xn)
break;
case EXPAND_USERNAME:
- log_debug("debug: lka_expand: expanding username: %s [depth=%d]", xn->u.user, xn->depth);
+ log_debug("debug: lka_expand: username: %s [depth=%d]",
+ xn->u.user, xn->depth);
if (xn->sameuser) {
log_debug("debug: lka_expand: same user, submitting");
@@ -287,9 +291,11 @@ lka_expand(struct lka_session *lks, struct rule *rule, struct expandnode *xn)
lks->expand.parent = xn;
lks->expand.alias = 1;
if (rule->r_atable) {
- r = aliases_get(rule->r_atable, &lks->expand, xn->u.user);
+ r = aliases_get(rule->r_atable, &lks->expand,
+ xn->u.user);
if (r == -1) {
- log_debug("debug: lka_expand: error in alias lookup");
+ log_debug("debug: lka_expand: "
+ "error in alias lookup");
lks->flags |= F_ERROR;
lks->ss.code = 451;
}
@@ -299,7 +305,8 @@ lka_expand(struct lka_session *lks, struct rule *rule, struct expandnode *xn)
/* a username should not exceed the size of a system user */
if (strlen(xn->u.user) >= sizeof fwreq.as_user) {
- log_debug("debug: lka_expand: user-part too long to be a system user");
+ log_debug("debug: lka_expand: "
+ "user-part too long to be a system user");
lks->flags |= F_ERROR;
lks->ss.code = 530;
break;
@@ -308,7 +315,8 @@ lka_expand(struct lka_session *lks, struct rule *rule, struct expandnode *xn)
bzero(&u, sizeof (u));
ub = user_backend_lookup(USER_PWD);
if (! ub->getbyname(&u, xn->u.user)) {
- log_debug("debug: lka_expand: user-part does not match system user");
+ log_debug("debug: lka_expand: "
+ "user-part does not match system user");
lks->flags |= F_ERROR;
lks->ss.code = 530;
break;
@@ -325,12 +333,14 @@ lka_expand(struct lka_session *lks, struct rule *rule, struct expandnode *xn)
break;
case EXPAND_FILENAME:
- log_debug("debug: lka_expand: expanding filename: %s [depth=%d]", xn->u.buffer, xn->depth);
+ log_debug("debug: lka_expand: filename: %s [depth=%d]",
+ xn->u.buffer, xn->depth);
lka_submit(lks, rule, xn);
break;
case EXPAND_FILTER:
- log_debug("debug: lka_expand: expanding filter: %s [depth=%d]", xn->u.buffer, xn->depth);
+ log_debug("debug: lka_expand: filter: %s [depth=%d]",
+ xn->u.buffer, xn->depth);
lka_submit(lks, rule, xn);
break;
}
@@ -339,10 +349,11 @@ lka_expand(struct lka_session *lks, struct rule *rule, struct expandnode *xn)
static struct expandnode *
lka_find_ancestor(struct expandnode *xn, enum expand_type type)
{
- while(xn && (xn->type != type))
+ while (xn && (xn->type != type))
xn = xn->parent;
if (xn == NULL) {
- log_warnx("warn: lka_find_ancestor: no ancestors of type %i", type);
+ log_warnx("warn: lka_find_ancestor: no ancestors of type %i",
+ type);
fatalx(NULL);
}
return (xn);
@@ -385,16 +396,17 @@ lka_submit(struct lka_session *lks, struct rule *rule, struct expandnode *xn)
if ((xn->type == EXPAND_FILTER || xn->type == EXPAND_FILENAME)
&& xn->alias) {
strlcpy(ep->agent.mda.user.username, SMTPD_USER,
- sizeof (ep->agent.mda.user.username));
+ sizeof(ep->agent.mda.user.username));
}
else {
xn2 = lka_find_ancestor(xn, EXPAND_USERNAME);
strlcpy(ep->agent.mda.user.username, xn2->u.user,
- sizeof (ep->agent.mda.user.username));
+ sizeof(ep->agent.mda.user.username));
}
ub = user_backend_lookup(USER_PWD);
- if (! ub->getbyname(&ep->agent.mda.user, ep->agent.mda.user.username)) {
+ if (! ub->getbyname(&ep->agent.mda.user,
+ ep->agent.mda.user.username)) {
lks->flags |= F_ERROR;
lks->ss.code = 451;
free(ep);
@@ -418,9 +430,9 @@ lka_submit(struct lka_session *lks, struct rule *rule, struct expandnode *xn)
tag = mailaddr_tag(&ep->dest);
if (rule->r_action == A_MAILDIR && tag && tag[0]) {
strlcat(ep->agent.mda.buffer, "/.",
- sizeof (ep->agent.mda.buffer));
+ sizeof(ep->agent.mda.buffer));
strlcat(ep->agent.mda.buffer, tag,
- sizeof (ep->agent.mda.buffer));
+ sizeof(ep->agent.mda.buffer));
}
}
else
@@ -431,7 +443,8 @@ lka_submit(struct lka_session *lks, struct rule *rule, struct expandnode *xn)
lks->flags |= F_ERROR;
lks->ss.code = 451;
log_warnx("warn: format string error while"
- " expanding for user %s", ep->agent.mda.user.username);
+ " expanding for user %s",
+ ep->agent.mda.user.username);
free(ep);
return;
}
@@ -445,7 +458,8 @@ lka_submit(struct lka_session *lks, struct rule *rule, struct expandnode *xn)
static size_t
-lka_expand_token(char *dest, size_t len, const char *token, const struct envelope *ep)
+lka_expand_token(char *dest, size_t len, const char *token,
+ const struct envelope *ep)
{
char rtoken[MAXTOKENLEN];
const char *string;
@@ -460,7 +474,8 @@ lka_expand_token(char *dest, size_t len, const char *token, const struct envelop
return 0;
/* token[x[:y]] -> extracts optional x and y, converts into offsets */
- if ((lbracket = strchr(rtoken, '[')) && (rbracket = strchr(rtoken, ']'))) {
+ if ((lbracket = strchr(rtoken, '[')) &&
+ (rbracket = strchr(rtoken, ']'))) {
/* ] before [ ... or empty */
if (rbracket < lbracket || rbracket - lbracket <= 1)
return 0;
@@ -468,16 +483,18 @@ lka_expand_token(char *dest, size_t len, const char *token, const struct envelop
content = lbracket + 1;
if ((sep = strchr(content, ':')) == NULL)
- begoff = strtonum(content, -EXPAND_BUFFER, EXPAND_BUFFER, &errstr);
+ begoff = strtonum(content, -EXPAND_BUFFER,
+ EXPAND_BUFFER, &errstr);
else {
*sep = '\0';
if (content != sep)
- begoff = strtonum(content, -EXPAND_BUFFER, EXPAND_BUFFER, &errstr);
+ begoff = strtonum(content, -EXPAND_BUFFER,
+ EXPAND_BUFFER, &errstr);
sep++;
if (*sep) {
if (errstr == NULL)
- endoff = strtonum(sep, -EXPAND_BUFFER, EXPAND_BUFFER,
- &errstr);
+ endoff = strtonum(sep, -EXPAND_BUFFER,
+ EXPAND_BUFFER, &errstr);
if (endoff == 0)
return 0;
}
@@ -520,7 +537,9 @@ lka_expand_token(char *dest, size_t len, const char *token, const struct envelop
if (begoff >= i)
return 0;
- /* end offset beyond end of string or unspecified, make it end of string */
+ /* end offset beyond end of string or unspecified,
+ * make it end of string
+ */
if (endoff >= i || endoff == 0)
endoff = i;
@@ -554,7 +573,7 @@ lka_expand_format(char *buf, size_t len, const struct envelope *ep)
size_t ret, tmpret;
if (len < sizeof tmpbuf)
- fatalx("lka_expand_format: tmp buffer smaller than rule buffer");
+ fatalx("lka_expand_format: tmp buffer < rule buffer");
bzero(tmpbuf, sizeof tmpbuf);
pbuf = buf;
@@ -563,7 +582,8 @@ lka_expand_format(char *buf, size_t len, const struct envelope *ep)
/* special case: ~/ only allowed expanded at the beginning */
if (strncmp(pbuf, "~/", 2) == 0) {
- tmpret = snprintf(ptmp, sizeof tmpbuf, "%s/", ep->agent.mda.user.directory);
+ tmpret = snprintf(ptmp, sizeof tmpbuf, "%s/",
+ ep->agent.mda.user.directory);
if (tmpret >= sizeof tmpbuf) {
log_warnx("warn: user directory for %s too large",
ep->agent.mda.user.directory);
@@ -599,7 +619,8 @@ lka_expand_format(char *buf, size_t len, const struct envelope *ep)
return 0;
*strchr(memcpy(token, pbuf+2, ebuf-pbuf-1), '}') = '\0';
- if ((exptoklen = lka_expand_token(exptok, sizeof exptok, token, ep)) == 0)
+ exptoklen = lka_expand_token(exptok, sizeof exptok, token, ep);
+ if (exptoklen == 0)
return 0;
if (! lowercase(exptok, exptok, sizeof exptok))
diff --git a/smtpd/log.c b/smtpd/log.c
index c5738952..df0c074f 100644
--- a/smtpd/log.c
+++ b/smtpd/log.c
@@ -38,7 +38,7 @@ int verbose;
void vlog(int, const char *, va_list);
void logit(int, const char *, ...)
- __attribute__ ((format (printf, 2, 3)));
+ __attribute__((format (printf, 2, 3)));
void
diff --git a/smtpd/log.h b/smtpd/log.h
index ce2e454e..1b58f205 100644
--- a/smtpd/log.h
+++ b/smtpd/log.h
@@ -19,14 +19,14 @@
void log_init(int);
void log_verbose(int);
void log_warn(const char *, ...)
- __attribute__ ((format (printf, 1, 2)));
+ __attribute__((format (printf, 1, 2)));
void log_warnx(const char *, ...)
- __attribute__ ((format (printf, 1, 2)));
+ __attribute__((format (printf, 1, 2)));
void log_info(const char *, ...)
- __attribute__ ((format (printf, 1, 2)));
+ __attribute__((format (printf, 1, 2)));
void log_debug(const char *, ...)
- __attribute__ ((format (printf, 1, 2)));
+ __attribute__((format (printf, 1, 2)));
void log_trace(int, const char *, ...)
- __attribute__ ((format (printf, 2, 3)));
+ __attribute__((format (printf, 2, 3)));
__dead void fatal(const char *);
__dead void fatalx(const char *);
diff --git a/smtpd/makemap.c b/smtpd/makemap.c
index d9c113e2..969a7469 100644
--- a/smtpd/makemap.c
+++ b/smtpd/makemap.c
@@ -151,15 +151,18 @@ main(int argc, char *argv[])
p = strstr(argv[1], ".db");
if (p == NULL || strcmp(p, ".db") != 0) {
- if (! bsnprintf(dbname, sizeof dbname, "%s.db", argv[1]))
+ if (! bsnprintf(dbname, sizeof dbname, "%s.db",
+ argv[1]))
errx(1, "database name too long");
}
else {
- if (strlcpy(dbname, argv[1], sizeof dbname) >= sizeof dbname)
+ if (strlcpy(dbname, argv[1], sizeof dbname)
+ >= sizeof dbname)
errx(1, "database name too long");
}
- execlp(execname, execname, "-d", argv[0], "-o", dbname, "-", NULL);
+ execlp(execname, execname, "-d", argv[0], "-o", dbname, "-",
+ NULL);
err(1, "execlp");
}
@@ -197,7 +200,8 @@ main(int argc, char *argv[])
if (strcmp(source, "-") != 0)
if (fchmod(db->fd(db), sb.st_mode) == -1 ||
fchown(db->fd(db), sb.st_uid, sb.st_gid) == -1) {
- warn("couldn't carry ownership and perms to %s", dbname);
+ warn("couldn't carry ownership and perms to %s",
+ dbname);
goto bad;
}
@@ -364,7 +368,7 @@ parse_setentry(char *line, size_t len, size_t lineno)
if (db->put(db, &key, &val, 0) == -1) {
warn("dbput");
return 0;
- }
+ }
dbputs++;
@@ -384,9 +388,9 @@ int
make_aliases(DBT *val, char *text)
{
struct expandnode xn;
- char *subrcpt;
- char *endp;
- char *origtext;
+ char *subrcpt;
+ char *endp;
+ char *origtext;
val->data = NULL;
val->size = 0;
@@ -448,7 +452,7 @@ usage(void)
if (mode == P_NEWALIASES)
fprintf(stderr, "usage: %s [-f file]\n", __progname);
else
- fprintf(stderr, "usage: %s [-d dbtype] [-o dbfile] [-t type] file\n",
- __progname);
+ fprintf(stderr, "usage: %s [-d dbtype] [-o dbfile] "
+ "[-t type] file\n", __progname);
exit(1);
}
diff --git a/smtpd/mda.c b/smtpd/mda.c
index 8002298b..556e16eb 100644
--- a/smtpd/mda.c
+++ b/smtpd/mda.c
@@ -122,8 +122,8 @@ mda_imsg(struct imsgev *iev, struct imsg *imsg)
if (!strcmp(name, u->name))
break;
if (u && u->evpcount >= MDA_MAXEVPUSER) {
- log_debug("debug: mda: too many envelopes for \"%s\"",
- u->name);
+ log_debug("debug: mda: too many envelopes for "
+ "\"%s\"", u->name);
envelope_set_errormsg(ep,
"User envelope limit reached");
imsg_compose_event(env->sc_ievs[PROC_QUEUE],
@@ -139,8 +139,8 @@ mda_imsg(struct imsgev *iev, struct imsg *imsg)
TAILQ_INSERT_TAIL(&users, u, entry);
}
if (u->runnable == 0 && u->running < MDA_MAXSESSUSER) {
- log_debug("debug: mda: \"%s\" immediatly runnable",
- u->name);
+ log_debug("debug: mda: \"%s\" immediatly "
+ "runnable", u->name);
TAILQ_INSERT_TAIL(&runnable, u, entry_runnable);
u->runnable = 1;
}
@@ -194,7 +194,8 @@ mda_imsg(struct imsgev *iev, struct imsg *imsg)
s->evp->rcpt.user,
s->evp->rcpt.domain);
if (n == -1) {
- log_warn("warn: mda: fail to write delivery info");
+ log_warn("warn: mda: "
+ "fail to write delivery info");
envelope_set_errormsg(s->evp, "Out of memory");
mda_done(s, IMSG_QUEUE_DELIVERY_TEMPFAIL);
return;
@@ -207,17 +208,17 @@ mda_imsg(struct imsgev *iev, struct imsg *imsg)
case A_MDA:
deliver.mode = A_MDA;
strlcpy(deliver.user, d_mda->user.username,
- sizeof (deliver.user));
+ sizeof(deliver.user));
strlcpy(deliver.to, d_mda->buffer,
- sizeof deliver.to);
+ sizeof(deliver.to));
break;
-
+
case A_MBOX:
deliver.mode = A_MBOX;
strlcpy(deliver.user, "root",
- sizeof (deliver.user));
+ sizeof(deliver.user));
strlcpy(deliver.to, d_mda->user.username,
- sizeof (deliver.to));
+ sizeof(deliver.to));
snprintf(deliver.from, sizeof(deliver.from),
"%s@%s", ep->sender.user,
ep->sender.domain);
@@ -226,9 +227,9 @@ mda_imsg(struct imsgev *iev, struct imsg *imsg)
case A_MAILDIR:
deliver.mode = A_MAILDIR;
strlcpy(deliver.user, d_mda->user.username,
- sizeof deliver.user);
+ sizeof(deliver.user));
strlcpy(deliver.to, d_mda->buffer,
- sizeof deliver.to);
+ sizeof(deliver.to));
break;
case A_FILENAME:
@@ -275,7 +276,8 @@ mda_imsg(struct imsgev *iev, struct imsg *imsg)
*/
output[0] = '\0';
if (imsg->fd != -1)
- mda_getlastline(imsg->fd, output, sizeof output);
+ mda_getlastline(imsg->fd, output,
+ sizeof output);
/*
* Choose between parent's description of error and
@@ -295,7 +297,8 @@ mda_imsg(struct imsgev *iev, struct imsg *imsg)
if (error) {
msg = IMSG_QUEUE_DELIVERY_TEMPFAIL;
envelope_set_errormsg(s->evp, "%s", error);
- snprintf(stat, sizeof stat, "Error (%s)", error);
+ snprintf(stat, sizeof stat, "Error (%s)",
+ error);
}
log_envelope(s->evp, NULL, error ? "TempFail" : "Ok",
error ? stat : "Delivered");
@@ -404,10 +407,10 @@ mda_io(struct io *io, int evt)
char *ln, buf[256];
size_t len;
- log_trace(TRACE_IO, "mda: %p: %s %s", s, io_strevent(evt), io_strio(io));
-
- switch(evt) {
+ log_trace(TRACE_IO, "mda: %p: %s %s", s, io_strevent(evt),
+ io_strio(io));
+ switch (evt) {
case IO_LOWAT:
/* done */
@@ -562,11 +565,13 @@ mda_drain(void)
while ((user = (TAILQ_FIRST(&runnable)))) {
if (running >= MDA_MAXSESS) {
- log_debug("debug: mda: maximum number of session reached");
+ log_debug("debug: mda: "
+ "maximum number of session reached");
return;
}
- log_debug("debug: mda: new session for user \"%s\"", user->name);
+ log_debug("debug: mda: new session for user \"%s\"",
+ user->name);
s = xcalloc(1, sizeof *s, "mda_drain");
s->user = user;
@@ -602,7 +607,8 @@ mda_drain(void)
user->running < MDA_MAXSESSUSER) {
TAILQ_INSERT_TAIL(&runnable, user, entry_runnable);
user->runnable = 1;
- log_debug("debug: mda: user \"%s\" still runnable", user->name);
+ log_debug("debug: mda: user \"%s\" still runnable",
+ user->name);
}
}
}
@@ -621,16 +627,17 @@ mda_done(struct mda_session *s, int msg)
stat_decrement("mda.running", 1);
if (TAILQ_FIRST(&s->user->envelopes) == NULL && s->user->running == 0) {
- log_debug("debug: mda: all done for user \"%s\"", s->user->name);
+ log_debug("debug: mda: "
+ "all done for user \"%s\"", s->user->name);
TAILQ_REMOVE(&users, s->user, entry);
free(s->user);
} else if (s->user->runnable == 0 &&
- TAILQ_FIRST(&s->user->envelopes) &&
- s->user->running < MDA_MAXSESSUSER) {
- log_debug("debug: mda: user \"%s\" becomes runnable",
- s->user->name);
- TAILQ_INSERT_TAIL(&runnable, s->user, entry_runnable);
- s->user->runnable = 1;
+ TAILQ_FIRST(&s->user->envelopes) &&
+ s->user->running < MDA_MAXSESSUSER) {
+ log_debug("debug: mda: user \"%s\" becomes runnable",
+ s->user->name);
+ TAILQ_INSERT_TAIL(&runnable, s->user, entry_runnable);
+ s->user->runnable = 1;
}
if (s->datafp)
diff --git a/smtpd/mfa.c b/smtpd/mfa.c
index 921d7505..9032b4d5 100644
--- a/smtpd/mfa.c
+++ b/smtpd/mfa.c
@@ -115,13 +115,15 @@ mfa_imsg(struct imsgev *iev, struct imsg *imsg)
return;
case IMSG_CONF_FILTER:
- filter = xmemdup(imsg->data, sizeof *filter, "mfa_imsg");
+ filter = xmemdup(imsg->data, sizeof *filter,
+ "mfa_imsg");
TAILQ_INSERT_TAIL(env->sc_filters, filter, f_entry);
return;
case IMSG_CONF_END:
TAILQ_FOREACH(filter, env->sc_filters, f_entry) {
- log_info("info: Forking filter: %s", filter->name);
+ log_info("info: Forking filter: %s",
+ filter->name);
if (! mfa_fork_filter(filter))
fatalx("could not fork filter");
}
@@ -280,7 +282,8 @@ mfa_test_mail(struct envelope *e)
/*
* "MAIL FROM:<>" is the exception we allow.
*/
- if (!(ss.u.maddr.user[0] == '\0' && ss.u.maddr.domain[0] == '\0'))
+ if (!(ss.u.maddr.user[0] == '\0' &&
+ ss.u.maddr.domain[0] == '\0'))
goto refuse;
}
@@ -288,8 +291,8 @@ mfa_test_mail(struct envelope *e)
return;
refuse:
- imsg_compose_event(env->sc_ievs[PROC_SMTP], IMSG_MFA_MAIL, 0, 0, -1, &ss,
- sizeof(ss));
+ imsg_compose_event(env->sc_ievs[PROC_SMTP], IMSG_MFA_MAIL, 0, 0, -1,
+ &ss, sizeof(ss));
return;
}
@@ -307,7 +310,7 @@ mfa_test_rcpt(struct envelope *e)
ss.flags = e->flags;
mfa_strip_source_route(ss.u.maddr.user, sizeof(ss.u.maddr.user));
-
+
if (! valid_localpart(ss.u.maddr.user) ||
! valid_domainpart(ss.u.maddr.domain))
goto refuse;
@@ -316,16 +319,16 @@ mfa_test_rcpt(struct envelope *e)
return;
refuse:
- imsg_compose_event(env->sc_ievs[PROC_SMTP], IMSG_MFA_RCPT, 0, 0, -1, &ss,
- sizeof(ss));
+ imsg_compose_event(env->sc_ievs[PROC_SMTP], IMSG_MFA_RCPT, 0, 0, -1,
+ &ss, sizeof(ss));
}
static void
mfa_test_rcpt_resume(struct submit_status *ss)
{
if (ss->code != 250) {
- imsg_compose_event(env->sc_ievs[PROC_SMTP], IMSG_MFA_RCPT, 0, 0, -1, ss,
- sizeof(*ss));
+ imsg_compose_event(env->sc_ievs[PROC_SMTP], IMSG_MFA_RCPT, 0, 0,
+ -1, ss, sizeof(*ss));
return;
}
@@ -416,7 +419,7 @@ mfa_fork_filter(struct filter *filter)
if (pid == 0) {
/* filter */
dup2(sockpair[0], STDIN_FILENO);
-
+
if (closefrom(STDERR_FILENO + 1) < 0)
exit(1);
diff --git a/smtpd/mfa_session.c b/smtpd/mfa_session.c
index e63864d6..3309550d 100644
--- a/smtpd/mfa_session.c
+++ b/smtpd/mfa_session.c
@@ -71,7 +71,7 @@ mfa_session(struct submit_status *ss, enum session_state state)
static int
mfa_session_proceed(struct mfa_session *ms)
{
- struct filter_msg fm;
+ struct filter_msg fm;
fm.id = ms->id;
fm.cl_id = ms->ss.id;
@@ -82,15 +82,17 @@ mfa_session_proceed(struct mfa_session *ms)
case S_CONNECTED:
fm.type = FILTER_CONNECT;
if (strlcpy(fm.u.connect.hostname, ms->ss.envelope.hostname,
- sizeof(fm.u.connect.hostname)) >= sizeof(fm.u.connect.hostname))
+ sizeof(fm.u.connect.hostname))
+ >= sizeof(fm.u.connect.hostname))
fatalx("mfa_session_proceed: CONNECT: truncation");
fm.u.connect.hostaddr = ms->ss.envelope.ss;
break;
- case S_HELO:
+ case S_HELO:
fm.type = FILTER_HELO;
if (strlcpy(fm.u.helo.helohost, ms->ss.envelope.helo,
- sizeof(fm.u.helo.helohost)) >= sizeof(fm.u.helo.helohost))
+ sizeof(fm.u.helo.helohost))
+ >= sizeof(fm.u.helo.helohost))
fatalx("mfa_session_proceed: HELO: truncation");
break;
@@ -117,7 +119,8 @@ mfa_session_proceed(struct mfa_session *ms)
case S_DATACONTENT:
fm.type = FILTER_DATALINE;
if (strlcpy(fm.u.dataline.line, ms->ss.u.dataline,
- sizeof(fm.u.dataline.line)) >= sizeof(fm.u.dataline.line))
+ sizeof(fm.u.dataline.line))
+ >= sizeof(fm.u.dataline.line))
fatalx("mfa_session_proceed: DATA: line truncation");
break;
@@ -139,7 +142,8 @@ mfa_session_proceed(struct mfa_session *ms)
imsg_compose(ms->filter->ibuf, fm.type, 0, 0, -1,
&fm, sizeof(fm));
- event_set(&ms->filter->ev, ms->filter->ibuf->fd, EV_READ|EV_WRITE, mfa_session_imsg, ms->filter);
+ event_set(&ms->filter->ev, ms->filter->ibuf->fd, EV_READ|EV_WRITE,
+ mfa_session_imsg, ms->filter);
event_add(&ms->filter->ev, NULL);
return 1;
}
@@ -173,8 +177,9 @@ mfa_session_done(struct mfa_session *ms)
break;
case S_MAIL_MFA:
if (ms->ss.code != 530) {
- imsg_compose_event(env->sc_ievs[PROC_LKA], IMSG_LKA_MAIL, 0,
- 0, -1, &ms->ss, sizeof(ms->ss));
+ imsg_compose_event(env->sc_ievs[PROC_LKA],
+ IMSG_LKA_MAIL, 0, 0, -1,
+ &ms->ss, sizeof(ms->ss));
mfa_session_destroy(ms);
return;
}
@@ -182,8 +187,9 @@ mfa_session_done(struct mfa_session *ms)
break;
case S_RCPT_MFA:
if (ms->ss.code != 530) {
- imsg_compose_event(env->sc_ievs[PROC_LKA], IMSG_LKA_RULEMATCH,
- 0, 0, -1, &ms->ss, sizeof(ms->ss));
+ imsg_compose_event(env->sc_ievs[PROC_LKA],
+ IMSG_LKA_RULEMATCH, 0, 0, -1,
+ &ms->ss, sizeof(ms->ss));
mfa_session_destroy(ms);
return;
}
@@ -191,8 +197,9 @@ mfa_session_done(struct mfa_session *ms)
break;
case S_DATACONTENT:
if (ms->ss.code != 530 && ms->fm.code != 0)
- (void)strlcpy(ms->ss.u.dataline, ms->fm.u.dataline.line,
- sizeof(ms->ss.u.dataline));
+ (void)strlcpy(ms->ss.u.dataline,
+ ms->fm.u.dataline.line,
+ sizeof(ms->ss.u.dataline));
imsg_type = IMSG_MFA_DATALINE;
break;
case S_QUIT:
diff --git a/smtpd/mta.c b/smtpd/mta.c
index fdf005b5..246c40bb 100644
--- a/smtpd/mta.c
+++ b/smtpd/mta.c
@@ -61,7 +61,8 @@ static void mta_sig_handler(int, short, void *);
static struct mta_route *mta_route_for(struct envelope *);
static void mta_route_drain(struct mta_route *);
static void mta_route_free(struct mta_route *);
-static void mta_envelope_done(struct mta_task *, struct envelope *, const char *);
+static void mta_envelope_done(struct mta_task *, struct envelope *,
+ const char *);
static int mta_route_cmp(struct mta_route *, struct mta_route *);
SPLAY_PROTOTYPE(mta_route_tree, mta_route, entry, mta_route_cmp);
@@ -97,7 +98,8 @@ mta_imsg(struct imsgev *iev, struct imsg *imsg)
route = mta_route_for(e);
batch = tree_xget(&batches, e->batch_id);
- if ((task = tree_get(&batch->tasks, route->id)) == NULL) {
+ if ((task = tree_get(&batch->tasks, route->id))
+ == NULL) {
log_trace(TRACE_MTA, "mta: new task for %s",
mta_route_to_text(route));
task = xmalloc(sizeof *task, "mta_task");
@@ -119,7 +121,8 @@ mta_imsg(struct imsgev *iev, struct imsg *imsg)
/* XXX honour route->maxrcpt */
TAILQ_INSERT_TAIL(&task->envelopes, e, entry);
stat_increment("mta.envelope", 1);
- log_debug("debug: mta: received evp:%016" PRIx64 " for <%s@%s>",
+ log_debug("debug: mta: received evp:%016" PRIx64
+ " for <%s@%s>",
e->id, e->dest.user, e->dest.domain);
return;
@@ -129,12 +132,14 @@ mta_imsg(struct imsgev *iev, struct imsg *imsg)
log_trace(TRACE_MTA, "mta: batch:%016" PRIx64 " closed",
batch->id);
/* for all tasks, queue them on there route */
- while (tree_poproot(&batch->tasks, &id, (void**)&task)) {
+ while (tree_poproot(&batch->tasks, &id,
+ (void**)&task)) {
if (id != task->route->id)
errx(1, "route id mismatch!");
task->route->refcount -= 1;
task->route->ntask += 1;
- TAILQ_INSERT_TAIL(&task->route->tasks, task, entry);
+ TAILQ_INSERT_TAIL(&task->route->tasks, task,
+ entry);
stat_increment("mta.task", 1);
mta_route_drain(task->route);
}
@@ -164,7 +169,8 @@ mta_imsg(struct imsgev *iev, struct imsg *imsg)
if (env->sc_flags & SMTPD_CONFIGURING)
return;
env->sc_flags |= SMTPD_CONFIGURING;
- env->sc_ssl = xcalloc(1, sizeof *env->sc_ssl, "mta:sc_ssl");
+ env->sc_ssl = xcalloc(1, sizeof *env->sc_ssl,
+ "mta:sc_ssl");
return;
case IMSG_CONF_SSL:
@@ -444,7 +450,8 @@ mta_route_for(struct envelope *e)
route->cert = key.cert ? xstrdup(key.cert, "mta: cert") : NULL;
route->auth = key.auth ? xstrdup(key.auth, "mta: auth") : NULL;
if (route->cert) {
- strlcpy(ssl.ssl_name, route->cert, sizeof(ssl.ssl_name));
+ strlcpy(ssl.ssl_name, route->cert,
+ sizeof(ssl.ssl_name));
route->ssl = SPLAY_FIND(ssltree, env->sc_ssl, &ssl);
}
SPLAY_INSERT(mta_route_tree, &routes, route);
@@ -456,7 +463,8 @@ mta_route_for(struct envelope *e)
log_trace(TRACE_MTA, "mta: new %s", mta_route_to_text(route));
stat_increment("mta.route", 1);
} else {
- log_trace(TRACE_MTA, "mta: reusing %s", mta_route_to_text(route));
+ log_trace(TRACE_MTA, "mta: reusing %s",
+ mta_route_to_text(route));
}
return (route);
@@ -492,7 +500,8 @@ mta_route_drain(struct mta_route *route)
}
if (route->ntask == 0) {
- log_debug("debug: mta: no task for %s", mta_route_to_text(route));
+ log_debug("debug: mta: no task for %s",
+ mta_route_to_text(route));
return;
}
@@ -506,7 +515,7 @@ mta_route_drain(struct mta_route *route)
while ((task = TAILQ_FIRST(&route->tasks))) {
TAILQ_REMOVE(&route->tasks, task, entry);
route->ntask -= 1;
- while((e = TAILQ_FIRST(&task->envelopes)))
+ while ((e = TAILQ_FIRST(&task->envelopes)))
mta_envelope_done(task, e, route->errorline);
free(task);
stat_decrement("mta.task", 1);
diff --git a/smtpd/mta_session.c b/smtpd/mta_session.c
index e72fcc3c..759e716d 100644
--- a/smtpd/mta_session.c
+++ b/smtpd/mta_session.c
@@ -109,7 +109,8 @@ struct mta_session {
static void mta_io(struct io *, int);
static void mta_enter_state(struct mta_session *, int);
static void mta_status(struct mta_session *, int, const char *, ...);
-static void mta_envelope_done(struct mta_task *, struct envelope *, const char *);
+static void mta_envelope_done(struct mta_task *, struct envelope *,
+ const char *);
static void mta_send(struct mta_session *, char *, ...);
static ssize_t mta_queue_data(struct mta_session *);
static void mta_response(struct mta_session *, char *);
@@ -151,7 +152,8 @@ mta_session(struct mta_route *route)
session->flags |= MTA_ALLOW_PLAIN;
}
- log_debug("debug: mta: %p: spawned for %s", session, mta_route_to_text(route));
+ log_debug("debug: mta: %p: spawned for %s", session,
+ mta_route_to_text(route));
stat_increment("mta.session", 1);
mta_enter_state(session, MTA_INIT);
}
@@ -167,8 +169,7 @@ mta_session_imsg(struct imsgev *iev, struct imsg *imsg)
const char *error;
void *ptr;
- switch(imsg->hdr.type) {
-
+ switch (imsg->hdr.type) {
case IMSG_QUEUE_MESSAGE_FD:
id = *(uint64_t*)(imsg->data);
if (imsg->fd == -1)
@@ -245,7 +246,8 @@ mta_session_imsg(struct imsgev *iev, struct imsg *imsg)
/* check if we need to start tls now... */
if (((s->flags & MTA_FORCE_ANYSSL) && host->used == 1) ||
(s->flags & MTA_FORCE_SMTPS)) {
- log_debug("debug: mta: %p: trying smtps (ssl=%p)...", s, s->ssl);
+ log_debug("debug: mta: %p: trying smtps (ssl=%p)...",
+ s, s->ssl);
if ((ptr = ssl_mta_init(s->ssl)) == NULL)
fatalx("mta: ssl_mta_init");
io_start_tls(&s->io, ptr);
@@ -305,10 +307,11 @@ mta_enter_state(struct mta_session *s, int newstate)
*/
bzero(&secret, sizeof(secret));
secret.id = s->id;
- strlcpy(secret.tablename, s->route->auth, sizeof(secret.tablename));
+ strlcpy(secret.tablename, s->route->auth,
+ sizeof(secret.tablename));
strlcpy(secret.host, s->route->hostname, sizeof(secret.host));
imsg_compose_event(env->sc_ievs[PROC_LKA], IMSG_LKA_SECRET,
- 0, 0, -1, &secret, sizeof(secret));
+ 0, 0, -1, &secret, sizeof(secret));
break;
case MTA_MX:
@@ -316,16 +319,18 @@ mta_enter_state(struct mta_session *s, int newstate)
* Lookup MX record.
*/
if (s->flags & MTA_FORCE_MX) /* XXX */
- dns_query_host(s->route->hostname, s->route->port, s->id);
+ dns_query_host(s->route->hostname, s->route->port,
+ s->id);
else
- dns_query_mx(s->route->hostname, s->route->backupname, 0, s->id);
+ dns_query_mx(s->route->hostname, s->route->backupname,
+ 0, s->id);
break;
case MTA_CONNECT:
/*
* Connect to the MX.
*/
-
+
/* cleanup previous connection if any */
iobuf_clear(&s->iobuf);
io_clear(&s->io);
@@ -350,7 +355,8 @@ mta_enter_state(struct mta_session *s, int newstate)
if (s->route->port)
sa_set_port(sa, s->route->port);
- else if ((s->flags & MTA_FORCE_ANYSSL) && host->used == 1)
+ else if ((s->flags & MTA_FORCE_ANYSSL) &&
+ host->used == 1)
sa_set_port(sa, 465);
else if (s->flags & MTA_FORCE_SMTPS)
sa_set_port(sa, 465);
@@ -361,7 +367,8 @@ mta_enter_state(struct mta_session *s, int newstate)
io_init(&s->io, -1, s, mta_io, &s->iobuf);
io_set_timeout(&s->io, 10000);
if (io_connect(&s->io, sa, NULL) == -1) {
- log_debug("debug: mta: %p: connection failed: %s", s,
+ log_debug("debug: mta: %p: "
+ "connection failed: %s", s,
strerror(errno));
iobuf_clear(&s->iobuf);
/*
@@ -432,8 +439,8 @@ mta_enter_state(struct mta_session *s, int newstate)
if (s->secret && s->flags & MTA_TLS)
mta_send(s, "AUTH PLAIN %s", s->secret);
else if (s->secret) {
- log_debug("debug: mta: %p: not using AUTH on non-TLS session",
- s);
+ log_debug("debug: mta: "
+ "%p: not using AUTH on non-TLS session", s);
mta_enter_state(s, MTA_CONNECT);
} else {
mta_enter_state(s, MTA_SMTP_READY);
@@ -447,11 +454,13 @@ mta_enter_state(struct mta_session *s, int newstate)
mta_route_ok(s->route);
}
if (s->msgcount >= s->route->maxmail) {
- log_debug("debug: mta: %p: cannot send more message to %s", s,
+ log_debug("debug: mta: "
+ "%p: cannot send more message to %s", s,
mta_route_to_text(s->route));
mta_enter_state(s, MTA_SMTP_QUIT);
} else if ((s->task = TAILQ_FIRST(&s->route->tasks))) {
- log_debug("debug: mta: %p: handling next task for %s", s,
+ log_debug("debug: mta: "
+ "%p: handling next task for %s", s,
mta_route_to_text(s->route));
TAILQ_REMOVE(&s->route->tasks, s->task, entry);
s->route->ntask -= 1;
@@ -648,7 +657,8 @@ mta_io(struct io *io, int evt)
const char *error;
int cont;
- log_trace(TRACE_IO, "mta: %p: %s %s", s, io_strevent(evt), io_strio(io));
+ log_trace(TRACE_IO, "mta: %p: %s %s", s, io_strevent(evt),
+ io_strio(io));
switch (evt) {
@@ -708,7 +718,7 @@ mta_io(struct io *io, int evt)
io_set_write(io);
mta_response(s, line);
- iobuf_normalize(&s->iobuf);
+ iobuf_normalize(&s->iobuf);
if (iobuf_len(&s->iobuf)) {
log_debug("debug: mta: remaining data in input buffer");
@@ -746,7 +756,8 @@ mta_io(struct io *io, int evt)
break;
case IO_DISCONNECTED:
- log_debug("debug: mta: %p: disconnected in state %s", s, mta_strstate(s->state));
+ log_debug("debug: mta: %p: disconnected in state %s",
+ s, mta_strstate(s->state));
if (!s->ready) {
mta_enter_state(s, MTA_CONNECT);
break;
@@ -825,7 +836,7 @@ mta_status(struct mta_session *s, int connerr, const char *fmt, ...)
va_end(ap);
if (s->task) {
- while((e = TAILQ_FIRST(&s->task->envelopes)))
+ while ((e = TAILQ_FIRST(&s->task->envelopes)))
mta_envelope_done(s->task, e, status);
free(s->task);
s->task = NULL;
@@ -875,7 +886,7 @@ mta_strstate(int state)
CASE(MTA_CONNECT);
CASE(MTA_DONE);
CASE(MTA_SMTP_READY);
- CASE(MTA_SMTP_BANNER);
+ CASE(MTA_SMTP_BANNER);
CASE(MTA_SMTP_EHLO);
CASE(MTA_SMTP_HELO);
CASE(MTA_SMTP_STARTTLS);
diff --git a/smtpd/parser.c b/smtpd/parser.c
index 5fc595d2..f7b255bb 100644
--- a/smtpd/parser.c
+++ b/smtpd/parser.c
@@ -60,16 +60,16 @@ static const struct token t_update[];
static const struct token t_update_table[];
static const struct token t_main[] = {
- {KEYWORD, "schedule-id", NONE, t_schedule_id},
- {KEYWORD, "schedule-all", SCHEDULE_ALL, NULL},
- {KEYWORD, "show", NONE, t_show},
+ {KEYWORD, "schedule-id", NONE, t_schedule_id},
+ {KEYWORD, "schedule-all", SCHEDULE_ALL, NULL},
+ {KEYWORD, "show", NONE, t_show},
{KEYWORD, "monitor", MONITOR, NULL},
- {KEYWORD, "pause", NONE, t_pause},
- {KEYWORD, "remove", NONE, t_remove},
- {KEYWORD, "resume", NONE, t_resume},
- {KEYWORD, "stop", SHUTDOWN, NULL},
- {KEYWORD, "log", NONE, t_log},
- {KEYWORD, "update", NONE, t_update},
+ {KEYWORD, "pause", NONE, t_pause},
+ {KEYWORD, "remove", NONE, t_remove},
+ {KEYWORD, "resume", NONE, t_resume},
+ {KEYWORD, "stop", SHUTDOWN, NULL},
+ {KEYWORD, "log", NONE, t_log},
+ {KEYWORD, "update", NONE, t_update},
{ENDTOKEN, "", NONE, NULL}
};
@@ -105,30 +105,30 @@ static const struct token t_pause[] = {
{KEYWORD, "mda", PAUSE_MDA, NULL},
{KEYWORD, "mta", PAUSE_MTA, NULL},
{KEYWORD, "smtp", PAUSE_SMTP, NULL},
- {ENDTOKEN, "", NONE, NULL}
+ {ENDTOKEN, "", NONE, NULL}
};
static const struct token t_resume[] = {
{KEYWORD, "mda", RESUME_MDA, NULL},
{KEYWORD, "mta", RESUME_MTA, NULL},
{KEYWORD, "smtp", RESUME_SMTP, NULL},
- {ENDTOKEN, "", NONE, NULL}
+ {ENDTOKEN, "", NONE, NULL}
};
static const struct token t_log[] = {
- {KEYWORD, "verbose", LOG_VERBOSE, NULL},
- {KEYWORD, "brief", LOG_BRIEF, NULL},
- {ENDTOKEN, "", NONE, NULL}
+ {KEYWORD, "verbose", LOG_VERBOSE, NULL},
+ {KEYWORD, "brief", LOG_BRIEF, NULL},
+ {ENDTOKEN, "", NONE, NULL}
};
static const struct token t_update[] = {
- {KEYWORD, "table", NONE, t_update_table},
- {ENDTOKEN, "", NONE, NULL}
+ {KEYWORD, "table", NONE, t_update_table},
+ {ENDTOKEN, "", NONE, NULL}
};
static const struct token t_update_table[] = {
- {VARIABLE, "name", UPDATE_TABLE, NULL},
- {ENDTOKEN, "", NONE, NULL}
+ {VARIABLE, "name", UPDATE_TABLE, NULL},
+ {ENDTOKEN, "", NONE, NULL}
};
diff --git a/smtpd/queue.c b/smtpd/queue.c
index fd8d74a7..14b0f183 100644
--- a/smtpd/queue.c
+++ b/smtpd/queue.c
@@ -229,7 +229,7 @@ queue_imsg(struct imsgev *iev, struct imsg *imsg)
IMSG_SCHEDULER_ENVELOPES, imsg->hdr.peerid, 0, -1,
&evp, sizeof evp);
return;
- }
+ }
}
if (iev->proc == PROC_MTA || iev->proc == PROC_MDA) {
@@ -465,5 +465,5 @@ queue_timeout(int fd, short event, void *p)
tv.tv_sec = 0;
tv.tv_usec = 10;
- evtimer_add(ev, &tv);
+ evtimer_add(ev, &tv);
}
diff --git a/smtpd/queue_backend.c b/smtpd/queue_backend.c
index bf9b02b0..90e7e43a 100644
--- a/smtpd/queue_backend.c
+++ b/smtpd/queue_backend.c
@@ -216,7 +216,8 @@ queue_envelope_dump_buffer(struct envelope *ep, char *evpbuf, size_t evpbufsize)
return (0);
if (env->sc_queue_flags & QUEUE_COMPRESS) {
- evplen = compress_buffer(evp, evplen, evpbufcom, sizeof evpbufcom);
+ evplen = compress_buffer(evp, evplen, evpbufcom,
+ sizeof evpbufcom);
if (evplen == 0)
return (0);
evp = evpbufcom;
@@ -238,7 +239,8 @@ queue_envelope_load_buffer(struct envelope *ep, char *evpbuf, size_t evpbufsize)
evplen = evpbufsize;
if (env->sc_queue_flags & QUEUE_COMPRESS) {
- evplen = uncompress_buffer(evp, evplen, evpbufcom, sizeof evpbufcom);
+ evplen = uncompress_buffer(evp, evplen, evpbufcom,
+ sizeof evpbufcom);
if (evplen == 0)
return (0);
evp = evpbufcom;
@@ -281,16 +283,18 @@ queue_envelope_load(uint64_t evpid, struct envelope *ep)
size_t evplen;
ep->id = evpid;
- evplen = env->sc_queue->envelope(QOP_LOAD, &ep->id, evpbuf, sizeof evpbuf);
+ evplen = env->sc_queue->envelope(QOP_LOAD, &ep->id, evpbuf,
+ sizeof evpbuf);
if (evplen == 0)
return (0);
-
+
if (queue_envelope_load_buffer(ep, evpbuf, evplen)) {
if ((e = envelope_validate(ep)) == NULL) {
ep->id = evpid;
return (1);
}
- log_debug("debug: invalid envelope %016" PRIx64 ": %s", ep->id, e);
+ log_debug("debug: invalid envelope %016" PRIx64 ": %s",
+ ep->id, e);
}
return (0);
}
@@ -325,7 +329,8 @@ queue_envelope_learn(struct envelope *ep)
ep->id = evpid;
return (1);
}
- log_debug("debug: invalid envelope %016" PRIx64 ": %s", ep->id, e);
+ log_debug("debug: invalid envelope %016" PRIx64 ": %s",
+ ep->id, e);
}
return (0);
}
@@ -335,7 +340,7 @@ queue_generate_msgid(void)
{
uint32_t msgid;
- while((msgid = arc4random_uniform(0xffffffff)) == 0)
+ while ((msgid = arc4random_uniform(0xffffffff)) == 0)
;
return msgid;
@@ -347,7 +352,7 @@ queue_generate_evpid(uint32_t msgid)
uint32_t rnd;
uint64_t evpid;
- while((rnd = arc4random_uniform(0xffffffff)) == 0)
+ while ((rnd = arc4random_uniform(0xffffffff)) == 0)
;
evpid = msgid;
diff --git a/smtpd/queue_fsqueue.c b/smtpd/queue_fsqueue.c
index 0eccad4e..eaa34d74 100644
--- a/smtpd/queue_fsqueue.c
+++ b/smtpd/queue_fsqueue.c
@@ -72,9 +72,9 @@ static void fsqueue_qwalk_close(void *);
#define PATH_EVPTMP PATH_INCOMING "/envelope.tmp"
struct queue_backend queue_backend_fs = {
- fsqueue_init,
- fsqueue_message,
- fsqueue_envelope,
+ fsqueue_init,
+ fsqueue_message,
+ fsqueue_envelope,
};
static struct timespec startup;
@@ -177,7 +177,8 @@ fsqueue_envelope_create(uint64_t *evpid, char *buf, size_t len)
if (queued)
fsqueue_envelope_path(*evpid, path, sizeof(path));
else
- queue_envelope_incoming_path(*evpid, path, sizeof(path));
+ queue_envelope_incoming_path(*evpid, path,
+ sizeof(path));
if (stat(path, &sb) == -1 && errno == ENOENT)
goto found;
@@ -268,7 +269,7 @@ fsqueue_message_create(uint32_t *msgid)
again:
*msgid = queue_generate_msgid();
-
+
/* prevent possible collision later when moving to Q_QUEUE */
fsqueue_message_path(*msgid, rootdir, sizeof(rootdir));
if (stat(rootdir, &sb) != -1 || errno != ENOENT)
@@ -368,11 +369,13 @@ fsqueue_message_corrupt(uint32_t msgid)
int retry = 0;
fsqueue_message_path(msgid, rootdir, sizeof(rootdir));
- fsqueue_message_corrupt_path(msgid, corruptdir, sizeof(corruptdir));
+ fsqueue_message_corrupt_path(msgid, corruptdir,
+ sizeof(corruptdir));
again:
if (stat(corruptdir, &sb) != -1 || errno != ENOENT) {
- fsqueue_message_corrupt_path(msgid, corruptdir, sizeof(corruptdir));
+ fsqueue_message_corrupt_path(msgid, corruptdir,
+ sizeof(corruptdir));
snprintf(buf, sizeof(buf), ".%i", retry++);
strlcat(corruptdir, buf, sizeof(corruptdir));
goto again;
@@ -416,52 +419,40 @@ fsqueue_init(int server)
static int
fsqueue_message(enum queue_op qop, uint32_t *msgid)
{
- switch (qop) {
- case QOP_CREATE:
+ switch (qop) {
+ case QOP_CREATE:
return fsqueue_message_create(msgid);
-
- case QOP_DELETE:
+ case QOP_DELETE:
return fsqueue_message_delete(*msgid);
-
- case QOP_COMMIT:
+ case QOP_COMMIT:
return fsqueue_message_commit(*msgid);
-
- case QOP_FD_R:
- return fsqueue_message_fd_r(*msgid);
-
+ case QOP_FD_R:
+ return fsqueue_message_fd_r(*msgid);
case QOP_CORRUPT:
return fsqueue_message_corrupt(*msgid);
-
- default:
+ default:
fatalx("queue_fsqueue_message: unsupported operation.");
- }
-
+ }
return 0;
}
static int
fsqueue_envelope(enum queue_op qop, uint64_t *evpid, char *buf, size_t len)
{
- switch (qop) {
- case QOP_CREATE:
+ switch (qop) {
+ case QOP_CREATE:
return fsqueue_envelope_create(evpid, buf, len);
-
- case QOP_DELETE:
+ case QOP_DELETE:
return fsqueue_envelope_delete(*evpid);
-
- case QOP_LOAD:
+ case QOP_LOAD:
return fsqueue_envelope_load(*evpid, buf, len);
-
- case QOP_UPDATE:
+ case QOP_UPDATE:
return fsqueue_envelope_update(*evpid, buf, len);
-
- case QOP_LEARN:
+ case QOP_LEARN:
return fsqueue_envelope_learn(evpid, buf, len);
-
- default:
+ default:
fatalx("queue_fsqueue_envelope: unsupported operation.");
- }
-
+ }
return 0;
}
@@ -502,12 +493,11 @@ static int
fsqueue_qwalk(void *hdl, uint64_t *evpid)
{
struct qwalk *q = hdl;
- FTSENT *e;
+ FTSENT *e;
char *tmp;
- while ((e = fts_read(q->fts)) != NULL) {
-
- switch(e->fts_info) {
+ while ((e = fts_read(q->fts)) != NULL) {
+ switch (e->fts_info) {
case FTS_D:
q->depth += 1;
if (q->depth == 2 && e->fts_namelen != 2) {
@@ -548,5 +538,5 @@ fsqueue_qwalk(void *hdl, uint64_t *evpid)
}
}
- return (0);
+ return (0);
}
diff --git a/smtpd/queue_ram.c b/smtpd/queue_ram.c
index 67044688..9f2e09c7 100644
--- a/smtpd/queue_ram.c
+++ b/smtpd/queue_ram.c
@@ -46,9 +46,9 @@ static int queue_ram_message(enum queue_op, uint32_t *);
static int queue_ram_envelope(enum queue_op , uint64_t *, char *, size_t);
struct queue_backend queue_backend_ram = {
- queue_ram_init,
- queue_ram_message,
- queue_ram_envelope,
+ queue_ram_init,
+ queue_ram_message,
+ queue_ram_envelope,
};
struct qr_envelope {
@@ -78,13 +78,13 @@ queue_ram_message(enum queue_op qop, uint32_t *msgid)
char path[MAXPATHLEN];
uint64_t evpid;
struct qr_envelope *evp;
- struct qr_message *msg;
+ struct qr_message *msg;
int fd;
struct stat sb;
FILE *f;
- switch (qop) {
- case QOP_CREATE:
+ switch (qop) {
+ case QOP_CREATE:
msg = xcalloc(1, sizeof *msg, "queue_ram_message");
tree_init(&msg->envelopes);
do {
@@ -98,7 +98,7 @@ queue_ram_message(enum queue_op qop, uint32_t *msgid)
tree_xset(&messages, *msgid, msg);
return (1);
- case QOP_DELETE:
+ case QOP_DELETE:
msg = tree_pop(&messages, *msgid);
if (msg == NULL)
return (0);
@@ -111,7 +111,7 @@ queue_ram_message(enum queue_op qop, uint32_t *msgid)
free(msg->buf);
return (1);
- case QOP_COMMIT:
+ case QOP_COMMIT:
msg = tree_get(&messages, *msgid);
if (msg == NULL)
return (0);
@@ -136,7 +136,7 @@ queue_ram_message(enum queue_op qop, uint32_t *msgid)
stat_increment("queue.ram.message.size", msg->len);
return (1);
- case QOP_FD_R:
+ case QOP_FD_R:
msg = tree_get(&messages, *msgid);
if (msg == NULL)
return (0);
@@ -145,14 +145,14 @@ queue_ram_message(enum queue_op qop, uint32_t *msgid)
return (-1);
write(fd, msg->buf, msg->len);
lseek(fd, 0, SEEK_SET);
- return (fd);
+ return (fd);
case QOP_CORRUPT:
return (queue_ram_message(QOP_DELETE, msgid));
- default:
+ default:
fatalx("queue_queue_ram_message: unsupported operation.");
- }
+ }
return (0);
}
@@ -174,8 +174,8 @@ queue_ram_envelope(enum queue_op qop, uint64_t *evpid, char *buf, size_t len)
return (0);
}
- switch (qop) {
- case QOP_CREATE:
+ switch (qop) {
+ case QOP_CREATE:
do {
*evpid = queue_generate_evpid(msgid);
} while (tree_check(&msg->envelopes, *evpid));
@@ -186,7 +186,7 @@ queue_ram_envelope(enum queue_op qop, uint64_t *evpid, char *buf, size_t len)
tree_xset(&msg->envelopes, *evpid, evp);
return (1);
- case QOP_DELETE:
+ case QOP_DELETE:
evp = tree_pop(&msg->envelopes, *evpid);
if (evp == NULL)
return (0);
@@ -202,7 +202,7 @@ queue_ram_envelope(enum queue_op qop, uint64_t *evpid, char *buf, size_t len)
}
return (1);
- case QOP_LOAD:
+ case QOP_LOAD:
evp = tree_get(&msg->envelopes, *evpid);
if (evp == NULL) {
log_debug("cannot find envelope %016" PRIx64, *evpid);
@@ -215,7 +215,7 @@ queue_ram_envelope(enum queue_op qop, uint64_t *evpid, char *buf, size_t len)
memmove(buf, evp->buf, evp->len);
return (evp->len);
- case QOP_UPDATE:
+ case QOP_UPDATE:
evp = tree_get(&msg->envelopes, *evpid);
if (evp == NULL)
return (0);
@@ -226,9 +226,9 @@ queue_ram_envelope(enum queue_op qop, uint64_t *evpid, char *buf, size_t len)
evp->buf = xmemdup(buf, len, "queue_ram_envelope: update");
return (1);
- default:
+ default:
fatalx("queue_queue_ram_envelope: unsupported operation.");
- }
+ }
return (0);
}
diff --git a/smtpd/ruleset.c b/smtpd/ruleset.c
index 5fcd53ef..dcc135aa 100644
--- a/smtpd/ruleset.c
+++ b/smtpd/ruleset.c
@@ -34,7 +34,8 @@
#include "log.h"
-static int ruleset_check_source(struct table *, const struct sockaddr_storage *);
+static int ruleset_check_source(struct table *,
+ const struct sockaddr_storage *);
static int ruleset_match_mask(struct sockaddr_storage *, struct netaddr *);
static int ruleset_inet4_match(struct sockaddr_in *, struct netaddr *);
static int ruleset_inet6_match(struct sockaddr_in6 *, struct netaddr *);
@@ -77,8 +78,10 @@ ruleset_match(const struct envelope *evp)
fatal("failed to lookup table.");
if (! strcmp(table->t_src, "static")) {
- TAILQ_FOREACH(me, &table->t_contents, me_entry) {
- if (hostname_match(maddr->domain, me->me_key))
+ TAILQ_FOREACH(me, &table->t_contents,
+ me_entry) {
+ if (hostname_match(maddr->domain,
+ me->me_key))
return r;
}
}
@@ -186,10 +189,10 @@ ruleset_inet4_match(struct sockaddr_in *ss, struct netaddr *ssmask)
mask = htonl(mask);
/* (addr & mask) == (net & mask) */
- if ((ss->sin_addr.s_addr & mask) ==
+ if ((ss->sin_addr.s_addr & mask) ==
(((struct sockaddr_in *)ssmask)->sin_addr.s_addr & mask))
return 1;
-
+
return 0;
}
@@ -200,17 +203,17 @@ ruleset_inet6_match(struct sockaddr_in6 *ss, struct netaddr *ssmask)
struct in6_addr *inmask;
struct in6_addr mask;
int i;
-
+
bzero(&mask, sizeof(mask));
for (i = 0; i < ssmask->bits / 8; i++)
mask.s6_addr[i] = 0xff;
i = ssmask->bits % 8;
if (i)
mask.s6_addr[ssmask->bits / 8] = 0xff00 >> i;
-
+
in = &ss->sin6_addr;
inmask = &((struct sockaddr_in6 *)&ssmask->ss)->sin6_addr;
-
+
for (i = 0; i < 16; i++) {
if ((in->s6_addr[i] & mask.s6_addr[i]) !=
(inmask->s6_addr[i] & mask.s6_addr[i]))
diff --git a/smtpd/scheduler.c b/smtpd/scheduler.c
index 70f543f4..e5c406c7 100644
--- a/smtpd/scheduler.c
+++ b/smtpd/scheduler.c
@@ -195,9 +195,11 @@ scheduler_imsg(struct imsgev *iev, struct imsg *imsg)
case IMSG_SCHEDULER_SCHEDULE:
id = *(uint64_t *)(imsg->data);
if (id <= 0xffffffffL)
- log_debug("debug: scheduler: scheduling msg:%08" PRIx64, id);
+ log_debug("debug: scheduler: "
+ "scheduling msg:%08" PRIx64, id);
else
- log_debug("debug: scheduler: scheduling evp:%016" PRIx64, id);
+ log_debug("debug: scheduler: "
+ "scheduling evp:%016" PRIx64, id);
backend->schedule(id);
scheduler_reset_events();
return;
@@ -205,15 +207,18 @@ scheduler_imsg(struct imsgev *iev, struct imsg *imsg)
case IMSG_SCHEDULER_REMOVE:
id = *(uint64_t *)(imsg->data);
if (id <= 0xffffffffL)
- log_debug("debug: scheduler: removing msg:%08" PRIx64, id);
+ log_debug("debug: scheduler: "
+ "removing msg:%08" PRIx64, id);
else
- log_debug("debug: scheduler: removing evp:%016" PRIx64, id);
+ log_debug("debug: scheduler: "
+ "removing evp:%016" PRIx64, id);
backend->remove(id);
scheduler_reset_events();
return;
}
- errx(1, "scheduler_imsg: unexpected %s imsg", imsg_to_str(imsg->hdr.type));
+ errx(1, "scheduler_imsg: unexpected %s imsg",
+ imsg_to_str(imsg->hdr.type));
}
static void
@@ -370,7 +375,7 @@ scheduler_timeout(int fd, short event, void *p)
fatalx("scheduler_timeout: unknown batch type");
}
- evtimer_add(&env->sc_ev, &tv);
+ evtimer_add(&env->sc_ev, &tv);
}
static void
@@ -416,8 +421,8 @@ scheduler_process_bounce(struct scheduler_batch *batch)
while ((e = batch->evpids)) {
batch->evpids = e->next;
- log_debug("debug: scheduler: evp:%016" PRIx64 " scheduled (bounce)",
- e->id);
+ log_debug("debug: scheduler: evp:%016" PRIx64
+ " scheduled (bounce)", e->id);
imsg_compose_event(env->sc_ievs[PROC_QUEUE], IMSG_SMTP_ENQUEUE,
0, 0, -1, &e->id, sizeof e->id);
free(e);
@@ -433,8 +438,8 @@ scheduler_process_mda(struct scheduler_batch *batch)
while ((e = batch->evpids)) {
batch->evpids = e->next;
- log_debug("debug: scheduler: evp:%016" PRIx64 " scheduled (mda)",
- e->id);
+ log_debug("debug: scheduler: evp:%016" PRIx64
+ " scheduled (mda)", e->id);
imsg_compose_event(env->sc_ievs[PROC_QUEUE], IMSG_MDA_SESS_NEW,
0, 0, -1, &e->id, sizeof e->id);
free(e);
@@ -453,8 +458,8 @@ scheduler_process_mta(struct scheduler_batch *batch)
while ((e = batch->evpids)) {
batch->evpids = e->next;
- log_debug("debug: scheduler: evp:%016" PRIx64 " scheduled (mta)",
- e->id);
+ log_debug("debug: scheduler: evp:%016" PRIx64
+ " scheduled (mta)", e->id);
imsg_compose_event(env->sc_ievs[PROC_QUEUE], IMSG_BATCH_APPEND,
0, 0, -1, &e->id, sizeof e->id);
free(e);
diff --git a/smtpd/scheduler_backend.c b/smtpd/scheduler_backend.c
index 6fccd4da..0e144d66 100644
--- a/smtpd/scheduler_backend.c
+++ b/smtpd/scheduler_backend.c
@@ -68,5 +68,5 @@ scheduler_compute_schedule(struct scheduler_info *sched)
delay = ((delay * sched->retry) * sched->retry) / 2;
- return (sched->creation + delay);
+ return (sched->creation + delay);
}
diff --git a/smtpd/scheduler_ramqueue.c b/smtpd/scheduler_ramqueue.c
index 6b2514ff..3a05db17 100644
--- a/smtpd/scheduler_ramqueue.c
+++ b/smtpd/scheduler_ramqueue.c
@@ -127,7 +127,7 @@ struct scheduler_backend scheduler_backend_ramqueue = {
static struct rq_queue ramqueue;
static struct tree updates;
-static time_t currtime;
+static time_t currtime;
extern int verbose;
@@ -336,7 +336,7 @@ scheduler_ramqueue_batch(int typemask, struct scheduler_batch *ret)
ret->evpids = NULL;
ret->evpcount = 0;
- while((evp = TAILQ_FIRST(q))) {
+ while ((evp = TAILQ_FIRST(q))) {
TAILQ_REMOVE(q, evp, entry);
@@ -426,7 +426,7 @@ scheduler_ramqueue_messages(uint32_t from, uint32_t *dst, size_t size)
size_t n;
void *i;
- for(n = 0, i = NULL; n < size; n++) {
+ for (n = 0, i = NULL; n < size; n++) {
if (tree_iterfrom(&ramqueue.messages, &i, from, &id, NULL) == 0)
break;
dst[n] = id;
@@ -445,8 +445,8 @@ scheduler_ramqueue_envelopes(uint64_t from, struct evpstate *dst, size_t size)
if ((msg = tree_get(&ramqueue.messages, evpid_to_msgid(from))) == NULL)
return (0);
-
- for(n = 0, i = NULL; n < size; ) {
+
+ for (n = 0, i = NULL; n < size; ) {
if (tree_iterfrom(&msg->envelopes, &i, from, NULL,
(void**)&evp) == 0)
@@ -532,7 +532,7 @@ rq_queue_merge(struct rq_queue *rq, struct rq_queue *update)
}
/* need to re-link all envelopes before merging them */
i = NULL;
- while((tree_iter(&message->envelopes, &i, &id,
+ while ((tree_iter(&message->envelopes, &i, &id,
(void*)&envelope)))
envelope->message = tomessage;
tree_merge(&tomessage->envelopes, &message->envelopes);
@@ -634,7 +634,7 @@ rq_envelope_remove(struct rq_queue *rq, struct rq_envelope *evp)
if (rq->q_mtabatch == evp->message)
rq->q_mtabatch = evp->message->q_next;
else {
- for(m = rq->q_mtabatch; m->q_next; m = m->q_next)
+ for (m = rq->q_mtabatch; m->q_next; m = m->q_next)
if (m->q_next == evp->message) {
m->q_next = evp->message->q_next;
break;
@@ -674,7 +674,8 @@ rq_envelope_to_text(struct rq_envelope *e)
else if (e->type == D_MTA)
strlcat(buf, "mta", sizeof buf);
- snprintf(t, sizeof t, ",expire=%s", duration_to_text(e->expire - currtime));
+ snprintf(t, sizeof t, ",expire=%s",
+ duration_to_text(e->expire - currtime));
strlcat(buf, t, sizeof buf);
if (e->flags & RQ_ENVELOPE_PENDING) {
@@ -713,10 +714,10 @@ rq_queue_dump(struct rq_queue *rq, const char * name)
log_debug("debug: /--- ramqueue: %s", name);
i = NULL;
- while((tree_iter(&rq->messages, &i, &id, (void*)&message))) {
+ while ((tree_iter(&rq->messages, &i, &id, (void*)&message))) {
log_debug("debug: | msg:%08" PRIx32, message->msgid);
j = NULL;
- while((tree_iter(&message->envelopes, &j, &id,
+ while ((tree_iter(&message->envelopes, &j, &id,
(void*)&envelope)))
log_debug("debug: | %s",
rq_envelope_to_text(envelope));
diff --git a/smtpd/smtp.c b/smtpd/smtp.c
index 73067afc..c501248b 100644
--- a/smtpd/smtp.c
+++ b/smtpd/smtp.c
@@ -131,7 +131,9 @@ smtp_imsg(struct imsgev *iev, struct imsg *imsg)
case IMSG_QUEUE_TEMPFAIL:
skey.s_id = ss->id;
- /* do not use lookup since this is not a expected imsg -- eric@ */
+ /* do not use lookup since this is not a expected imsg
+ * -- eric@
+ */
s = SPLAY_FIND(sessiontree, &env->sc_sessions, &skey);
if (s == NULL)
fatalx("smtp: session is gone");
@@ -167,7 +169,8 @@ smtp_imsg(struct imsgev *iev, struct imsg *imsg)
if (env->sc_flags & SMTPD_CONFIGURING)
return;
env->sc_flags |= SMTPD_CONFIGURING;
- env->sc_listeners = calloc(1, sizeof *env->sc_listeners);
+ env->sc_listeners = calloc(1,
+ sizeof *env->sc_listeners);
env->sc_ssl = calloc(1, sizeof *env->sc_ssl);
if (env->sc_listeners == NULL || env->sc_ssl == NULL)
fatal(NULL);
@@ -183,8 +186,8 @@ smtp_imsg(struct imsgev *iev, struct imsg *imsg)
*ssl = *(struct ssl *)imsg->data;
ssl->ssl_cert = xstrdup((char *)imsg->data +
sizeof *ssl, "smtp:ssl_cert");
- ssl->ssl_key = xstrdup((char *)imsg->data + sizeof *ssl +
- ssl->ssl_cert_len, "smtp:ssl_key");
+ ssl->ssl_key = xstrdup((char *)imsg->data +
+ sizeof *ssl + ssl->ssl_cert_len, "smtp:ssl_key");
if (ssl->ssl_dhparams_len) {
ssl->ssl_dhparams = xstrdup((char *)imsg->data
+ sizeof *ssl + ssl->ssl_cert_len +
@@ -463,21 +466,24 @@ smtp_accept(int fd, short event, void *p)
socklen_t len;
if ((s = smtp_new(l)) == NULL) {
- log_warnx("warn: smtp: client limit hit, disabling incoming connections");
+ log_warnx("warn: smtp: "
+ "client limit hit, disabling incoming connections");
goto pause;
}
len = sizeof(s->s_ss);
- if ((s->s_io.sock = accept(fd, (struct sockaddr *)&s->s_ss, &len)) == -1) {
+ if ((s->s_io.sock = accept(fd, (struct sockaddr *)&s->s_ss, &len))
+ == -1) {
if (errno == ENFILE || errno == EMFILE) {
- log_warnx("warn: smtp: fd exhaustion, disabling incoming connections");
+ log_warnx("warn: smtp: "
+ "fd exhaustion, disabling incoming connections");
goto pause;
}
if (errno == EINTR || errno == ECONNABORTED)
return;
fatal("smtp_accept");
}
-
+
io_set_timeout(&s->s_io, SMTPD_SESSION_TIMEOUT * 1000);
io_set_write(&s->s_io);
dns_query_ptr(&s->s_ss, s->s_id);
@@ -537,7 +543,8 @@ smtp_destroy(struct session *session)
return;
if (env->sc_flags & SMTPD_SMTP_DISABLED) {
- log_warnx("warn: smtp: fd exaustion over, re-enabling incoming connections");
+ log_warnx("warn: smtp: "
+ "fd exaustion over, re-enabling incoming connections");
env->sc_flags &= ~SMTPD_SMTP_DISABLED;
smtp_resume();
}
diff --git a/smtpd/smtp_session.c b/smtpd/smtp_session.c
index 39637ffc..983019af 100644
--- a/smtpd/smtp_session.c
+++ b/smtpd/smtp_session.c
@@ -214,7 +214,8 @@ session_rfc4954_auth_plain(struct session *s, char *arg)
case S_AUTH_INIT:
/* String is not NUL terminated, leave room. */
- if ((len = __b64_pton(arg, (unsigned char *)buf, sizeof(buf) - 1)) == -1)
+ if ((len = __b64_pton(arg, (unsigned char *)buf,
+ sizeof(buf) - 1)) == -1)
goto abort;
/* buf is a byte string, NUL terminate. */
buf[len] = '\0';
@@ -267,7 +268,8 @@ session_rfc4954_auth_login(struct session *s, char *arg)
case S_AUTH_USERNAME:
bzero(a->user, sizeof(a->user));
- if (__b64_pton(arg, (unsigned char *)a->user, sizeof(a->user) - 1) == -1)
+ if (__b64_pton(arg, (unsigned char *)a->user,
+ sizeof(a->user) - 1) == -1)
goto abort;
session_enter_state(s, S_AUTH_PASSWORD);
@@ -276,7 +278,8 @@ session_rfc4954_auth_login(struct session *s, char *arg)
case S_AUTH_PASSWORD:
bzero(a->pass, sizeof(a->pass));
- if (__b64_pton(arg, (unsigned char *)a->pass, sizeof(a->pass) - 1) == -1)
+ if (__b64_pton(arg, (unsigned char *)a->pass,
+ sizeof(a->pass) - 1) == -1)
goto abort;
session_enter_state(s, S_AUTH_FINALIZE);
@@ -287,7 +290,7 @@ session_rfc4954_auth_login(struct session *s, char *arg)
bzero(a->pass, sizeof(a->pass));
return;
-
+
default:
fatal("session_rfc4954_auth_login: unknown state");
}
@@ -312,8 +315,9 @@ session_rfc1652_mail_handler(struct session *s, char *args)
*body++ = '\0';
if (strncasecmp(body, "AUTH=", 5) == 0) {
- log_debug("debug: smtp: AUTH in MAIL FROM command, skipping");
- continue;
+ log_debug("debug: smtp: "
+ "AUTH in MAIL FROM command, skipping");
+ continue;
}
if (strncasecmp(body, "BODY=", 5) == 0) {
@@ -325,12 +329,13 @@ session_rfc1652_mail_handler(struct session *s, char *args)
}
else if (strncasecmp("body=8bitmime", body, 13) != 0) {
- session_respond(s, "503 5.5.4 Unsupported option %s", body);
+ session_respond(s,
+ "503 5.5.4 Unsupported option %s", body);
return 1;
}
}
}
-
+
return session_rfc5321_mail_handler(s, args);
}
@@ -519,7 +524,8 @@ session_rfc5321_data_handler(struct session *s, char *args)
static int
session_rfc5321_vrfy_handler(struct session *s, char *args)
{
- session_respond(s, "252 5.5.1 Cannot VRFY; try RCPT to attempt delivery");
+ session_respond(s,
+ "252 5.5.1 Cannot VRFY; try RCPT to attempt delivery");
return 1;
}
@@ -527,7 +533,8 @@ session_rfc5321_vrfy_handler(struct session *s, char *args)
static int
session_rfc5321_expn_handler(struct session *s, char *args)
{
- session_respond(s, "502 5.5.2 Sorry, we do not allow this operation");
+ session_respond(s,
+ "502 5.5.2 Sorry, we do not allow this operation");
return 1;
}
@@ -535,7 +542,8 @@ session_rfc5321_expn_handler(struct session *s, char *args)
static int
session_rfc5321_turn_handler(struct session *s, char *args)
{
- session_respond(s, "502 5.5.2 Sorry, we do not allow this operation");
+ session_respond(s,
+ "502 5.5.2 Sorry, we do not allow this operation");
return 1;
}
@@ -637,9 +645,10 @@ session_io(struct io *io, int evt)
char *line;
size_t len;
- log_trace(TRACE_IO, "smtp: %p: %s %s", s, io_strevent(evt), io_strio(io));
+ log_trace(TRACE_IO, "smtp: %p: %s %s", s, io_strevent(evt),
+ io_strio(io));
- switch(evt) {
+ switch (evt) {
case IO_TLSREADY:
s->s_flags |= F_SECURE;
@@ -685,7 +694,8 @@ session_io(struct io *io, int evt)
/* pipelining not supported */
if (iobuf_len(&s->s_iobuf)) {
- session_respond(s, "500 5.0.0 Pipelining not supported");
+ session_respond(s,
+ "500 5.0.0 Pipelining not supported");
session_enter_state(s, S_QUIT);
io_set_write(io);
return;
@@ -725,8 +735,8 @@ session_io(struct io *io, int evt)
break;
case IO_DISCONNECTED:
- log_info("smtp-in: Received disconnect from session %016" PRIx64,
- s->s_id);
+ log_info("smtp-in: "
+ "Received disconnect from session %016" PRIx64, s->s_id);
session_destroy(s, "disconnected");
break;
@@ -762,10 +772,11 @@ session_pickup(struct session *s, struct submit_status *ss)
case S_CONNECTED:
session_enter_state(s, S_INIT);
- log_info("smtp-in: New session %016" PRIx64 " from host %s [%s]",
- s->s_id,
- s->s_hostname,
- ss_to_text(&s->s_ss));
+ log_info("smtp-in: "
+ "New session %016" PRIx64 " from host %s [%s]",
+ s->s_id,
+ s->s_hostname,
+ ss_to_text(&s->s_ss));
s->s_msg.session_id = s->s_id;
s->s_msg.ss = s->s_ss;
session_imsg(s, PROC_MFA, IMSG_MFA_CONNECT, 0, 0, -1,
@@ -792,7 +803,7 @@ session_pickup(struct session *s, struct submit_status *ss)
break;
case S_AUTH_FINALIZE:
- strnvis(user, s->s_auth.user, sizeof user, VIS_WHITE | VIS_SAFE);
+ strnvis(user, s->s_auth.user, sizeof user, VIS_WHITE|VIS_SAFE);
if (s->s_flags & F_AUTHENTICATED) {
session_respond(s, "235 Authentication succeeded");
log_info("smtp-in: Accepted authentication for user %s "
@@ -827,7 +838,10 @@ session_pickup(struct session *s, struct submit_status *ss)
session_respond(s, "250-8BITMIME");
session_respond(s, "250-ENHANCEDSTATUSCODES");
- /* XXX - we also want to support reading SIZE from MAIL parameters */
+ /* XXX */
+ /* we also want to support reading SIZE from MAIL
+ * parameters
+ */
session_respond(s, "250-SIZE %zu", env->sc_maxsize);
if (ADVERTISE_TLS(s))
@@ -867,7 +881,8 @@ session_pickup(struct session *s, struct submit_status *ss)
session_enter_state(s, S_MAIL);
else
session_enter_state(s, S_RCPT);
- session_respond(s, "%d 5.0.0 Recipient rejected: %s@%s", ss->code,
+ session_respond(s, "%d 5.0.0 Recipient rejected: %s@%s",
+ ss->code,
s->s_msg.rcpt.user,
s->s_msg.rcpt.domain);
break;
@@ -914,7 +929,8 @@ session_pickup(struct session *s, struct submit_status *ss)
break;
case S_DONE:
- session_respond(s, "250 2.0.0 %08x Message accepted for delivery",
+ session_respond(s,
+ "250 2.0.0 %08x Message accepted for delivery",
evpid_to_msgid(s->s_msg.id));
log_info("smtp-in: Accepted message %08x on session %016" PRIx64
": from=<%s%s%s>, size=%ld, nrcpts=%zu, proto=%s",
diff --git a/smtpd/smtpctl.c b/smtpd/smtpctl.c
index c1cc0716..3854190e 100644
--- a/smtpd/smtpctl.c
+++ b/smtpd/smtpctl.c
@@ -84,10 +84,11 @@ usage(void)
extern char *__progname;
if (sendmail)
- fprintf(stderr, "usage: %s [-tv] [-f from] [-F name] to ..\n",
+ fprintf(stderr, "usage: %s [-tv] [-f from] [-F name] to ...\n",
__progname);
else
- fprintf(stderr, "usage: %s command [argument ...]\n", __progname);
+ fprintf(stderr, "usage: %s command [argument ...]\n",
+ __progname);
exit(1);
}
@@ -147,7 +148,7 @@ next_message(struct imsg *imsg)
{
ssize_t n;
- while(1) {
+ while (1) {
if ((n = imsg_get(ibuf, imsg)) == -1)
errx(1, "imsg_get error");
if (n)
@@ -290,7 +291,7 @@ main(int argc, char *argv[])
flush();
next_message(&imsg);
- switch(action) {
+ switch (action) {
case REMOVE:
case SCHEDULE:
case SHUTDOWN:
@@ -340,14 +341,14 @@ action_show_queue_message(uint32_t msgid)
found = 0;
imsg_compose(ibuf, IMSG_SCHEDULER_ENVELOPES, 0, 0, -1,
- &evpid, sizeof evpid);
+ &evpid, sizeof evpid);
flush();
- while(1) {
+ while (1) {
next_message(&imsg);
if (imsg.hdr.type != IMSG_SCHEDULER_ENVELOPES)
errx(1, "unexpected message %i", imsg.hdr.type);
-
+
if (imsg.hdr.len == sizeof imsg.hdr) {
imsg_free(&imsg);
if (!found || evpid_to_msgid(++evpid) != msgid)
@@ -373,7 +374,7 @@ action_show_queue(void)
msgid = 0;
now = time(NULL);
- do {
+ do {
imsg_compose(ibuf, IMSG_SCHEDULER_MESSAGES, 0, 0, -1,
&msgid, sizeof msgid);
flush();
@@ -467,7 +468,7 @@ show_stats_output(void)
bzero(&kv, sizeof kv);
- while(1) {
+ while (1) {
imsg_compose(ibuf, IMSG_STATS_GET, 0, 0, -1, &kv, sizeof kv);
flush();
next_message(&imsg);
@@ -482,7 +483,7 @@ show_stats_output(void)
if (strcmp(kvp->key, "uptime") == 0) {
duration = time(NULL) - kvp->val.u.counter;
- printf("uptime=%zd\n", (size_t)duration);
+ printf("uptime=%zd\n", (size_t)duration);
printf("uptime.human=%s\n",
duration_to_text(duration));
}
@@ -527,7 +528,7 @@ show_queue(flags)
if (chroot(PATH_SPOOL) == -1 || chdir(".") == -1)
err(1, "%s", PATH_SPOOL);
- while((r = queue_envelope_learn(&envelope)) != -1)
+ while ((r = queue_envelope_learn(&envelope)) != -1)
if (r)
show_queue_envelope(&envelope, flags);
}
@@ -564,7 +565,7 @@ show_queue_envelope(struct envelope *e, int online)
if (e->flags)
errx(1, "%016" PRIx64 ": unexpected flags 0x%04x", e->id,
e->flags);
-
+
if (status[0])
status[strlen(status) - 1] = '\0';
diff --git a/smtpd/smtpd.c b/smtpd/smtpd.c
index 2d5e7c7a..05020be8 100644
--- a/smtpd/smtpd.c
+++ b/smtpd/smtpd.c
@@ -174,7 +174,8 @@ parent_imsg(struct imsgev *iev, struct imsg *imsg)
c->cause == NULL)
break;
if (!n) {
- log_debug("debug: smptd: kill request: proc not found");
+ log_debug("debug: smptd: "
+ "kill request: proc not found");
return;
}
len = imsg->hdr.len - sizeof imsg->hdr;
@@ -198,18 +199,24 @@ parent_imsg(struct imsgev *iev, struct imsg *imsg)
log_verbose(*(int *)imsg->data);
/* forward to other processes */
- imsg_compose_event(env->sc_ievs[PROC_LKA], IMSG_CTL_VERBOSE,
- 0, 0, -1, imsg->data, sizeof(int));
- imsg_compose_event(env->sc_ievs[PROC_MDA], IMSG_CTL_VERBOSE,
- 0, 0, -1, imsg->data, sizeof(int));
- imsg_compose_event(env->sc_ievs[PROC_MFA], IMSG_CTL_VERBOSE,
- 0, 0, -1, imsg->data, sizeof(int));
- imsg_compose_event(env->sc_ievs[PROC_MTA], IMSG_CTL_VERBOSE,
- 0, 0, -1, imsg->data, sizeof(int));
- imsg_compose_event(env->sc_ievs[PROC_QUEUE], IMSG_CTL_VERBOSE,
- 0, 0, -1, imsg->data, sizeof(int));
- imsg_compose_event(env->sc_ievs[PROC_SMTP], IMSG_CTL_VERBOSE,
- 0, 0, -1, imsg->data, sizeof(int));
+ imsg_compose_event(env->sc_ievs[PROC_LKA],
+ IMSG_CTL_VERBOSE, 0, 0, -1, imsg->data,
+ sizeof(int));
+ imsg_compose_event(env->sc_ievs[PROC_MDA],
+ IMSG_CTL_VERBOSE, 0, 0, -1, imsg->data,
+ sizeof(int));
+ imsg_compose_event(env->sc_ievs[PROC_MFA],
+ IMSG_CTL_VERBOSE, 0, 0, -1, imsg->data,
+ sizeof(int));
+ imsg_compose_event(env->sc_ievs[PROC_MTA],
+ IMSG_CTL_VERBOSE, 0, 0, -1, imsg->data,
+ sizeof(int));
+ imsg_compose_event(env->sc_ievs[PROC_QUEUE],
+ IMSG_CTL_VERBOSE, 0, 0, -1, imsg->data,
+ sizeof(int));
+ imsg_compose_event(env->sc_ievs[PROC_SMTP],
+ IMSG_CTL_VERBOSE, 0, 0, -1, imsg->data,
+ sizeof(int));
return;
case IMSG_CTL_SHUTDOWN:
@@ -296,7 +303,8 @@ parent_send_config_listeners(void)
if ((l->fd = socket(l->ss.ss_family, SOCK_STREAM, 0)) == -1)
fatal("smtpd: socket");
opt = 1;
- if (setsockopt(l->fd, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt)) < 0)
+ if (setsockopt(l->fd, SOL_SOCKET, SO_REUSEADDR, &opt,
+ sizeof(opt)) < 0)
fatal("smtpd: setsockopt");
if (bind(l->fd, (struct sockaddr *)&l->ss, l->ss.ss_len) == -1)
fatal("smtpd: bind");
@@ -345,8 +353,8 @@ parent_send_config_ruleset(int proc)
struct table *t;
struct mapel *mapel;
struct filter *f;
-
- log_debug("debug: parent_send_config_ruleset: reloading rules and tables");
+
+ log_debug("debug: parent_send_config_ruleset: reloading");
imsg_compose_event(env->sc_ievs[proc], IMSG_CONF_START,
0, 0, -1, NULL, 0);
@@ -361,19 +369,22 @@ parent_send_config_ruleset(int proc)
imsg_compose_event(env->sc_ievs[proc], IMSG_CONF_TABLE,
0, 0, -1, t, sizeof(*t));
TAILQ_FOREACH(mapel, &t->t_contents, me_entry) {
- imsg_compose_event(env->sc_ievs[proc], IMSG_CONF_TABLE_CONTENT,
- 0, 0, -1, mapel, sizeof(*mapel));
+ imsg_compose_event(env->sc_ievs[proc],
+ IMSG_CONF_TABLE_CONTENT, 0, 0, -1, mapel,
+ sizeof(*mapel));
}
}
-
+
TAILQ_FOREACH(r, env->sc_rules, r_entry) {
imsg_compose_event(env->sc_ievs[proc], IMSG_CONF_RULE,
0, 0, -1, r, sizeof(*r));
- imsg_compose_event(env->sc_ievs[proc], IMSG_CONF_RULE_SOURCE,
- 0, 0, -1, &r->r_sources->t_name, sizeof(r->r_sources->t_name));
+ imsg_compose_event(env->sc_ievs[proc],
+ IMSG_CONF_RULE_SOURCE, 0, 0, -1,
+ &r->r_sources->t_name,
+ sizeof(r->r_sources->t_name));
}
}
-
+
imsg_compose_event(env->sc_ievs[proc], IMSG_CONF_END,
0, 0, -1, NULL, 0);
}
@@ -448,8 +459,10 @@ parent_sig_handler(int sig, short event, void *p)
case CHILD_ENQUEUE_OFFLINE:
if (fail)
- log_warnx("warn: smtpd: couldn't enqueue offline "
- "message %s; smtpctl %s", child->path, cause);
+ log_warnx("warn: smtpd: "
+ "couldn't enqueue offline "
+ "message %s; smtpctl %s",
+ child->path, cause);
else
unlink(child->path);
free(child->path);
@@ -516,7 +529,9 @@ main(int argc, char *argv[])
else if (strstr(optarg, "stat=") == optarg)
backend_stat = strchr(optarg, '=') + 1;
else
- log_warnx("warn: invalid backend specifier %s", optarg);
+ log_warnx("warn: "
+ "invalid backend specifier %s",
+ optarg);
break;
case 'd':
debug = 2;
@@ -524,7 +539,8 @@ main(int argc, char *argv[])
break;
case 'D':
if (cmdline_symset(optarg) < 0)
- log_warnx("warn: could not parse macro definition %s",
+ log_warnx("warn: "
+ "could not parse macro definition %s",
optarg);
break;
case 'n':
@@ -558,7 +574,8 @@ main(int argc, char *argv[])
else if (!strcmp(optarg, "all"))
verbose |= ~TRACE_VERBOSE;
else
- log_warnx("warn: unknown trace flag \"%s\"", optarg);
+ log_warnx("warn: unknown trace flag \"%s\"",
+ optarg);
break;
case 'P':
if (!strcmp(optarg, "smtp"))
@@ -613,12 +630,14 @@ main(int argc, char *argv[])
errx(1, "error in offline directory setup");
if (ckdir(PATH_SPOOL PATH_PURGE, 0700, env->sc_pw->pw_uid, 0, 1) == 0)
errx(1, "error in purge directory setup");
- if (ckdir(PATH_SPOOL PATH_TEMPORARY, 0700, env->sc_pw->pw_uid, 0, 1) == 0)
+ if (ckdir(PATH_SPOOL PATH_TEMPORARY, 0700, env->sc_pw->pw_uid, 0, 1)
+ == 0)
errx(1, "error in purge directory setup");
mvpurge(PATH_SPOOL PATH_INCOMING, PATH_SPOOL PATH_PURGE);
- if (ckdir(PATH_SPOOL PATH_INCOMING, 0700, env->sc_pw->pw_uid, 0, 1) == 0)
+ if (ckdir(PATH_SPOOL PATH_INCOMING, 0700, env->sc_pw->pw_uid, 0, 1)
+ == 0)
errx(1, "error in incoming directory setup");
env->sc_queue = queue_backend_lookup(backend_queue);
@@ -633,7 +652,7 @@ main(int argc, char *argv[])
errx(1, "could not find stat backend \"%s\"", backend_stat);
if (env->sc_queue_compress_algo) {
- env->sc_compress =
+ env->sc_compress =
compress_backend_lookup(env->sc_queue_compress_algo);
if (env->sc_compress == NULL)
errx(1, "could not find queue compress backend \"%s\"",
@@ -789,7 +808,8 @@ void
imsg_compose_event(struct imsgev *iev, uint16_t type, uint32_t peerid,
pid_t pid, int fd, void *data, uint16_t datalen)
{
- if (imsg_compose(&iev->ibuf, type, peerid, pid, fd, data, datalen) == -1)
+ if (imsg_compose(&iev->ibuf, type, peerid, pid, fd, data, datalen)
+ == -1)
err(1, "%s: imsg_compose(%s)",
proc_to_str(smtpd_process),
imsg_to_str(type));
@@ -817,7 +837,7 @@ purge_task(int fd, short ev, void *arg)
log_warn("warn: purge_task: opendir");
if (n > 2) {
- switch(purge_pid = fork()) {
+ switch (purge_pid = fork()) {
case -1:
log_warn("warn: purge_task: fork");
break;
@@ -856,7 +876,8 @@ forkmda(struct imsgev *iev, uint32_t id,
pid_t pid;
int n, allout, pipefd[2];
- log_debug("debug: forkmda: to \"%s\" as %s", deliver->to, deliver->user);
+ log_debug("debug: forkmda: to \"%s\" as %s",
+ deliver->to, deliver->user);
bzero(&u, sizeof (u));
ub = user_backend_lookup(USER_PWD);
@@ -976,12 +997,13 @@ offline_scan(int fd, short ev, void *arg)
errx(1, "smtpd: opendir");
}
- while((d = readdir(dir)) != NULL) {
+ while ((d = readdir(dir)) != NULL) {
if (d->d_type != DT_REG)
continue;
if (offline_add(d->d_name)) {
- log_warnx("warn: smtpd: could not add offline message %s", d->d_name);
+ log_warnx("warn: smtpd: "
+ "could not add offline message %s", d->d_name);
continue;
}
@@ -1049,7 +1071,6 @@ offline_enqueue(char *name)
sb.st_uid);
_exit(1);
}
-
if (! S_ISREG(sb.st_mode)) {
log_warnx("warn: smtpd: file %s (uid %d) not regular",
@@ -1130,7 +1151,7 @@ offline_done(void)
offline_running--;
- while(offline_running < OFFLINE_QUEUEMAX) {
+ while (offline_running < OFFLINE_QUEUEMAX) {
if ((q = TAILQ_FIRST(&offline_q)) == NULL)
break; /* all done */
TAILQ_REMOVE(&offline_q, q, entry);
@@ -1152,7 +1173,8 @@ parent_forward_open(char *username)
if (! ub->getbyname(&u, username))
return -1;
- if (! bsnprintf(pathname, sizeof (pathname), "%s/.forward", u.directory))
+ if (! bsnprintf(pathname, sizeof (pathname), "%s/.forward",
+ u.directory))
fatal("smtpd: parent_forward_open: snprintf");
fd = open(pathname, O_RDONLY);
@@ -1285,7 +1307,7 @@ imsg_to_str(int type)
{
static char buf[32];
- switch(type) {
+ switch (type) {
CASE(IMSG_NONE);
CASE(IMSG_CTL_OK);
CASE(IMSG_CTL_FAIL);
@@ -1370,7 +1392,7 @@ imsg_to_str(int type)
CASE(IMSG_DIGEST);
CASE(IMSG_STATS);
- CASE(IMSG_STATS_GET);
+ CASE(IMSG_STATS_GET);
default:
snprintf(buf, sizeof(buf), "IMSG_??? (%d)", type);
diff --git a/smtpd/smtpd.h b/smtpd/smtpd.h
index 682a87cc..8db7395c 100644
--- a/smtpd/smtpd.h
+++ b/smtpd/smtpd.h
@@ -32,7 +32,7 @@
#define MAX_NAME_SIZE 64
#define MAX_HOPS_COUNT 100
-#define DEFAULT_MAX_BODY_SIZE (35*1024*1024)
+#define DEFAULT_MAX_BODY_SIZE (35*1024*1024)
#define MAX_TAG_SIZE 32
@@ -48,7 +48,7 @@
#define SMTPD_QUEUE_MAXINTERVAL (4 * 60 * 60)
#define SMTPD_QUEUE_EXPIRY (4 * 24 * 60 * 60)
#define SMTPD_USER "_smtpd"
-#define SMTPD_FILTER_USER "_smtpmfa"
+#define SMTPD_FILTER_USER "_smtpmfa"
#define SMTPD_SOCKET "/var/run/smtpd.sock"
#define SMTPD_BANNER "220 %s ESMTP OpenSMTPD"
#define SMTPD_SESSION_TIMEOUT 300
@@ -76,12 +76,12 @@
/* max len of any smtp line */
#define SMTP_LINE_MAX MAX_LINE_SIZE
-#define F_STARTTLS 0x01
-#define F_SMTPS 0x02
-#define F_AUTH 0x04
-#define F_SSL (F_SMTPS|F_STARTTLS)
-#define F_STARTTLS_REQUIRE 0x08
-#define F_AUTH_REQUIRE 0x10
+#define F_STARTTLS 0x01
+#define F_SMTPS 0x02
+#define F_AUTH 0x04
+#define F_SSL (F_SMTPS|F_STARTTLS)
+#define F_STARTTLS_REQUIRE 0x08
+#define F_AUTH_REQUIRE 0x10
#define F_BACKUP 0x20 /* XXX - MUST BE SYNC-ED WITH ROUTE_BACKUP */
@@ -114,7 +114,7 @@ struct userinfo {
};
struct user_backend {
- int (*getbyname)(struct userinfo *, const char *);
+ int(*getbyname)(struct userinfo *, const char *);
};
@@ -158,10 +158,10 @@ enum imsg_type {
IMSG_MDA_DONE,
IMSG_MFA_CONNECT,
- IMSG_MFA_HELO,
- IMSG_MFA_MAIL,
- IMSG_MFA_RCPT,
- IMSG_MFA_DATALINE,
+ IMSG_MFA_HELO,
+ IMSG_MFA_MAIL,
+ IMSG_MFA_RCPT,
+ IMSG_MFA_DATALINE,
IMSG_MFA_QUIT,
IMSG_MFA_CLOSE,
IMSG_MFA_RSET,
@@ -271,7 +271,7 @@ enum table_service {
K_CREDENTIALS = 0x04,
K_NETADDR = 0x08,
K_USERINFO = 0x10,
-};
+};
struct mapel {
TAILQ_ENTRY(mapel) me_entry;
@@ -331,17 +331,17 @@ enum decision {
};
struct rule {
- TAILQ_ENTRY(rule) r_entry;
- enum decision r_decision;
- char r_tag[MAX_TAG_SIZE];
- int r_accept;
- struct table *r_sources;
- struct cond r_condition;
- enum action_type r_action;
+ TAILQ_ENTRY(rule) r_entry;
+ enum decision r_decision;
+ char r_tag[MAX_TAG_SIZE];
+ int r_accept;
+ struct table *r_sources;
+ struct cond r_condition;
+ enum action_type r_action;
union rule_dest {
- char buffer[EXPAND_BUFFER];
- struct relayhost relayhost;
- } r_value;
+ char buffer[EXPAND_BUFFER];
+ struct relayhost relayhost;
+ } r_value;
struct mailaddr *r_as;
objid_t r_atable;
@@ -395,23 +395,23 @@ enum expand_type {
};
struct expandnode {
- RB_ENTRY(expandnode) entry;
- TAILQ_ENTRY(expandnode) tq_entry;
- enum expand_type type;
- int sameuser;
- int alias;
- struct rule *rule;
- struct expandnode *parent;
- unsigned int depth;
+ RB_ENTRY(expandnode) entry;
+ TAILQ_ENTRY(expandnode) tq_entry;
+ enum expand_type type;
+ int sameuser;
+ int alias;
+ struct rule *rule;
+ struct expandnode *parent;
+ unsigned int depth;
union {
/*
* user field handles both expansion user and system user
* so we MUST make it large enough to fit a mailaddr user
*/
- char user[MAX_LOCALPART_SIZE];
- char buffer[EXPAND_BUFFER];
- struct mailaddr mailaddr;
- } u;
+ char user[MAX_LOCALPART_SIZE];
+ char buffer[EXPAND_BUFFER];
+ struct mailaddr mailaddr;
+ } u;
};
struct expand {
@@ -587,39 +587,38 @@ struct session {
struct smtpd {
- char sc_conffile[MAXPATHLEN];
- size_t sc_maxsize;
-
-#define SMTPD_OPT_VERBOSE 0x00000001
-#define SMTPD_OPT_NOACTION 0x00000002
- uint32_t sc_opts;
-#define SMTPD_CONFIGURING 0x00000001
-#define SMTPD_EXITING 0x00000002
-#define SMTPD_MDA_PAUSED 0x00000004
-#define SMTPD_MTA_PAUSED 0x00000008
-#define SMTPD_SMTP_PAUSED 0x00000010
-#define SMTPD_MDA_BUSY 0x00000020
-#define SMTPD_MTA_BUSY 0x00000040
-#define SMTPD_BOUNCE_BUSY 0x00000080
-#define SMTPD_SMTP_DISABLED 0x00000100
- uint32_t sc_flags;
- uint32_t sc_queue_flags;
-#define QUEUE_COMPRESS 0x00000001
- char *sc_queue_compress_algo;
- int sc_qexpire;
- struct event sc_ev;
- int *sc_pipes[PROC_COUNT]
- [PROC_COUNT];
- struct imsgev *sc_ievs[PROC_COUNT];
- int sc_instances[PROC_COUNT];
- int sc_instance;
- char *sc_title[PROC_COUNT];
- struct passwd *sc_pw;
- char sc_hostname[MAXHOSTNAMELEN];
- struct queue_backend *sc_queue;
- struct compress_backend *sc_compress;
- struct scheduler_backend *sc_scheduler;
- struct stat_backend *sc_stat;
+ char sc_conffile[MAXPATHLEN];
+ size_t sc_maxsize;
+
+#define SMTPD_OPT_VERBOSE 0x00000001
+#define SMTPD_OPT_NOACTION 0x00000002
+ uint32_t sc_opts;
+#define SMTPD_CONFIGURING 0x00000001
+#define SMTPD_EXITING 0x00000002
+#define SMTPD_MDA_PAUSED 0x00000004
+#define SMTPD_MTA_PAUSED 0x00000008
+#define SMTPD_SMTP_PAUSED 0x00000010
+#define SMTPD_MDA_BUSY 0x00000020
+#define SMTPD_MTA_BUSY 0x00000040
+#define SMTPD_BOUNCE_BUSY 0x00000080
+#define SMTPD_SMTP_DISABLED 0x00000100
+ uint32_t sc_flags;
+ uint32_t sc_queue_flags;
+#define QUEUE_COMPRESS 0x00000001
+ char *sc_queue_compress_algo;
+ int sc_qexpire;
+ struct event sc_ev;
+ int *sc_pipes[PROC_COUNT][PROC_COUNT];
+ struct imsgev *sc_ievs[PROC_COUNT];
+ int sc_instances[PROC_COUNT];
+ int sc_instance;
+ char *sc_title[PROC_COUNT];
+ struct passwd *sc_pw;
+ char sc_hostname[MAXHOSTNAMELEN];
+ struct queue_backend *sc_queue;
+ struct compress_backend *sc_compress;
+ struct scheduler_backend *sc_scheduler;
+ struct stat_backend *sc_stat;
time_t sc_uptime;
@@ -806,16 +805,16 @@ enum queue_op {
};
struct queue_backend {
- int (*init)(int);
- int (*message)(enum queue_op, uint32_t *);
- int (*envelope)(enum queue_op, uint64_t *, char *, size_t);
+ int(*init)(int);
+ int(*message)(enum queue_op, uint32_t *);
+ int(*envelope)(enum queue_op, uint64_t *, char *, size_t);
};
struct compress_backend {
- int (*compress_file)(FILE *, FILE *);
- int (*uncompress_file)(FILE *, FILE *);
- size_t (*compress_buffer)(char *, size_t, char *, size_t);
- size_t (*uncompress_buffer)(char *, size_t, char *, size_t);
+ int(*compress_file)(FILE *, FILE *);
+ int(*uncompress_file)(FILE *, FILE *);
+ size_t(*compress_buffer)(char *, size_t, char *, size_t);
+ size_t(*uncompress_buffer)(char *, size_t, char *, size_t);
};
/* auth structures */
@@ -825,14 +824,14 @@ enum auth_type {
};
struct auth_backend {
- int (*authenticate)(char *, char *);
+ int(*authenticate)(char *, char *);
};
/* delivery_backend */
struct delivery_backend {
- int allow_root;
- void (*open)(struct deliver *);
+ int allow_root;
+ void(*open)(struct deliver *);
};
struct evpstate {
@@ -1120,7 +1119,7 @@ void session_io(struct io *, int);
void session_pickup(struct session *, struct submit_status *);
void session_destroy(struct session *, const char *);
void session_respond(struct session *, char *, ...)
- __attribute__ ((format (printf, 2, 3)));
+ __attribute__((format (printf, 2, 3)));
SPLAY_PROTOTYPE(sessiontree, session, s_nodes, session_cmp);
@@ -1167,7 +1166,7 @@ void table_close(struct table *, void *);
int table_config_parser(struct table *, const char *);
int table_lookup(objid_t, const char *, enum table_service, void **);
int table_compare(objid_t, const char *, enum table_service,
- int (*)(const char *, const char *));
+ int(*)(const char *, const char *));
struct table *table_find(objid_t);
struct table *table_findbyname(const char *);
struct table *table_create(const char *, const char *, const char *);
@@ -1209,7 +1208,7 @@ struct arglist {
void addargs(arglist *, char *, ...)
__attribute__((format(printf, 2, 3)));
int bsnprintf(char *, size_t, const char *, ...)
- __attribute__ ((format (printf, 3, 4)));
+ __attribute__((format (printf, 3, 4)));
int mkdirs(char *, mode_t);
int safe_fclose(FILE *);
int hostname_match(const char *, const char *);
diff --git a/smtpd/ssl.c b/smtpd/ssl.c
index 3ecf57b4..e88cd923 100644
--- a/smtpd/ssl.c
+++ b/smtpd/ssl.c
@@ -142,7 +142,8 @@ ssl_load_certfile(const char *name, uint8_t flags)
if (strlcpy(key.ssl_name, name, sizeof(key.ssl_name))
>= sizeof(key.ssl_name)) {
- log_warnx("warn: ssl_load_certfile: certificate name truncated");
+ log_warnx("warn: ssl_load_certfile: "
+ "certificate name truncated");
return -1;
}
@@ -396,11 +397,11 @@ ssl_smtp_init(void *ssl_ctx)
log_debug("debug: session_start_ssl: switching to SSL");
if ((ssl = SSL_new(ssl_ctx)) == NULL)
- goto err;
- if (!SSL_set_ssl_method(ssl, SSLv23_server_method()))
- goto err;
+ goto err;
+ if (!SSL_set_ssl_method(ssl, SSLv23_server_method()))
+ goto err;
- return (void*)(ssl);
+ return (void*)(ssl);
err:
if (ssl != NULL)
@@ -444,24 +445,24 @@ get_dh1024(void)
0x02
};
- if ((dh = DH_new()) == NULL)
+ if ((dh = DH_new()) == NULL)
return NULL;
- dh->p = BN_bin2bn(dh1024_p, sizeof(dh1024_p), NULL);
- dh->g = BN_bin2bn(dh1024_g, sizeof(dh1024_g), NULL);
- if (dh->p == NULL || dh->g == NULL) {
+ dh->p = BN_bin2bn(dh1024_p, sizeof(dh1024_p), NULL);
+ dh->g = BN_bin2bn(dh1024_g, sizeof(dh1024_g), NULL);
+ if (dh->p == NULL || dh->g == NULL) {
DH_free(dh);
return NULL;
}
- return dh;
+ return dh;
}
DH *
get_dh_from_memory(char *params, size_t len)
{
BIO *mem;
- DH *dh;
+ DH *dh;
mem = BIO_new_mem_buf(params, len);
if (mem == NULL)
@@ -469,7 +470,7 @@ get_dh_from_memory(char *params, size_t len)
dh = PEM_read_bio_DHparams(mem, NULL, NULL, NULL);
if (dh == NULL)
goto err;
- if (dh->p == NULL || dh->g == NULL)
+ if (dh->p == NULL || dh->g == NULL)
goto err;
return dh;
diff --git a/smtpd/ssl_privsep.c b/smtpd/ssl_privsep.c
index d7601054..20c02cfe 100644
--- a/smtpd/ssl_privsep.c
+++ b/smtpd/ssl_privsep.c
@@ -83,15 +83,15 @@ int ssl_by_mem_ctrl(X509_LOOKUP *, int, const char *, long, char **);
X509_LOOKUP_METHOD x509_mem_lookup = {
"Load cert from memory",
- NULL, /* new */
- NULL, /* free */
- NULL, /* init */
- NULL, /* shutdown */
- ssl_by_mem_ctrl, /* ctrl */
- NULL, /* get_by_subject */
- NULL, /* get_by_issuer_serial */
- NULL, /* get_by_fingerprint */
- NULL, /* get_by_alias */
+ NULL, /* new */
+ NULL, /* free */
+ NULL, /* init */
+ NULL, /* shutdown */
+ ssl_by_mem_ctrl, /* ctrl */
+ NULL, /* get_by_subject */
+ NULL, /* get_by_issuer_serial */
+ NULL, /* get_by_fingerprint */
+ NULL, /* get_by_alias */
};
#define X509_L_ADD_MEM 3
@@ -131,18 +131,18 @@ ssl_ctx_load_verify_memory(SSL_CTX *ctx, char *buf, off_t len)
{
X509_LOOKUP *lu;
struct iovec iov;
-
+
if ((lu = X509_STORE_add_lookup(ctx->cert_store,
&x509_mem_lookup)) == NULL)
return (0);
-
+
iov.iov_base = buf;
iov.iov_len = len;
-
+
if (!ssl_by_mem_ctrl(lu, X509_L_ADD_MEM,
(const char *)&iov, X509_FILETYPE_PEM, NULL))
return (0);
-
+
return (1);
}
@@ -155,35 +155,35 @@ ssl_by_mem_ctrl(X509_LOOKUP *lu, int cmd, const char *buf,
X509_INFO *itmp;
BIO *in = NULL;
int i, count = 0;
-
+
iov = (const struct iovec *)buf;
-
+
if (type != X509_FILETYPE_PEM)
goto done;
-
+
if ((in = BIO_new_mem_buf(iov->iov_base, iov->iov_len)) == NULL)
goto done;
-
+
if ((inf = PEM_X509_INFO_read_bio(in, NULL, NULL, NULL)) == NULL)
goto done;
-
- for(i = 0; i < sk_X509_INFO_num(inf); i++) {
+
+ for (i = 0; i < sk_X509_INFO_num(inf); i++) {
itmp = sk_X509_INFO_value(inf, i);
- if(itmp->x509) {
+ if (itmp->x509) {
X509_STORE_add_cert(lu->store_ctx, itmp->x509);
count++;
}
- if(itmp->crl) {
+ if (itmp->crl) {
X509_STORE_add_crl(lu->store_ctx, itmp->crl);
count++;
}
}
sk_X509_INFO_pop_free(inf, X509_INFO_free);
-
+
done:
if (!count)
X509err(X509_F_X509_LOAD_CERT_CRL_FILE,ERR_R_PEM_LIB);
-
+
if (in != NULL)
BIO_free(in);
return (count);
diff --git a/smtpd/stat_backend.c b/smtpd/stat_backend.c
index 4aaa5aff..8a935d70 100644
--- a/smtpd/stat_backend.c
+++ b/smtpd/stat_backend.c
@@ -55,7 +55,8 @@ stat_increment(const char *name, size_t count)
s = buf + sizeof *value;
if ((len = strlcpy(s, name, STAT_KEY_SIZE)) >= STAT_KEY_SIZE) {
len = STAT_KEY_SIZE - 1;
- log_warn("warn: stat_increment: truncated key '%s', ignored", name);
+ log_warn("warn: stat_increment: truncated key '%s', ignored",
+ name);
}
imsg_compose_event(env->sc_ievs[PROC_CONTROL],
@@ -74,7 +75,8 @@ stat_decrement(const char *name, size_t count)
s = buf + sizeof *value;
if ((len = strlcpy(s, name, STAT_KEY_SIZE)) >= STAT_KEY_SIZE) {
len = STAT_KEY_SIZE - 1;
- log_warn("warn: stat_increment: truncated key '%s', ignored", name);
+ log_warn("warn: stat_increment: truncated key '%s', ignored",
+ name);
}
imsg_compose_event(env->sc_ievs[PROC_CONTROL],
@@ -91,7 +93,8 @@ stat_set(const char *name, const struct stat_value *value)
s = buf + sizeof *value;
if ((len = strlcpy(s, name, STAT_KEY_SIZE)) >= STAT_KEY_SIZE) {
len = STAT_KEY_SIZE - 1;
- log_warn("warn: stat_increment: truncated key '%s', ignored", name);
+ log_warn("warn: stat_increment: truncated key '%s', ignored",
+ name);
}
imsg_compose_event(env->sc_ievs[PROC_CONTROL],
diff --git a/smtpd/table.c b/smtpd/table.c
index 5f01a147..902076d3 100644
--- a/smtpd/table.c
+++ b/smtpd/table.c
@@ -108,7 +108,7 @@ table_lookup(objid_t id, const char *key, enum table_service kind, void **retp)
int
table_compare(objid_t id, const char *key, enum table_service kind,
- int (*func)(const char *, const char *))
+ int(*func)(const char *, const char *))
{
void *hdl = NULL;
struct table *table;
@@ -134,7 +134,7 @@ table_compare(objid_t id, const char *key, enum table_service kind,
backend->close(hdl);
errno = 0;
- return ret;
+ return ret;
}
struct table *
@@ -154,12 +154,14 @@ table_create(const char *backend, const char *name, const char *config)
t->t_backend = tb;
if (strlcpy(t->t_src, backend, sizeof t->t_src) >= sizeof t->t_src)
- errx(1, "table_create: table backend \"%s\" too large", t->t_src);
+ errx(1, "table_create: table backend \"%s\" too large",
+ t->t_src);
if (config && *config) {
if (strlcpy(t->t_config, config, sizeof t->t_config)
>= sizeof t->t_config)
- errx(1, "table_create: table config \"%s\" too large", t->t_config);
+ errx(1, "table_create: table config \"%s\" too large",
+ t->t_config);
}
if (strcmp(t->t_src, "static") != 0)
@@ -228,7 +230,7 @@ void
table_delete(struct table *t, const char *key)
{
struct mapel *me;
-
+
if (strcmp(t->t_src, "static") != 0)
errx(1, "map_add: cannot delete from map");
@@ -283,7 +285,7 @@ table_config_parser(struct table *t, const char *config)
size_t ret = 0;
if (strcmp("static", t->t_src) != 0) {
- log_warn("table_config_parser: configuration table must be static");
+ log_warn("table_config_parser: config table must be static");
return 0;
}
@@ -301,12 +303,12 @@ table_config_parser(struct table *t, const char *config)
lbuf[flen] = '\0';
buf = lbuf;
}
-
+
keyp = buf;
while (isspace((int)*keyp))
++keyp;
if (*keyp == '\0' || *keyp == '#')
- continue;
+ continue;
valp = keyp;
strsep(&valp, " \t:");
if (valp) {
diff --git a/smtpd/table_db.c b/smtpd/table_db.c
index 44822401..e53298f1 100644
--- a/smtpd/table_db.c
+++ b/smtpd/table_db.c
@@ -42,7 +42,7 @@ static int table_db_update(struct table *, const char *);
static void *table_db_open(struct table *);
static int table_db_lookup(void *, const char *, enum table_service, void **);
static int table_db_compare(void *, const char *, enum table_service,
- int (*)(const char *, const char *));
+ int(*)(const char *, const char *));
static void table_db_close(void *);
static char *table_db_get_entry(void *, const char *, size_t *);
@@ -128,7 +128,7 @@ table_db_lookup(void *hdl, const char *key, enum table_service kind, void **retp
static int
table_db_compare(void *hdl, const char *key, enum table_service kind,
- int (*func)(const char *, const char *))
+ int(*func)(const char *, const char *))
{
int ret = 0;
DB *db = hdl;
@@ -217,8 +217,8 @@ err:
static int
table_db_alias(const char *key, char *line, size_t len, void **retp)
{
- char *subrcpt;
- char *endp;
+ char *subrcpt;
+ char *endp;
struct table_alias *table_alias = NULL;
struct expandnode xn;
@@ -255,8 +255,8 @@ error:
static int
table_db_virtual(const char *key, char *line, size_t len, void **retp)
{
- char *subrcpt;
- char *endp;
+ char *subrcpt;
+ char *endp;
struct table_virtual *table_virtual = NULL;
struct expandnode xn;
diff --git a/smtpd/table_static.c b/smtpd/table_static.c
index 26f80c22..92445c7f 100644
--- a/smtpd/table_static.c
+++ b/smtpd/table_static.c
@@ -41,7 +41,7 @@ static int table_static_update(struct table *, const char *);
static void *table_static_open(struct table *);
static int table_static_lookup(void *, const char *, enum table_service, void **);
static int table_static_compare(void *, const char *, enum table_service,
- int (*)(const char *, const char *));
+ int(*)(const char *, const char *));
static void table_static_close(void *);
static int table_static_credentials(const char *, char *, size_t, void **);
@@ -66,7 +66,7 @@ table_static_config(struct table *table, const char *config)
if (config == NULL)
return 1;
- return table_config_parser(table, config);
+ return table_config_parser(table, config);
}
static int
@@ -174,7 +174,7 @@ table_static_lookup(void *hdl, const char *key, enum table_service kind, void **
static int
table_static_compare(void *hdl, const char *key, enum table_service kind,
- int (*func)(const char *, const char *))
+ int(*func)(const char *, const char *))
{
struct table *m = hdl;
struct mapel *me = NULL;
@@ -235,7 +235,7 @@ static int
table_static_alias(const char *key, char *line, size_t len, void **retp)
{
char *subrcpt;
- char *endp;
+ char *endp;
struct table_alias *table_alias = NULL;
struct expandnode xn;
@@ -273,7 +273,7 @@ static int
table_static_virtual(const char *key, char *line, size_t len, void **retp)
{
char *subrcpt;
- char *endp;
+ char *endp;
struct table_virtual *table_virtual = NULL;
struct expandnode xn;
@@ -320,8 +320,9 @@ table_static_netaddr(const char *key, char *line, size_t len, void **retp)
{
struct table_netaddr *table_netaddr = NULL;
- table_netaddr = xcalloc(1, sizeof *table_netaddr, "table_static_netaddr");
-
+ table_netaddr = xcalloc(1, sizeof *table_netaddr,
+ "table_static_netaddr");
+
if (! text_to_netaddr(&table_netaddr->netaddr, line))
goto error;
diff --git a/smtpd/user.c b/smtpd/user.c
new file mode 100644
index 00000000..12aad9d6
--- /dev/null
+++ b/smtpd/user.c
@@ -0,0 +1,46 @@
+/* $OpenBSD: user.c,v 1.1 2011/12/13 22:04:35 eric Exp $ */
+
+/*
+ * Copyright (c) 2011 Gilles Chehade <gilles@openbsd.org>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#include <sys/types.h>
+#include <sys/queue.h>
+#include <sys/tree.h>
+#include <sys/param.h>
+#include <sys/socket.h>
+
+#include <event.h>
+#include <imsg.h>
+#include <stdio.h>
+
+#include "smtpd.h"
+#include "log.h"
+
+extern struct user_backend user_backend_pwd;
+
+struct user_backend *
+user_backend_lookup(enum user_type type)
+{
+ switch (type) {
+ case USER_PWD:
+ return &user_backend_pwd;
+
+ default:
+ fatalx("invalid user backend");
+ }
+
+ return (NULL);
+}
diff --git a/smtpd/user_pwd.c b/smtpd/user_pwd.c
new file mode 100644
index 00000000..341a897b
--- /dev/null
+++ b/smtpd/user_pwd.c
@@ -0,0 +1,76 @@
+/* $OpenBSD: user_pwd.c,v 1.3 2012/09/25 17:38:55 eric Exp $ */
+
+/*
+ * Copyright (c) 2011 Gilles Chehade <gilles@openbsd.org>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#include <sys/types.h>
+#include <sys/queue.h>
+#include <sys/tree.h>
+#include <sys/param.h>
+#include <sys/socket.h>
+#include <sys/stat.h>
+
+#include <event.h>
+#include <imsg.h>
+#include <libgen.h>
+#include <pwd.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+#include "smtpd.h"
+#include "log.h"
+
+static int user_getpw_ret(struct userinfo *, struct passwd *); /* helper */
+static int user_getpwnam(struct userinfo *, const char *);
+
+struct user_backend user_backend_pwd = {
+ user_getpwnam
+};
+
+static int
+user_getpw_ret(struct userinfo *u, struct passwd *pw)
+{
+ if (strlcpy(u->username, pw->pw_name, sizeof (u->username))
+ >= sizeof (u->username))
+ return 0;
+
+ if (strlcpy(u->password, pw->pw_passwd, sizeof (u->password))
+ >= sizeof (u->password))
+ return 0;
+
+ if (strlcpy(u->directory, pw->pw_dir, sizeof (u->directory))
+ >= sizeof (u->directory))
+ return 0;
+
+ u->uid = pw->pw_uid;
+ u->gid = pw->pw_gid;
+
+ return 1;
+}
+
+static int
+user_getpwnam(struct userinfo *u, const char *username)
+{
+ struct passwd *pw;
+
+ pw = getpwnam(username);
+ if (pw == NULL)
+ return 0;
+
+ return user_getpw_ret(u, pw);
+}
diff --git a/smtpd/util.c b/smtpd/util.c
index a4670aac..f4528286 100644
--- a/smtpd/util.c
+++ b/smtpd/util.c
@@ -349,7 +349,8 @@ mktmpfile(void)
char path[MAXPATHLEN];
int fd;
- if (! bsnprintf(path, sizeof(path), "%s/smtpd.XXXXXXXXXX", PATH_TEMPORARY))
+ if (! bsnprintf(path, sizeof(path), "%s/smtpd.XXXXXXXXXX",
+ PATH_TEMPORARY))
err(1, "snprintf");
if ((fd = mkstemp(path)) == -1)
@@ -413,20 +414,20 @@ valid_localpart(const char *s)
*/
#define IS_ATEXT(c) (isalnum((int)(c)) || strchr("%+-=_", (c)))
nextatom:
- if (! IS_ATEXT(*s) || *s == '\0')
- return 0;
- while (*(++s) != '\0') {
- if (*s == '.')
- break;
- if (IS_ATEXT(*s))
- continue;
- return 0;
- }
- if (*s == '.') {
- s++;
- goto nextatom;
- }
- return 1;
+ if (! IS_ATEXT(*s) || *s == '\0')
+ return 0;
+ while (*(++s) != '\0') {
+ if (*s == '.')
+ break;
+ if (IS_ATEXT(*s))
+ continue;
+ return 0;
+ }
+ if (*s == '.') {
+ s++;
+ goto nextatom;
+ }
+ return 1;
}
int
@@ -454,22 +455,22 @@ valid_domainpart(const char *s)
}
nextsub:
- if (!isalnum((int)*s))
- return 0;
- while (*(++s) != '\0') {
- if (*s == '.')
- break;
- if (isalnum((int)*s) || *s == '-')
- continue;
- return 0;
- }
- if (s[-1] == '-')
- return 0;
- if (*s == '.') {
+ if (!isalnum((int)*s))
+ return 0;
+ while (*(++s) != '\0') {
+ if (*s == '.')
+ break;
+ if (isalnum((int)*s) || *s == '-')
+ continue;
+ return 0;
+ }
+ if (s[-1] == '-')
+ return 0;
+ if (*s == '.') {
s++;
- goto nextsub;
+ goto nextsub;
}
- return 1;
+ return 1;
}
int
@@ -515,25 +516,23 @@ ss_to_text(const struct sockaddr_storage *ss)
buf[0] = '\0';
p = buf;
- if (ss->ss_family == AF_LOCAL) {
+ if (ss->ss_family == AF_LOCAL)
strlcpy(buf, "local", sizeof buf);
- }
else if (ss->ss_family == AF_INET) {
in_addr_t addr;
-
+
addr = ((const struct sockaddr_in *)ss)->sin_addr.s_addr;
- addr = ntohl(addr);
- bsnprintf(p, NI_MAXHOST,
- "%d.%d.%d.%d",
- (addr >> 24) & 0xff,
- (addr >> 16) & 0xff,
- (addr >> 8) & 0xff,
- addr & 0xff);
+ addr = ntohl(addr);
+ bsnprintf(p, NI_MAXHOST, "%d.%d.%d.%d",
+ (addr >> 24) & 0xff, (addr >> 16) & 0xff,
+ (addr >> 8) & 0xff,
+ addr & 0xff);
}
else if (ss->ss_family == AF_INET6) {
- const struct sockaddr_in6 *in6 = (const struct sockaddr_in6 *)ss;
+ const struct sockaddr_in6 *in6;
const struct in6_addr *in6_addr;
+ in6 = (const struct sockaddr_in6 *)ss;
strlcpy(buf, "IPv6:", sizeof(buf));
p = buf + 5;
in6_addr = &in6->sin6_addr;
@@ -547,17 +546,18 @@ char *
time_to_text(time_t when)
{
struct tm *lt;
- static char buf[40];
+ static char buf[40];
char *day[] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"};
char *month[] = {"Jan","Feb","Mar","Apr","May","Jun",
- "Jul","Aug","Sep","Oct","Nov","Dec"};
+ "Jul","Aug","Sep","Oct","Nov","Dec"};
lt = localtime(&when);
- if (lt == NULL || when == 0)
+ if (lt == NULL || when == 0)
fatalx("time_to_text: localtime");
/* We do not use strftime because it is subject to locale substitution*/
- if (! bsnprintf(buf, sizeof(buf), "%s, %d %s %d %02d:%02d:%02d %c%02d%02d (%s)",
+ if (! bsnprintf(buf, sizeof(buf),
+ "%s, %d %s %d %02d:%02d:%02d %c%02d%02d (%s)",
day[lt->tm_wday], lt->tm_mday, month[lt->tm_mon],
lt->tm_year + 1900,
lt->tm_hour, lt->tm_min, lt->tm_sec,
@@ -566,7 +566,7 @@ time_to_text(time_t when)
abs((int)lt->tm_gmtoff % 3600) / 60,
lt->tm_zone))
fatalx("time_to_text: bsnprintf");
-
+
return buf;
}
@@ -694,7 +694,7 @@ text_to_relayhost(struct relayhost *relay, const char *s)
{ "smtp://", 0 },
{ "smtps://", F_SMTPS },
{ "tls://", F_STARTTLS },
- { "smtps+auth://", F_SMTPS|F_AUTH },
+ { "smtps+auth://", F_SMTPS|F_AUTH },
{ "tls+auth://", F_STARTTLS|F_AUTH },
{ "ssl://", F_SMTPS|F_STARTTLS },
{ "ssl+auth://", F_SMTPS|F_STARTTLS|F_AUTH }
@@ -706,7 +706,8 @@ text_to_relayhost(struct relayhost *relay, const char *s)
int len;
for (i = 0; i < nitems(schemas); ++i)
- if (strncasecmp(schemas[i].name, s, strlen(schemas[i].name)) == 0)
+ if (strncasecmp(schemas[i].name, s,
+ strlen(schemas[i].name)) == 0)
break;
if (i == nitems(schemas)) {
@@ -729,7 +730,7 @@ text_to_relayhost(struct relayhost *relay, const char *s)
return 0;
len = sep - p;
}
- else
+ else
len = strlen(p);
if (strlcpy(relay->hostname, p, sizeof (relay->hostname))
@@ -856,7 +857,8 @@ sa_set_port(struct sockaddr *sa, int port)
struct addrinfo hints, *res;
int error;
- error = getnameinfo(sa, sa->sa_len, hbuf, sizeof(hbuf), NULL, 0, NI_NUMERICHOST);
+ error = getnameinfo(sa, sa->sa_len, hbuf, sizeof(hbuf), NULL, 0,
+ NI_NUMERICHOST);
if (error)
fatalx("sa_set_port: getnameinfo failed");
@@ -1087,7 +1089,8 @@ log_envelope(const struct envelope *evp, const char *extra, const char *prefix,
if (extra == NULL)
extra = "";
- log_info("%s: %s for %016" PRIx64 ": from=<%s@%s>, to=<%s@%s>, %s%sdelay=%s, %sstat=%s",
+ log_info("%s: %s for %016" PRIx64 ": from=<%s@%s>, to=<%s@%s>, "
+ "%s%sdelay=%s, %sstat=%s",
evp->type == D_MDA ? "delivery" : "relay",
prefix,
evp->id, evp->sender.user, evp->sender.domain,
diff --git a/smtpd/waitq.c b/smtpd/waitq.c
index da6519a6..eefc990c 100644
--- a/smtpd/waitq.c
+++ b/smtpd/waitq.c
@@ -91,7 +91,7 @@ waitq_run(void *tag, void *result)
wq = SPLAY_FIND(waitqtree, &waitqs, &key);
SPLAY_REMOVE(waitqtree, &waitqs, wq);
- while((w = TAILQ_FIRST(&wq->waiters))) {
+ while ((w = TAILQ_FIRST(&wq->waiters))) {
TAILQ_REMOVE(&wq->waiters, w, entry);
w->cb(tag, w->arg, result);
free(w);