summaryrefslogtreecommitdiff
path: root/usr.sbin/smtpd
AgeCommit message (Collapse)Author
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@
2016-09-03in lka specifically, use initgroups() so that users may share files betweenGilles Chehade
smtpd and another daemon by adding supplementary groups ok eric@
2016-09-03switch from EVP_{En,De}cryptInit & EVP_{En,De}cryptFinal to their _exGilles Chehade
counterparts, as suggested by bcook ok bcook@, sunil@, eric@
2016-09-02use imsg_read_nofd() implementation from bgpd.Eric Faurot
let the caller handle EAGAIN. ok gilles@
2016-09-02turn server preference for ciphers on by defaultGilles Chehade
ok jsing@
2016-09-01zap dead codeEric Faurot
ok gilles@ sunil@
2016-09-01Get rid of the custom msgbuf_write2() function adapted from libutil.Eric Faurot
It is not necessary now that the profiling code is gone. ok gilles@ sunil@
2016-09-01remove noop functionEric Faurot
ok sunil@
2016-09-01get rid of the imsg buffer usage profiling code.Eric Faurot
ok gilles@ jung@ sunil@
2016-08-31Remove dead code. queue_flow_control() has never been used and isEric Faurot
probably a bad idea. ok gilles@
2016-08-31no need for Xo/Xc here, plus minor tweak;Jason McIntyre
2016-08-31introduce "authenticated" parameter so rules may apply to authenticatedGilles Chehade
sessions specifically ok eric@, sunil@, jung@
2016-08-31word fix;Jason McIntyre
2016-08-31allow overriding the subaddressing delimiter with subaddressing-delimiterGilles Chehade
keyword, the default is still + ok eric@, sunil@
2016-08-30when configuring the daemon, assign values to the structure being conf-ed,Gilles Chehade
not the global structure. this worked by accident. ok eric@
2016-08-20Properly initialize the message parser. fix a regression where theEric Faurot
message headers would not be altered as expected. ok gilles@
2016-08-19make smtpd less verbose at startupEric Faurot
ok gilles@ sunil@ jung@ millert@
2016-07-29log ip addresses as well in authentication phaseGiovanni Bechis
ok gilles@
2016-07-24bump versionGilles Chehade
ok deraadt@
2016-07-22Create a smtp transaction context on a session only for the duration ofEric Faurot
that transaction. ok gilles@
2016-07-03add -r option to enqueuer as compat interface for mailxGilles Chehade
diff by Richard <richard@aaazen.com>
2016-07-02remove misleading comment. it's not true anymore.Eric Faurot
ok gilles@
2016-07-02datain counter is part of the transaction stateEric Faurot
ok gilles@
2016-07-02set the msgid on the transactionEric Faurot
ok gilles@ jung@
2016-07-01always refer to the helo string stored on the sessionEric Faurot
ok gilles@
2016-07-01flag the local socket listener as local.Eric Faurot
clarify check for local listeners. ok gilles@ millert@
2016-06-30update aliases documentation to reflect realityGilles Chehade
2016-06-29Explicitely enclose SMTP transactions between BEGIN and COMMIT/ROLLBACKEric Faurot
filter events. Bump filter API version. ok gilles@ jung@
2016-06-23move transaction-specific states from struct smtp_session to struct smtp_txEric Faurot
ok gilles@
2016-06-21do not allow whitespace in macro names, i.e. "this is" = "a variable".Sebastian Benoit
change this in all config parsers in our tree that support macros. problem reported by sven falempin. feedback from henning@, stsp@, deraadt@ ok florian@ mikeb@
2016-06-20with new fork+reexec, in case of failure in init of any child processGilles Chehade
causing it to exit, we could end up with a NULL deref in parent. free commit offered by eric@, ok gilles@
2016-06-17Also add missing date or message-id when listening on the submit portOtto Moerbeek
ok gilles@
2016-06-15properly reset the transaction when a filter rejects a message.Eric Faurot
ok gilles@
2016-06-15increase number of connections a local address is allowed to establishGilles Chehade
decrease the delay between transactions in the same session ok eric@
2016-06-15'Received' header violates RFC when receiving a TLS session, rework formatGilles Chehade
reported by vstakhov
2016-06-14Fix typo; OK jung@Todd C. Miller
2016-06-08quote space-containing values in smtpd logs or they become hard to parseGilles Chehade
diff by Pavel Korovin <p@tristero.se>, ok giovanni@
2016-06-07use io_set_nonblocking() instead of SOCK_NONBLOCKING to reduce delta withGilles Chehade
-portable
2016-06-06do not return on EAGAIN otherwise the event is never reloaded.Eric Faurot
ok gilles@
2016-06-05LMTP banner is handled by a getline() call so it cannot handle multilineGilles Chehade
banners, introduce lmtp_banner() which takes care of this. ok sunil@