Age | Commit message (Collapse) | Author |
|
remove yet another useless relay flag while there.
ok gilles@
|
|
ok gilles@
|
|
rather than a confusing set of flags.
ok gilles@
|
|
with the other MTA which assume a permfail unless the exit status is one
of a specific set. make smtpd honour the same exit statuses as postfix.
note that all errors that occur before the user mda is executed (fork, pipe
and related) are still considered tempfail, only errors coming from the mda
itself are handled as permfail.
this commit is a temporary solution as i believe the SIGCHLD handler is way
more complex than it should be and we'll simplify it after 6.4 is out.
ok eric@
|
|
- simpler interface not using callbacks
- no hard-coded line length
- avoid unnecessary string copy
ok gilles@
|
|
process. Use it for the reverse lookups required by smtp and mta.
Until now, DNS-related lookups were implemented using ad-hoc IMSGs
between the lka and other processes. It turns out to be confusing and
difficult to maintain/extend. So we want to replace this with a better
set of IMSGs matching the standard resolver interface.
ok gilles@
|
|
of parse.y, there's still work to be done but it's now able to run twice if
we want (we don't) without failing due to some global side-effect.
ok millert@
|
|
while at it allow smtp_session() to receive a pre-allocated struct io
ok millert@
diff contributed by Antoine Kaufmann
|
|
of functions creating, looking up or destroying tables.
this is a first step in cleaning up parse.y so it doesn't have side effects
outside of parse_config(), bringing nothing but making code cleaner.
ok millert@
|
|
ok gilles@
|
|
ok gilles@
|
|
ok gilles@
|
|
that will be executed (with recipient privileges) before calling the users'
mail delivery agent
ok eric@
|
|
- forkmda() creates the process that will be used for the delivery and does
the switching of privileges then calls mda_unpriv()
- mda_unpriv() runs with privileges of the recipient, it expands variables,
sets up environment and executes the mda
ok millert@ and eric@
|
|
Add "tls no-verify" relay option to disable it.
suggested and initial diff by semarie@.
ok gilles@
|
|
really help us with anything, propagate the change in codebase
ok millert@
|
|
ok gilles@
|
|
ok gilles@
|
|
ok millert@, eric@
|
|
|
|
ok eric@
|
|
will be made irrelevant when the new config comes up soon
ok eric@
|
|
ok gilles@
|
|
ok gilles@
|
|
confusing for people running the portable version
|
|
ok gilles@
|
|
experimental support for filters has been removed from the config
parser already, and we want to get rid of the remaining code.
ok gilles@
|
|
ok eric@
|
|
Ok millert@ gilles@
|
|
mechanical diff to simplify a bit the lka code and prepare for moving
variables outside of the lookup process into the chrooted mda process.
no functional change for now.
ok eric@
|
|
|
|
accept ! authenticated [...]
ok sunil@, jung@
|
|
instead pull in <netinet/in.h> or <arpa/inet.h> when those are needed.
ok florian@ beck@ millert@
|
|
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@
|
|
|
|
- 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@
|
|
and scheduler simplification
ok eric@
|
|
their iobuf counterparts.
ok gilles@ sunil@
|
|
The daemon is stopped with kill(1).
ok gilles@
|
|
bump all imsg protocol versions since message format changed.
ok gilles@ sunil@
|
|
ok sunil@
|
|
ok gilles@ jung@ sunil@
|
|
probably a bad idea.
ok gilles@
|
|
sessions specifically
ok eric@, sunil@, jung@
|
|
keyword, the default is still +
ok eric@, sunil@
|
|
ok deraadt@
|
|
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@
|
|
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@
|
|
|
|
"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@
|