Age | Commit message (Collapse) | Author |
|
ok gilles@
|
|
especially, make sure to write the ending '\0'.
ok gilles@
|
|
- use a specific dispatch function for each type of query
- make the host handler work on a list of hosts by default (single host
queries are just a particular case) and use that to resolve the MX list
- various other code cleanup
- remove unused headers
- remove orphaned prototypes
- update copyright
ok gilles@
|
|
ok gilles@
|
|
ok gilles@
|
|
ok gilles@
|
|
ok gilles@
|
|
ok gilles@
|
|
- the MX records were not always properly inserted into the sorted
array, which led to some MX being silently dropped.
- if an MX address could not be resolved, mail delivery would fail,
even though other valid MX exist for that domain. Now only report
the failure if no server address can be found at all.
grrrreeat gilles@
|
|
trying to close it in a mta session. in case of DNS errors; this pointer
will remain NULL and cause a segv in MTA_DONE state.
|
|
Then asr_run() call now returns ASR_COND when a condition on a FD is
expected. The exact condition (readable or writeable) is specified in
the asr_result structure, along with the fd and timeout.
ok gilles@
|
|
Not used by the rest of smtpd for now.
ok gilles@
|
|
fd. this shifts responsibility for the fclose to the caller, prevents a
memory leak and makes everyone happy.
diff by Jared Yanovich, thanks !
|
|
ok gilles@
|
|
left-over from a former implementation where asr_ctx didn't exist and
struct asr was refcounted.
spotted by Jared Yanovich.
ok gilles@
|
|
since resolv.conf reloading is handled automatically by asr.
ok gilles@
|
|
ok gilles@
|
|
|
|
- datafd is closed in client_close()
|
|
queue_shared.c
diff from Jared Yanovich, sent to bugs@ by Jonny Mosco
|
|
exchange. if no DH parameters are found, fallback to builtin parameters
as was done until now.
since we now accept user-provided DH parameters, make smtpd more strict
and fatal() if the parameters are bogus.
bump the key size of the DH parameters from 512bits to 1024bits, it might
be bumped further after some more research.
thanks to mikeb@ for his suggestions
diff ok mikeb@ , man ok jmc@
|
|
|
|
ok gilles@
previous commit should have read:
when copying 'struct sockaddr' data, use sa_len not sizeof(struct sockaddr_in)
this fixes truncation of IPv6 addresses in the mail delivery path
ok gilles@
|
|
|
|
on big-endian machines ...
spotted and tested by landry@ (and I)
|
|
the behavior but I introduced a regression when switching to ASR.
bug reported by jmc@, bugfix tested by jmc@ and I
|
|
based on a diff from Sunil Nimmagadda
ok gilles
|
|
the end of the buffer.
tested by and ok gilles@
|
|
ok gilles@
|
|
written by eric@. it is still experimental but still better than what we
had earlier so ... we'll improve in tree :)
diff by me with *lots* of help from eric@, tested by todd and I (and a
few people out there)
|
|
|
|
|
|
|
|
|
|
"ok and no need to keep them for yourself" gilles@
|
|
of an email address at session time, then fatal() when we can't fit it
in a LOGIN_NAME_MAX (32 bytes) buffer in the aliases expansion code.
fix aliases functions to use a buffer that's appropriate, preventing a
fatal() from being triggered in aliases_exist(). bug experienced by
and reported by Jason Houx, if you're testing smtpd you want to update.
|
|
This prevents smtpd from exiting if 'smtpctl schedule' is run with a valid
but non-existent message ID. Whilst here make ENOSPC fatal since this
should not happen.
ok gilles@
|
|
authenticated relaying. one can create many maps holding credentials and
name them however he/she wants, just like any other map.
teach smtpd how to select a credentials map at the rule-level allowing a
setup to relay through the same MX with different credentials depending
on the source.
smtpd.conf.5 updated to reflect changes with help from jmc@
|
|
some rules to have a longer expiry delay than the default:
accept for [...] relay expire 8d # will stay 8 days in queue
I added the man page bits so I don't forget but I need to reword it a bit
|
|
ok gilles@
|
|
|
|
|
|
|
|
be done before we can write queue backends anyway ...
|
|
is way more optimized than what we had earlier and there's definitely stuff
we want to keep, however it is early optimization that doesn't account for
many features and makes them hard (if not impossible) to write without
ugly workarounds that ruin the purpose of the optimizations.
the backout goes to 30 May's right before the commit and catches up on all
the non-queue related commits that happened since then.
i'll work on reintroducing the ideas from this queue when the basic
features we expect from a MTA are implemented.
suggested on tech@ about a week ago, no objections, several "please make
smtpd move forward" mails from hackers and tech readers.
|
|
attempt to expand the local delivery buffer when relaying mail, it was
kind of ok before but no longer is)
- use the same buffer for local deliveries to files and commands
tested by jmc@ and I
|
|
length of its expand buffer. this commit introduces a new lka_expand()
that has been simplified, that fixes the bug and that is more robust.
callers of lka_expand() can now determine that it has failed and throw
the recipient at session time.
lka_expand() rewrite by oga@, changes around it by me, tested on a few
different setups but no feedback from tech@ so ... let me know if it's
breaking something for you
|
|
by expanding them to several rules, I forgot to copy the tags to the
expanded rules. this commit unbreaks matching rules by tag.
documentation follows shortly ...
spotted and fixed by me a while ago, jacekm@ timeout
|
|
changes to lka_expand() but it looks like a bit more work :-)
|
|
%U for sender localpart
%D for sender domainpart
diff sent to tech@ by Gregory Edigarov <greg@bestnet.kharkov.ua>, timeout
by jacekm@, ok by me
|