Age | Commit message (Collapse) | Author |
|
|
|
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@
|
|
Ok millert@ gilles@ jung@
|
|
no binary change
ok millert
|
|
ok sunil gilles
|
|
catchall and +-tags
ok millert@ and jung@ for util.c
|
|
ok jung@, ok millert@
|
|
how broken other systems are.
ok guenther gilles
|
|
ok eric sunil
|
|
the permissions are even more restrictive than they should.
misc bug reported by qualys
|
|
|
|
ok millert@ gilles@
|
|
users creating hardlink to root-owned files and leaking first line.
reported by Qualys Security
|
|
missed the fact that res_hnok() will consider an empty string as valid.
|
|
ok eric@
|
|
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.
|
|
possible. Annotate <sys/param.h> lines with their current reasons. Switch
to PATH_MAX, NGROUPS_MAX, HOST_NAME_MAX+1, LOGIN_NAME_MAX, etc. Change
MIN() and MAX() to local definitions of MINIMUM() and MAXIMUM() where
sensible to avoid pulling in the pollution. These are the files confirmed
through binary verification.
ok guenther, millert, doug (helped with the verification protocol)
|
|
okay gilles@
|
|
|
|
|
|
|
|
|
|
|
|
bzero -> memset
|
|
ok gilles@
|
|
characters are replaced when expanding for local deliveries, unless the "raw"
modifier is specified.
|
|
|
|
|
|
|
|
- parse the whole input before trying to establish the connection
to the local socket: fixes timeout problems when reading the output
of a long running program.
- use sendmail(8)-like exit status.
|
|
|
|
|
|
|
|
ok gilles@
|
|
consistency and clarity. Remove useless and confusing extra byte in
a few arrays based on this define.
ok gilles@
|
|
- handle getsockname() error in smtp_connected()
- accept '/' as part of user-part, expand to ':' as done by qmail
- fix wrong check in mda leading to bogus Return-Path header
- fix aliases parsing when there's a white space between key and separator
- some cosmethic cleanup
|
|
some log message updates.
ok gilles@
|
|
* first bricks of ldap and sqlite support (not finished but both working)
* new table API to replace map API, all lookups are done through tables
* improved handling of temporary errors throughout the daemon
* improved scheduler and mta logic: connection reuse, optimizes batches
* improved queue: more tolerant to admin errors, new layout, less disk-IO
* improved memory usage under high load
* SSL certs/keys isolated to lookup process to avoid facing network
* VIRTUAL support improved, fully virtual setups possible now
* runtime tracing of processes through smtpctl trace
* ssl_privsep.c sync-ed with relayd
* ssl.c no longer contains smtpd specific interfaces
* smtpd-specific ssl bits moved to ssl_smtpd.c
* update mail address in copyright
FLUSH YOUR QUEUE. FLUSH YOUR QUEUE. FLUSH YOUR QUEUE. FLUSH YOUR QUEUE.
smtpd.conf(5) simplified, it will require adaptations
ok eric@
|
|
ok gilles@
|
|
* Log more events (especially client session) and use a better scheme
for that: each messages is prefixed with a token to easily identify
its class:
- info/warn/debug: general server messages
- smtp-in: smtp client connections
- relay: status update for relayed messages
- delivery: status update for local deliveries
* Implement "smtpctl monitor" to display updates of selected internal
counters.
* When reloading the on-disk queue at startup do not commit a message
if no envelope was submitted for that message.
* Remove unused stuff in the config parser.
ok gilles@
|
|
this allows an admin to inspect the queue without having to manually
extract bucket and find the path to an envelope or message.
diff by Sunil Nimmagadda <sunil@poolp.org>
ok eric@, chl@ and I
|
|
introduce iobuf_xinit() and iobuf_xfqueue(). (idea from eric@)
ok gilles@
|
|
from gilles@ ok eric@
|
|
It's confusing and not necessary as it's only used for "buffer".
Instead, just add a "buffer" member in the structure and rename
"as_user" to "user".
The delivery_data union becomes an anonymous union in expandnode,
which is the only other place where it's used.
ok gilles@
|
|
ok gilles@
|
|
from millert@
|
|
It automagically adds an rcpt=<user@domain> field if "dest" differs from
the original "rcpt". The function takes an "extra" parameter that allows
to add some specific info depending on the context.
ok gilles@
|
|
Adapt a lot of functions in chain to use const args where required.
ok gilles@
|
|
ok gilles@
|
|
- remove useless block in switch.
ok gilles@
|