summaryrefslogtreecommitdiff
path: root/usr.sbin/smtpd
AgeCommit message (Collapse)Author
2008-12-01- in mxsort, fix type of loop counter, it will never be < 0 if it isGilles Chehade
unsigned and when running out of luck it will cause the lookup process to crash.
2008-11-25- more prototype moving to smtpd.hGilles Chehade
2008-11-25- move prototype to smtpd.hGilles Chehade
2008-11-25- move prototypes to smtpd.hGilles Chehade
2008-11-25- plug memory leakGilles Chehade
2008-11-25- recent change in parse.y caused htons() to be called twice on the portGilles Chehade
provided to "relay via" rules, once in parse.y once in lka.c, fix. - rename struct address to struct relayhost, introduce struct mxhost which not only holds the sockaddr_storage, but also additionnal flags we want forwarded to the mta process. - propagate the change
2008-11-25- update email address for bug reports when replying to HELPGilles Chehade
2008-11-25- F_IMSG_SENT is no longer used, killGilles Chehade
suggested by Jacek Masiulaniec <jacekm@dobremiasto.net>
2008-11-24- when using fread/fwrite, do not swap the size and nmemb arguments. noGilles Chehade
functionnal change here, just making use of fonctions the way C intended it ;-) From Jacek Masiulaniec <jacekm@dobremiasto.net>
2008-11-24- not really a bug since we don't use other descriptor flags, but inGilles Chehade
smtp_setup_events() and mta_connect(), our fcntl() use clears flags. use session_socket_blockmode() instead, it makes more sense anyway. From Jacek Masiulaniec <jacekm@dobremiasto.net>
2008-11-22- do not set nochdir in daemon() call, we want parent and lka to have theirGilles Chehade
wd reset to / rather than current working directory. From Jacek Masiulaniec <jacekm@dobremiasto.net>
2008-11-22- allow the optionnal ssmtp keywork in "relay via" rules, while at itGilles Chehade
allow port to become optionnal (implicit 25) or provided by value or name.
2008-11-17add missing header needed by time(), ctime_r() and tzset().Charles Longeau
ok gilles@
2008-11-17- clear session flags upon helo/ehloGilles Chehade
2008-11-17- until now a client could issue a command from an extension even though itGilles Chehade
greeted with helo and not ehlo. introduce session flag F_EHLO and make sure the session_command() dispatch only looks at extensions when a session does not have the F_EHLO flag.
2008-11-17- err() -> fatal()Gilles Chehade
- printf() -> log_debug() - be more verbose in debug mode
2008-11-17- remove prototypes for the atomic API, we don't use it anymoreGilles Chehade
2008-11-17add missing header needed by signal().Charles Longeau
2008-11-17- we don't need this anymoreGilles Chehade
2008-11-17- remove some unused prototypesGilles Chehade
2008-11-17- queue_record_daemon() no longer used, remove definitionGilles Chehade
2008-11-17- replace uses of O_EXLOCK and O_EXLOCK|O_NONBLOCK with the correspondingGilles Chehade
open()/flock() constructs as chl@ says it prevents him from doing a portable build. discussed with chl@, diff is common work from him and myself
2008-11-17- fix error message in aliases_virtual_exist()Gilles Chehade
By Alexander Hall <alexander@beard.se>
2008-11-17- exit() -> _exit()Gilles Chehade
- err() -> fatal() Both by Jacek Masiulaniec <jacekm@dobremiasto.net>
2008-11-17- remove several constructs where format strings are used in an evbufferGilles Chehade
printf with constant parameters, turn them into a constant string. - when client sends EHLO without a parameter, send the appropriate error message ("EHLO takes ..." instead of "HELO takes ...") From Jacek Masiulaniec <jacekm@dobremiasto.net>
2008-11-13- rephrase the "cannot load cert" warning that is output at startup when aGilles Chehade
listen directive has no matching certificate. it sounds like a critical failure when it just means "no tls support". - minor log_debug() addition in smtp.c
2008-11-11- mistakenly removed this lockGilles Chehade
2008-11-11- introduce queue_init_submissions() which will sanitize the disk-basedGilles Chehade
queue at startup: catches left overs from interrupted sessions, reset F_MESSAGE_INPROCESS so that messages which were in MTA or MDA gets scheduled again. - temporarily comment chl@'s O_EXLOCK -> fcntl change until we figure why it locks my mailbox under load
2008-11-11- temporarily comment chl@'s O_EXLOCK -> fcntl() change until we understandGilles Chehade
what causes the mailbox lock bug i'm observing under heavy load.
2008-11-11- now that we fdopen() message file descriptor, do not forget to fclose()Gilles Chehade
2008-11-11some small improvements. ok gillesTed Unangst
2008-11-11- queue process no longer schedules messages which do not have flagGilles Chehade
F_MESSAGE_COMPLETE - submit recipients to the queue as we read them from RCPT instead of submiting them all at once when DATA is over. this prevents us from having to keep a potentially large number of recipients in memory during the whole session. - remove all code that dealt with the recipients queue of a message as it is no longer used. - several small changes to make sure the server is always in a recoverable state in case of an unexpected shutdown.
2008-11-11remove the use of O_EXLOCK, when open()ing a file, and use flock() instead.Charles Longeau
ok gilles@
2008-11-10- open the message file earlier after a successful MAIL command instead ofGilles Chehade
waiting for the DATA command. this currently has no impact on the session but is needed for another change that will make submission of recipients safer with regard to "unexpected shutdowns at bad timings"
2008-11-10- define MAX_LINE_SIZE which is the maximum length of a line we allow fromGilles Chehade
a client. it must be set to the highest value we have from all of the extensions which are/will be implemented. - replace all occurences of STRLEN define with MAX_LINE_SIZE, kill STRLEN
2008-11-10rename h_errno field into getaddrinfo_error, to avoid confusion with errno.Charles Longeau
h_errno has been obsoleted since the gethostbyname() --> getaddrinfo() replacement. ok gilles@
2008-11-10fix store_write_header() prototype.Charles Longeau
ok gilles@
2008-11-10spaces fixed while reading codeTheo de Raadt
2008-11-10- remove last occurences of the atomic api in store.c, smtpd no longer usesGilles Chehade
atomic api when dealing with files but uses stdio instead
2008-11-10last character in line is at len - 1. ok gillesTed Unangst
2008-11-10insertion sort is faster than bubble sort. ok gillesTed Unangst
2008-11-10- simplify the passing of ssl cert/key during ssl configuration,Gilles Chehade
from Jacek Masiulaniec <jacekm@dobremiasto.net>
2008-11-10- in queue, do not use the atomic api when dealing with real filesGilles Chehade
change based on a comment from deraadt@ - in queue_register_submission(), if an envelope cannot be fully written because of some error (ie: disk full), not only return error but also remove the partial envelope from file system. this prevents the queue process from trying (failing) to reload it over and over.
2008-11-10- plug a descriptor leak when session is aborted by a server error insteadGilles Chehade
of a client QUIT or client timeout
2008-11-10- move '=>' into the lex loop, requested by and with help from deraadt@Gilles Chehade
2008-11-10- in queue_load_submissions(), if queue_message_from_id() fails for someGilles Chehade
reason just warn instead of aborting the whole smtpd.
2008-11-10- snprintf() can return -1, make sure every call is checked properlyGilles Chehade
2008-11-10- recognize '=>' as one token instead of trying to match '=' and '>'. thisGilles Chehade
prevents: "foo = > bar" from being valid
2008-11-10- make READ_BUF_SIZE a power of 2Gilles Chehade
2008-11-05add gilles@ as copyright holder for this file.Igor Sobrado