From c2736fe4b58830f0ab987e4c1f0c1eadca6d7306 Mon Sep 17 00:00:00 2001 From: Sunil Nimmagadda Date: Wed, 27 Aug 2014 12:46:39 +0500 Subject: mtype, mpath are accessible to maildrop, simplify setup parameters. --- maildrop.c | 11 ++++++----- pop3d.c | 6 +++--- pop3d.h | 2 +- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/maildrop.c b/maildrop.c index 5562195..9d7b221 100644 --- a/maildrop.c +++ b/maildrop.c @@ -48,8 +48,7 @@ static size_t expand(char *, const char *, size_t, struct passwd *); static struct mdrop m; pid_t -maildrop_setup(uint32_t session_id, int pair[2], struct passwd *pw, - int type, const char *path) +maildrop_setup(uint32_t session_id, int pair[2], struct passwd *pw) { struct imsgev iev_session; struct event ev_sigint, ev_sigterm; @@ -59,6 +58,8 @@ maildrop_setup(uint32_t session_id, int pair[2], struct passwd *pw, pid_t pid; mode_t old_mask; int fd, flags, res = -1; + extern int mtype; + extern const char *mpath; if ((pid = fork()) != 0) return (pid); @@ -70,14 +71,14 @@ maildrop_setup(uint32_t session_id, int pair[2], struct passwd *pw, close(pair[0]); setproctitle("maildrop"); - if ((mb = m_backend_lookup(type)) == NULL) + if ((mb = m_backend_lookup(mtype)) == NULL) fatalx("maildrop: invalid backend"); - if (expand(buf, path, sizeof(buf), pw) >= sizeof(buf)) + if (expand(buf, mpath, sizeof(buf), pw) >= sizeof(buf)) fatalx("maildrop: path truncation"); flags = O_CREAT; - if (type == M_MBOX) + if (mtype == M_MBOX) flags |= O_RDWR; else flags |= O_RDONLY; diff --git a/pop3d.c b/pop3d.c index 26d048c..dd71cb9 100644 --- a/pop3d.c +++ b/pop3d.c @@ -47,8 +47,8 @@ static enum m_type m_type(const char *); static void usage(void); static struct imsgev iev_pop3e; -static const char *mpath; -static int mtype = M_MBOX; +const char *mpath; +int mtype = M_MBOX; int main(int argc, char *argv[]) @@ -172,7 +172,7 @@ authenticate(struct imsgev *iev, struct imsg *imsg) if ((pw = getpwnam(req->user)) == NULL) fatalx("authenticate: getpwnam"); - if (maildrop_setup(imsg->hdr.peerid, pair, pw, mtype, mpath) == -1) { + if (maildrop_setup(imsg->hdr.peerid, pair, pw) == -1) { logit(LOG_INFO, "%u: unable to fork maildrop process", imsg->hdr.peerid); pair[0] = -1; diff --git a/pop3d.h b/pop3d.h index 9d74961..09a07f6 100644 --- a/pop3d.h +++ b/pop3d.h @@ -156,7 +156,7 @@ int session_cmp(struct session *, struct session *); SPLAY_PROTOTYPE(session_tree, session, entry, session_cmp); /* maildrop.c */ -pid_t maildrop_setup(uint32_t, int [2], struct passwd *, int, const char *); +pid_t maildrop_setup(uint32_t, int [2], struct passwd *); /* util.c */ void set_nonblocking(int); -- cgit v1.2.3