summaryrefslogtreecommitdiff
path: root/usr.sbin/smtpd/smtpd.h
AgeCommit message (Collapse)Author
2016-08-31introduce "authenticated" parameter so rules may apply to authenticatedGilles Chehade
sessions specifically ok eric@, sunil@, jung@
2016-08-31allow overriding the subaddressing delimiter with subaddressing-delimiterGilles Chehade
keyword, the default is still + ok eric@, sunil@
2016-07-24bump versionGilles Chehade
ok deraadt@
2016-05-28Implement the fork+exec pattern in smtpd.Eric Faurot
The parent process forks child processes and re-exec each of them with an additional "-x <proc>" argument. During the early setup phase, the parent process sends ipc socket pairs to interconnect the child processes as needed, and it passes the queue encryption key to the queue if necessary. When this is done, all processes have their environment set as in the fork-only case, and they can start doing their work as before. ok gilles@ jung@
2016-03-25Nuke session_socket_blockmode() and session_socket_linger(). UseKenneth R Westerback
the identical io_set_blocking() and io_set_linger(). Since both are always called to turn off blocking or lingering, nuke the parameter and associated enum in favour of "just doing the right thing". While passing remove the unneeded last parameter to the remaining fcntl(F_GETFL). Finally, rename the functions to io_set_nonblocking() and io_set_nolinger() for clarity. No functional change. Started with a sweep of fcntl() usage inspired by guenther@. ok gilles@
2016-02-21bump versionGilles Chehade
2016-02-13handle enqueuer socket as a regular listener that can be configured withGilles Chehade
"listen on socket". this simplifies a bit of code, removes some special cases and will allow attaching filters & masking source just as on lo0. diff from Peter Bisroev <peter@int19h.net> ok gilles@, jung@
2016-02-05remove no longer relevant ifndefJoerg Jung
suggested by gilles
2016-01-27Check imsg data length before use.Sunil Nimmagadda
Ok jung@ gilles@ eric@
2016-01-04switch to /usr/local/libexec when looking for -extras and drop loop iteratingJoerg Jung
paths this effectively reverts table.c r1.21 which was mainly introduced for a smooth transition in -current ok gilles
2015-12-13smtpd is no longer 5.4.6Gilles Chehade
2015-12-13refactor a bit to move the SNI handling away from smtp_session into smtpGilles Chehade
ok sunil@, jung@
2015-12-12allow overriding the default cipher-suiteGilles Chehade
ok jung@, sunil@, millert@
2015-12-12add bits so local enqueuer can run filters when they are enabledGilles Chehade
2015-12-12expose foreground_log in smtpd.h so filters can inherit itGilles Chehade
2015-12-12sender and recipient are mail addresses, not pathnames, use proper defineGilles Chehade
2015-12-12use smtpd specific define for table name sizesGilles Chehade
2015-12-12pki name and ca name must match a hostname, use HOST_NAME_MAXGilles Chehade
2015-12-12do not limit usernames to LOGIN_NAME_MAX in places where "virtual users"Gilles Chehade
may be used, in such places an email address may be specified.
2015-12-12rename an smtpd specific defineGilles Chehade
2015-12-12prepare some imsg structures for upcoming diff to support wildcard caGilles Chehade
2015-12-11rename field member + whitespacesGilles Chehade
2015-12-11add filter.c prototypes, unused for nowGilles Chehade
2015-12-11prepare smtpd.h for masqueradingGilles Chehade
2015-12-07Merge makemap(8) into smtpctl(8).Sunil Nimmagadda
Ok gilles@, jung@
2015-12-03introduce limit session keyword replacing fixed valuesJoerg Jung
original diff from Renaud Allard ok gilles
2015-12-01add received-auth parameter to listener to identify authenticated sessionsGilles Chehade
in locally appended Received header when enabled ok millert@, jung@
2015-12-01add IMSG_SMTP_CHECK_SENDER in preparation for another diffGilles Chehade
2015-12-01prepare the ground for the CA certificate handling refactor, this commitGilles Chehade
adds the parse.y bit + structures & members needed but does not make use of it yet
2015-11-30add ca_name field to some structures in preparation for a largerGilles Chehade
diff to refactor handling of CA certificates
2015-11-30when looking up tables, start in /usr/local/libexec before /usr/libexec, soGilles Chehade
ports/packages can be installed in the proper place ok jung@
2015-11-30mechanical rename of some IMSG constantsGilles Chehade
ok sunil@, ok jung@
2015-11-30While delivering to lmtp or mda, accept optional "as user" parameterSunil Nimmagadda
whose privileges would be used instead of the default. Ok gilles@ jung@
2015-11-23allow table API to lookup for mailaddr mappingsGilles Chehade
ok sunil@, ok jung@
2015-11-05Implement smtpctl uncorrupt <msgid>Sunil Nimmagadda
"uncorrupt" moves envelopes from corrupt bucket back to the queue for further discovery by the daemon. After correcting the corrupt envelopes, admin could now... # smtpctl uncorrupt msgid # smtpctl discover msgid to schedule the messages. Ok gilles@
2015-10-29Implement smtpctl discover <evpid|msgid>.Sunil Nimmagadda
discover subcommand schedules envelopes manually moved to the queue. It triggers a queue walk searching for envelopes with the given id, schedules them and informs the user number of envelopes scheduled. Admins no longer would need to restart the daemon to discover manually moved messages. Ok gilles@
2015-10-28masquerade and senders map require being able to lookup mailaddr structuresGilles Chehade
in tables, prepare for such features by bringing the helpers + smtpd.h part ok millert@
2015-10-28aliases support resolving to maildir:/pathGilles Chehade
ok sunil@ millert@
2015-10-27aliases_virtual_check() has been unneeded for a whileGilles Chehade
ok jung@, ok sunil@, ok millert@
2015-10-21Only enable SSL_VERIFY_PEER when the verify option is set on a listener.Joel Sing
Always enabling SSL_VERIFY_PEER unnecessarily increases the number of messages/bytes in the TLS handshake and increases our attack surface, since we request and then process client certificates. ok gilles@
2015-10-17mailaddr_match() allows comparing two struct mailaddr taking into accountGilles Chehade
catchall and +-tags ok millert@ and jung@ for util.c
2015-10-14smtpd in tree is no longer neither 5.4.4, nor 5.4.5, bump SMTPD_VERSIONGilles Chehade
2015-10-09turn our local enqueuer setgid _smtpq and restrict access to offline queue,Gilles Chehade
the enqueuer will revoke group and regain real gid right after mkstemp. this would have prevented the symlink/hardlink attacks against offline, and it will avoid having to deal with new ways users can mess with it. ok eric@, ok millert@
2015-09-07when bypassing the enqueuer, insert Message-Id header if none was found andGilles Chehade
the client has connected from a loopback interface. ok millert@ eric@
2015-04-19Incorrect logic in smtpd(8) can lead to unexpected client disconnect, invalidGilles Chehade
certificate in SNI negotiation or server crash. spotted by Edwin Torok
2015-01-20use <limits.h> comprehensively. For now try to push <> includes toTheo de Raadt
each .c file, and out of the .h files. To avoid overinclude. ok gilles, in principle. If this has been done right, -portable should become easier to maintain.
2014-12-24bump versionEric Faurot
2014-12-14these are no longer used, removeGilles Chehade
2014-11-16Convert the logic in yyerror(). Instead of creating a temporaryAlexander Bluhm
format string, create a temporary message. OK doug@
2014-10-15when From, To and Cc headers present users without domains, append theGilles Chehade
listener hostname to avoid smtpd relaying a header that will be rewritten by the destination MX. ok eric@