summaryrefslogtreecommitdiff
path: root/usr.sbin/smtpd
AgeCommit message (Collapse)Author
2017-02-14fix man page, diff from jmc@Gilles Chehade
2017-02-14add standalone maildir MDA (work in progress) which will soon obsolete theGilles Chehade
builtin delivery_maildir backend, + makefiles, not linked to build yet ok eric@, sunil@
2017-02-14add standalone mda for file delivery which will later obsoleteGilles Chehade
builtin delivery_file + set of makefiles, not linked to build ok sunil@, eric@
2017-02-14prepare Makefiles but don't link to the build yetGilles Chehade
2017-02-14add new implementation of a standalone LMTP client which will deprecate theGilles Chehade
builtin delivery_lmtp.c ok sunil@, jung@
2017-02-13fix incoming tls-require regression, introduced with last parse.y cleanupGilles Chehade
causing the flag not to be propagated down to the listener ok eric@
2017-02-13allow negation of authenticated keyword:Gilles Chehade
accept ! authenticated [...] ok sunil@, jung@
2017-02-06Bump bcrypt version to $2b$ and increase number of rounds in two examples.Theo Buehler
2017-02-04Cast char to unsigned char for isspace()Philip Guenther
ok gilles@
2017-02-03Stop assuming that in_{addr,port}_t are typedefed in <sys/types.h> andPhilip Guenther
instead pull in <netinet/in.h> or <arpa/inet.h> when those are needed. ok florian@ beck@ millert@
2017-01-09Stop accessing verbose and debug variables from log.c directly.Reyk Floeter
This replaces log_verbose() and "extern int verbose" with the two functions log_setverbose() and log_getverbose(). Pointed out by benno@ OK krw@ eric@ gilles@ (OK gilles@ for the snmpd bits as well)
2017-01-09smtpd joins the 7 other daemons that share the same log.c file.Reyk Floeter
The only major difference was the "log_trace" concept that is only used by smtpd - move it from log.c into util.c and make it a local concept. This also needed to rename the global "verbose" variable to "tracing" in a few places. OK krw@ gilles@ eric@
2017-01-08delete three macro lines that have no effect, found with mandoc -TlintIngo Schwarze
2017-01-05Replace hand-rolled for(;;) emptying of 'symhead' TAILQ with moreKenneth R Westerback
modern TAILQ_FOREACH_SAFE(). No intentional functional change. ok millert@ bluhm@ gilles@
2017-01-05Replace symset()'s hand-rolled for(;;) traversal of 'symhead' TAILQKenneth R Westerback
with more modern TAILQ_FOREACH(). This what symget() was already doing. Add paranoia '{}' around body of symget()'s TAILQ_FOREACH(). No intentional functional change. ok bluhm@ otto@
2017-01-03document forward(5); from mkJason McIntyre
ok gilles
2016-12-03embed the struct iobuf instead of using a pointer.Eric Faurot
ok gilles@ sunil@
2016-11-30remove unused iobuf helpersEric Faurot
2016-11-30hide internal io flags and rename IO_PAUSE_{IN,OUT} to IO_{IN,OUT}Eric Faurot
ok gilles@ sunil@
2016-11-30make struct io opaque:Eric Faurot
- move struct io definition to ioev.c - replace io_init/io_clear with io_new/io_free - allocate an iobuf for each new io internally - use struct io pointer in the rest of the code - remove remaining uses of iobuf_* ok gilles@ sunil@
2016-11-25normalize iobuf before reading into it.Eric Faurot
fix regression introduced in recent cleanup ok gilles@
2016-11-25use a specific event to defer the mta connection instead of abusingEric Faurot
the io internal event. ok gilles@
2016-11-25assign an id to each rule in the ruleset, first step towards an MTA layerGilles Chehade
and scheduler simplification ok eric@
2016-11-24add an io_paused() function.Eric Faurot
ok gilles@
2016-11-24add an io_fileno() accessorEric Faurot
ok gilles@
2016-11-24add an io_ssl() accessorEric Faurot
ok gilles@
2016-11-24add an io_error() accessor to avoid dereferencing the io struct directly.Eric Faurot
ok gilles@
2016-11-24reset the io event when data is queued.Eric Faurot
remove all calls to io_reload() which are now unnecessary. ok gilles@ sunil@
2016-11-22Normalize the io input buffer internally when reinstalling the io event, soEric Faurot
the caller doesn't have to bother with this. ok gilles@ sunil@
2016-11-21replace calls to iobuf_*() functions with the corresponding io_*() wrappers.Eric Faurot
ok sunil@ gilles@
2016-11-20add dedicated functions to set fd and callback on a struct io.Eric Faurot
simplify io_init() prototype. ok sunil@ gilles@
2016-11-18fix regression introduced in previous commitEric Faurot
spotted by Heiko Zimmermann ok gilles@
2016-11-17Add io api functions for dealing with buffered data, as wrapper aroundEric Faurot
their iobuf counterparts. ok gilles@ sunil@
2016-11-17remove IO_TLSVERIFIED which is not a io event, and inline necessary codeEric Faurot
where the callback functions are called for this event. ok gilles@
2016-11-16pass the user pointer as parameter to the io callback instead of havingEric Faurot
the user dereference the io structure. ok millert@ gilles@
2016-10-19add -F to usage() too;Jason McIntyre
2016-10-19document -F which somehow escaped documentationGilles Chehade
2016-10-16Remove the "phase" state variable from the smtp session. Simply checkEric Faurot
"helo[0]" to see if an HELO/EHLO command was received (reset after starttls), and "tx" to know if we are in a transaction. ok gilles@ millert@
2016-10-13A logic issue in smtpd's header parsing can cause SMTP sessions to hang.Gilles Chehade
diff by eric@, ok me
2016-10-03fix smtp session logic bug that can lead to a server crash.Eric Faurot
2016-09-14remove useless #ifndefEric Faurot
ok sunil@
2016-09-12listener configuration cleanup:Eric Faurot
- have all listener creation functions take listen_opts as param, and call config_listener() when done, which adds the listener(s) to the current config list of listeners. - make the fallback chain between interface(), host_v4() host_v6() and host_dns() obvious when creating an if_listener. - fix a bug where the specified family was ignored if the listener is given as a hostname. ok gilles@ sunil@
2016-09-11remove documentation for filters, we'll document when it's readyGilles Chehade
2016-09-08Streamline the daemon shutdown sequence.Eric Faurot
Only the parent process handles SIGTERM and SIGINT. Upon receiving one of those, it closes all imsg sockets and waitpid() for the children. It fatal()s if one of the sockets is closed unexpectedly. Other processes exit() "normally" when one of the imsg sockets is closed. ok gilles@ sunil@
2016-09-06use closefrom() before reexec to make sure the new process only getsEric Faurot
the imsg socket. ok gilles@ sunil@
2016-09-04The smtpd processes are not expected to ever leave their event loop.Eric Faurot
So stop pretending that the *_shutdown() functions could ever be called in this context, and just fatal() if event_dispatch() returns. ok gilles@ sunil@ giovanni@
2016-09-04Remove the "smtpctl stop" command.Eric Faurot
The daemon is stopped with kill(1). ok gilles@
2016-09-03log IP/hostname for all SMTP operations.Giovanni Bechis
patch from Pavel Korovin, thanks ok gilles@
2016-09-03remove dead codeGilles Chehade
2016-09-03get rid of the type-checking system on internal messages.Eric Faurot
bump all imsg protocol versions since message format changed. ok gilles@ sunil@