OpenBSD CVS

CVS log for src/usr.sbin/smtpd/enqueue.c


[BACK] Up to [local] / src / usr.sbin / smtpd

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.122 / (download) - annotate - [select for diffs], Sat Jan 20 09:01:03 2024 UTC (4 months, 1 week ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_7_5_BASE, OPENBSD_7_5, HEAD
Changes since 1.121: +2 -2 lines
Diff to previous 1.121 (colored)

Use imsg_get_fd() to access the fd passed via imsgs.

Most of the conversion is simple there is just log_imsg() that can
no longer display the fd since imsg_get_fd() can only be called once.
OK op@

Revision 1.121 / (download) - annotate - [select for diffs], Wed May 31 16:51:46 2023 UTC (12 months ago) by op
Branch: MAIN
CVS Tags: OPENBSD_7_4_BASE, OPENBSD_7_4
Changes since 1.120: +2 -1 lines
Diff to previous 1.120 (colored)

add missing include of time.h

spotted after a report on OpenSMTPD-portable.  While here include
sys/time.h in smtpd.h, as noted in event_init(3), since it includes
event.h.

ok millert@

Revision 1.120 / (download) - annotate - [select for diffs], Wed Jul 28 19:39:50 2021 UTC (2 years, 10 months ago) by benno
Branch: MAIN
CVS Tags: OPENBSD_7_3_BASE, OPENBSD_7_3, OPENBSD_7_2_BASE, OPENBSD_7_2, OPENBSD_7_1_BASE, OPENBSD_7_1, OPENBSD_7_0_BASE, OPENBSD_7_0
Changes since 1.119: +3 -2 lines
Diff to previous 1.119 (colored)

add format attribute to vaararg functions.
millert@ thinks its useful.

Revision 1.119 / (download) - annotate - [select for diffs], Mon Jun 14 17:58:15 2021 UTC (2 years, 11 months ago) by eric
Branch: MAIN
Changes since 1.118: +1 -15 lines
Diff to previous 1.118 (colored)

add required headers for smtpd.h and remove unnecessary ones in other files.

ok jung@

Revision 1.118 / (download) - annotate - [select for diffs], Wed Mar 18 20:17:14 2020 UTC (4 years, 2 months ago) by eric
Branch: MAIN
CVS Tags: OPENBSD_6_9_BASE, OPENBSD_6_9, OPENBSD_6_8_BASE, OPENBSD_6_8, OPENBSD_6_7_BASE, OPENBSD_6_7
Changes since 1.117: +18 -17 lines
Diff to previous 1.117 (colored)

use CRLF line-ending during the SMTP dialog in the local enqueuer

ok millert@

Revision 1.117 / (download) - annotate - [select for diffs], Sun Mar 8 21:47:05 2020 UTC (4 years, 2 months ago) by martijn
Branch: MAIN
Changes since 1.116: +40 -37 lines
Diff to previous 1.116 (colored)

Rewrite qp_encoded_write.

Among the fixes are:
- Don't count a leading dot, since it's part of smtp and not the
  message.
- Let qp_encoded_write handle line wrappings, since it can do a better
  job at the bookkeeping than the caller
- Make sure a soft linebreak that starts with a dot is escaped for the
  SMTP-layer
- Only encode a space character if it's followed by a hard linebreak,
  since this is the only case mandated by RFC5321 and it gives a more
  readable output and saves a few additional bytes.
- Fix that we actually limit the encoded linelength to 76 characters as
  specified in RFC5321.

Feedback and OK eric@

Revision 1.116 / (download) - annotate - [select for diffs], Tue Jul 2 09:36:20 2019 UTC (4 years, 11 months ago) by martijn
Branch: MAIN
CVS Tags: OPENBSD_6_6_BASE, OPENBSD_6_6
Changes since 1.115: +4 -13 lines
Diff to previous 1.115 (colored)

Replace mkstemp/fdopen/unlink dances with tmpfile.
No functional change.

OK gilles@

Revision 1.115 / (download) - annotate - [select for diffs], Thu May 31 21:06:12 2018 UTC (6 years ago) by gilles
Branch: MAIN
CVS Tags: OPENBSD_6_5_BASE, OPENBSD_6_5, OPENBSD_6_4_BASE, OPENBSD_6_4
Changes since 1.114: +5 -5 lines
Diff to previous 1.114 (colored)

remove 'where' parameter from all x*() functions in utils.c, it doesn't
really help us with anything, propagate the change in codebase

ok millert@

Revision 1.114 / (download) - annotate - [select for diffs], Mon Apr 23 10:27:24 2018 UTC (6 years, 1 month ago) by sunil
Branch: MAIN
Changes since 1.113: +2 -3 lines
Diff to previous 1.113 (colored)

Allow escaping quote within quotes.

Leah Neukirchen reports that according to RFC5322 escaping quote
within quotes is valid and that postfix accepts it as well.
https://github.com/OpenSMTPD/OpenSMTPD/issues/846

Ok gilles@

Revision 1.113 / (download) - annotate - [select for diffs], Sun Jul 3 14:30:33 2016 UTC (7 years, 11 months ago) by gilles
Branch: MAIN
CVS Tags: OPENBSD_6_3_BASE, OPENBSD_6_3, OPENBSD_6_2_BASE, OPENBSD_6_2, OPENBSD_6_1_BASE, OPENBSD_6_1, OPENBSD_6_0_BASE, OPENBSD_6_0
Changes since 1.112: +5 -2 lines
Diff to previous 1.112 (colored)

add -r option to enqueuer as compat interface for mailx

diff by Richard <richard@aaazen.com>

Revision 1.112 / (download) - annotate - [select for diffs], Wed Feb 3 08:03:21 2016 UTC (8 years, 3 months ago) by gilles
Branch: MAIN
CVS Tags: OPENBSD_5_9_BASE, OPENBSD_5_9
Changes since 1.111: +2 -2 lines
Diff to previous 1.111 (colored)

NULL initialize two file pointers to make it more obvious when reading that
they can't end up uninitialized after the mkstemp/fdopen dance

Revision 1.111 / (download) - annotate - [select for diffs], Tue Jan 12 17:29:43 2016 UTC (8 years, 4 months ago) by sunil
Branch: MAIN
Changes since 1.110: +2 -2 lines
Diff to previous 1.110 (colored)

Let smtpd start on machines without a FQDN as hostname.

Ok millert@ gilles@ jung@

Revision 1.110 / (download) - annotate - [select for diffs], Tue Dec 29 17:57:03 2015 UTC (8 years, 5 months ago) by millert
Branch: MAIN
Changes since 1.109: +57 -43 lines
Diff to previous 1.109 (colored)

Change send_line() return value to be 1/0 like get_responses() and
check the return value in the callers.  The inital value of inheaders
has been changed to improve readability.  OK gilles@ jung@

Revision 1.109 / (download) - annotate - [select for diffs], Mon Dec 28 22:08:30 2015 UTC (8 years, 5 months ago) by jung
Branch: MAIN
Changes since 1.108: +9 -9 lines
Diff to previous 1.108 (colored)

remove spaces after '!'

no binary change

ok millert

Revision 1.108 / (download) - annotate - [select for diffs], Mon Dec 14 10:22:11 2015 UTC (8 years, 5 months ago) by jung
Branch: MAIN
Changes since 1.107: +3 -3 lines
Diff to previous 1.107 (colored)

remove trailing whitespace

ok sunil gilles

Revision 1.107 / (download) - annotate - [select for diffs], Mon Dec 7 12:29:19 2015 UTC (8 years, 5 months ago) by sunil
Branch: MAIN
Changes since 1.106: +5 -5 lines
Diff to previous 1.106 (colored)

Merge makemap(8) into smtpctl(8).

Ok gilles@, jung@

Revision 1.106 / (download) - annotate - [select for diffs], Sat Dec 5 13:14:21 2015 UTC (8 years, 5 months ago) by claudio
Branch: MAIN
Changes since 1.105: +2 -2 lines
Diff to previous 1.105 (colored)

EAGAIN handling for imsg_read. OK henning@ benno@

Revision 1.105 / (download) - annotate - [select for diffs], Tue Nov 3 05:06:24 2015 UTC (8 years, 7 months ago) by mmcc
Branch: MAIN
Changes since 1.104: +2 -1 lines
Diff to previous 1.104 (colored)

Blank line after pledge call.

Revision 1.104 / (download) - annotate - [select for diffs], Tue Oct 27 21:01:09 2015 UTC (8 years, 7 months ago) by gilles
Branch: MAIN
Changes since 1.103: +2 -2 lines
Diff to previous 1.103 (colored)

enqueue pledge: getmailname() needs dns, ~/dead.letter needs cpath/wpath

ok jung@, ok millert@

Revision 1.103 / (download) - annotate - [select for diffs], Sat Oct 17 16:20:46 2015 UTC (8 years, 7 months ago) by sunil
Branch: MAIN
Changes since 1.102: +50 -52 lines
Diff to previous 1.102 (colored)

Convert some fgetln to getline.

tested and ok gilles@

Revision 1.102 / (download) - annotate - [select for diffs], Wed Oct 14 22:01:43 2015 UTC (8 years, 7 months ago) by gilles
Branch: MAIN
Changes since 1.101: +2 -2 lines
Diff to previous 1.101 (colored)

whitespaces

Revision 1.101 / (download) - annotate - [select for diffs], Wed Oct 14 20:51:53 2015 UTC (8 years, 7 months ago) by gilles
Branch: MAIN
Changes since 1.100: +2 -2 lines
Diff to previous 1.100 (colored)

whitespace

Revision 1.100 / (download) - annotate - [select for diffs], Tue Oct 13 08:06:22 2015 UTC (8 years, 7 months ago) by gilles
Branch: MAIN
Changes since 1.99: +8 -2 lines
Diff to previous 1.99 (colored)

let the enqueuer pledge() in both online and offline modes

ok deraadt@

Revision 1.99 / (download) - annotate - [select for diffs], Mon Oct 12 21:32:27 2015 UTC (8 years, 7 months ago) by millert
Branch: MAIN
Changes since 1.98: +15 -10 lines
Diff to previous 1.98 (colored)

Add missing checks for write errors; OK eric@

Revision 1.98 / (download) - annotate - [select for diffs], Fri Oct 9 15:09:09 2015 UTC (8 years, 7 months ago) by gilles
Branch: MAIN
Changes since 1.97: +4 -1 lines
Diff to previous 1.97 (colored)

if an error occurs during offline enqueuing after we've dropped group, then
attempt to ftruncate() the fp back to 0.

suggested and ok millert@, ok eric@

Revision 1.97 / (download) - annotate - [select for diffs], Fri Oct 9 14:37:38 2015 UTC (8 years, 7 months ago) by gilles
Branch: MAIN
Changes since 1.96: +14 -41 lines
Diff to previous 1.96 (colored)

turn our local enqueuer setgid _smtpq and restrict access to offline queue,
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@

Revision 1.96 / (download) - annotate - [select for diffs], Tue Oct 6 06:04:46 2015 UTC (8 years, 7 months ago) by gilles
Branch: MAIN
Changes since 1.95: +2 -2 lines
Diff to previous 1.95 (colored)

fix values passed to umask(), they should be octal.
the permissions are even more restrictive than they should.

misc bug reported by qualys

Revision 1.95 / (download) - annotate - [select for diffs], Mon Sep 7 15:36:53 2015 UTC (8 years, 8 months ago) by gilles
Branch: MAIN
Changes since 1.94: +1 -11 lines
Diff to previous 1.94 (colored)

when bypassing the enqueuer, insert Message-Id header if none was found and
the client has connected from a loopback interface.

ok millert@ eric@

Revision 1.94 / (download) - annotate - [select for diffs], Wed May 13 07:34:49 2015 UTC (9 years ago) by gilles
Branch: MAIN
CVS Tags: OPENBSD_5_8_BASE, OPENBSD_5_8
Changes since 1.93: +8 -1 lines
Diff to previous 1.93 (colored)

The enqueuer should never encouter the "From " separator in its headers, as
it is added by the mda. If it sees one, it means that the enqueuer was used
as the mda and it needs to strip it otherwise the message will end with two
delimiters later down the road. Same applies to "Return-Path".

bug experienced by James Turner, confirmed by Giovanni.
fix suggested by Todd Miller, diff ok eric@

Revision 1.93 / (download) - annotate - [select for diffs], Sun May 3 18:10:58 2015 UTC (9 years, 1 month ago) by gilles
Branch: MAIN
Changes since 1.92: +2 -2 lines
Diff to previous 1.92 (colored)

S was misplaced in r1.89, the optarg that was removed was actually needed
by R, so reintroduce it in the proper place.

spotted and diff by Sunil Nimmagadda

Revision 1.92 / (download) - annotate - [select for diffs], Sun May 3 17:53:50 2015 UTC (9 years, 1 month ago) by gilles
Branch: MAIN
Changes since 1.91: +2 -2 lines
Diff to previous 1.91 (colored)

smtpd enqueue -S does not take an argument, fix optstring accordingly

fix by Nathanael Rensen

Revision 1.91 / (download) - annotate - [select for diffs], Fri Feb 27 12:17:36 2015 UTC (9 years, 3 months ago) by millert
Branch: MAIN
CVS Tags: OPENBSD_5_7_BASE, OPENBSD_5_7
Changes since 1.90: +9 -4 lines
Diff to previous 1.90 (colored)

Do not use the name returned by getlogin() when pw_uid from
getpwnam(getlogin()) doesn't match the real uid, unless the real
uid is 0.  This matches the behavior of sendmail and gives the
corrent sender for mail sent by daemons that got started by a
user who su'd or used sudo.  OK dlg@ gilles@

Revision 1.90 / (download) - annotate - [select for diffs], Tue Jan 20 17:37:54 2015 UTC (9 years, 4 months ago) by deraadt
Branch: MAIN
Changes since 1.89: +5 -4 lines
Diff to previous 1.89 (colored)

use <limits.h> comprehensively.  For now try to push <> includes to
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.

Revision 1.89 / (download) - annotate - [select for diffs], Thu Jan 15 09:05:37 2015 UTC (9 years, 4 months ago) by gilles
Branch: MAIN
Changes since 1.88: +19 -7 lines
Diff to previous 1.88 (colored)

when enqueueing offline mails from within the daemon session, we should not
rely on getlogin() otherwise mail will end up enqueued as coming from user
who started smtpd.

bug spotted by deraadt@, diff ok todd@

Revision 1.88 / (download) - annotate - [select for diffs], Wed Nov 12 10:28:07 2014 UTC (9 years, 6 months ago) by gilles
Branch: MAIN
Changes since 1.87: +2 -2 lines
Diff to previous 1.87 (colored)

truncate dead.letter

Revision 1.87 / (download) - annotate - [select for diffs], Thu Nov 6 08:55:06 2014 UTC (9 years, 6 months ago) by gilles
Branch: MAIN
Changes since 1.86: +2 -47 lines
Diff to previous 1.86 (colored)

since domain appending is handled at the daemon level, don't try to do it
in the enqueuer itself, it leads to broken headers

Revision 1.86 / (download) - annotate - [select for diffs], Sun Oct 26 11:26:08 2014 UTC (9 years, 7 months ago) by gilles
Branch: MAIN
Changes since 1.85: +122 -24 lines
Diff to previous 1.85 (colored)

when using the local enqueuer, if the internal SMTP session fails, copy the
original message to ~/dead.letter so it's not lost

Revision 1.85 / (download) - annotate - [select for diffs], Wed Oct 8 10:56:01 2014 UTC (9 years, 7 months ago) by deraadt
Branch: MAIN
Changes since 1.84: +3 -3 lines
Diff to previous 1.84 (colored)

obvious reallocarray() use

Revision 1.84 / (download) - annotate - [select for diffs], Sat Oct 4 03:00:58 2014 UTC (9 years, 8 months ago) by millert
Branch: MAIN
Changes since 1.83: +5 -4 lines
Diff to previous 1.83 (colored)

Use getlogin() to determine real user name where possible.
OK guenther@ deraadt@

Revision 1.83 / (download) - annotate - [select for diffs], Mon Jul 28 22:18:31 2014 UTC (9 years, 10 months ago) by krw
Branch: MAIN
CVS Tags: OPENBSD_5_6_BASE, OPENBSD_5_6
Changes since 1.82: +2 -2 lines
Diff to previous 1.82 (colored)

Last (known) msgbuf_write() vs EOF fix.

ok gilles@ deraadt@

Revision 1.82 / (download) - annotate - [select for diffs], Sun Jul 20 01:38:40 2014 UTC (9 years, 10 months ago) by guenther
Branch: MAIN
Changes since 1.81: +3 -2 lines
Diff to previous 1.81 (colored)

Make sure the correct errno is reported by warn* or err* and not
the errno of an intervening cleanup operation like close/unlink/etc.

Diff from Doug Hogan (doug (at) acyclic.org)

Revision 1.81 / (download) - annotate - [select for diffs], Fri Jun 6 15:02:08 2014 UTC (9 years, 11 months ago) by gilles
Branch: MAIN
Changes since 1.80: +4 -3 lines
Diff to previous 1.80 (colored)

when relying on the local enqueuer, fix an issue with long To and Cc lines
that can lead to broken headers and confuse some MUA

issue spotted by tedu@

Revision 1.80 / (download) - annotate - [select for diffs], Sat Apr 5 13:43:16 2014 UTC (10 years, 1 month ago) by gilles
Branch: MAIN
Changes since 1.79: +3 -2 lines
Diff to previous 1.79 (colored)

fix writing of multiline To and Cc headers

issue spotted, fix tested and okayed krw@

Revision 1.79 / (download) - annotate - [select for diffs], Fri Apr 4 20:25:44 2014 UTC (10 years, 2 months ago) by gilles
Branch: MAIN
Changes since 1.78: +8 -4 lines
Diff to previous 1.78 (colored)

fix header parsing issue in enqueuer leading to From: header being stripped
in some cases

ok eric@

Revision 1.78 / (download) - annotate - [select for diffs], Fri Apr 4 16:10:42 2014 UTC (10 years, 2 months ago) by eric
Branch: MAIN
Changes since 1.77: +2 -2 lines
Diff to previous 1.77 (colored)

Merge the mda, mta and smtp processes into a single unprivileged
process managing message reception, delivery and transfer.  Mostly
mechanical, but very intrusive as it required to rewamp all IMSG to
fix ambiguities.

with and ok gilles@

Revision 1.77 / (download) - annotate - [select for diffs], Tue Mar 25 10:06:29 2014 UTC (10 years, 2 months ago) by gilles
Branch: MAIN
Changes since 1.76: +41 -2 lines
Diff to previous 1.76 (colored)

when locally enqueuing messages without specifying a domain for sender or
recipient, the local domain is assumed. this was correctly handled at the
smtp level, but headers were not updated to reflect that.

issue experienced by several people, fix tested by ajacoutot@ and I
ok eric@

Revision 1.76 / (download) - annotate - [select for diffs], Thu Mar 13 14:28:33 2014 UTC (10 years, 2 months ago) by chris
Branch: MAIN
Changes since 1.75: +1 -4 lines
Diff to previous 1.75 (colored)

The enqueue utility should not add a User-Agent header to emails.

ok gilles jcs

Revision 1.75 / (download) - annotate - [select for diffs], Tue Feb 4 15:44:05 2014 UTC (10 years, 3 months ago) by eric
Branch: MAIN
CVS Tags: OPENBSD_5_5_BASE, OPENBSD_5_5
Changes since 1.74: +27 -6 lines
Diff to previous 1.74 (colored)

Add support for DSN and Enhanced Status Code

Revision 1.74 / (download) - annotate - [select for diffs], Thu Dec 26 17:25:32 2013 UTC (10 years, 5 months ago) by eric
Branch: MAIN
Changes since 1.73: +3 -3 lines
Diff to previous 1.73 (colored)

bcopy -> memmove
bzero -> memset

Revision 1.73 / (download) - annotate - [select for diffs], Fri Dec 6 14:26:25 2013 UTC (10 years, 5 months ago) by eric
Branch: MAIN
Changes since 1.72: +2 -2 lines
Diff to previous 1.72 (colored)

now at 5.4.1

Revision 1.72 / (download) - annotate - [select for diffs], Thu Nov 28 10:43:37 2013 UTC (10 years, 6 months ago) by eric
Branch: MAIN
Changes since 1.71: +3 -3 lines
Diff to previous 1.71 (colored)

unsigned char casts for ctype
ok gilles@

Revision 1.71 / (download) - annotate - [select for diffs], Tue Nov 26 15:52:16 2013 UTC (10 years, 6 months ago) by henning
Branch: MAIN
Changes since 1.70: +2 -1 lines
Diff to previous 1.70 (colored)

need errno, thx sthen

Revision 1.70 / (download) - annotate - [select for diffs], Tue Nov 26 12:01:40 2013 UTC (10 years, 6 months ago) by henning
Branch: MAIN
Changes since 1.69: +1 -1 lines
Diff to previous 1.69 (colored)

deal with msgbuf_write EAGAIN, ok gilles benno

Revision 1.69 / (download) - annotate - [select for diffs], Fri Oct 25 21:31:23 2013 UTC (10 years, 7 months ago) by eric
Branch: MAIN
Changes since 1.68: +51 -42 lines
Diff to previous 1.68 (colored)

local enqueuer improvements:

- 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.

Revision 1.68 / (download) - annotate - [select for diffs], Fri May 24 17:03:14 2013 UTC (11 years ago) by eric
Branch: MAIN
CVS Tags: OPENBSD_5_4_BASE, OPENBSD_5_4
Changes since 1.67: +10 -6 lines
Diff to previous 1.67 (colored)

sync with OpenSMTPD 5.3.2

ok gilles@

Revision 1.67 / (download) - annotate - [select for diffs], Thu Jan 31 18:34:43 2013 UTC (11 years, 4 months ago) by eric
Branch: MAIN
CVS Tags: OPENBSD_5_3_BASE, OPENBSD_5_3
Changes since 1.66: +7 -1 lines
Diff to previous 1.66 (colored)

assorted fixes spotted by Coverity.
some log message updates.

ok gilles@

Revision 1.66 / (download) - annotate - [select for diffs], Sat Jan 26 09:37:23 2013 UTC (11 years, 4 months ago) by gilles
Branch: MAIN
Changes since 1.65: +4 -3 lines
Diff to previous 1.65 (colored)

Sync with our smtpd repo:

* 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@

Revision 1.65 / (download) - annotate - [select for diffs], Fri Nov 23 10:55:25 2012 UTC (11 years, 6 months ago) by eric
Branch: MAIN
Changes since 1.64: +19 -14 lines
Diff to previous 1.64 (colored)

knf

ok gilles@

Revision 1.64 / (download) - annotate - [select for diffs], Mon Nov 12 14:58:53 2012 UTC (11 years, 6 months ago) by eric
Branch: MAIN
Changes since 1.63: +9 -5 lines
Diff to previous 1.63 (colored)

Cleanups and improvements:

* 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@

Revision 1.63 / (download) - annotate - [select for diffs], Thu Sep 27 20:34:15 2012 UTC (11 years, 8 months ago) by chl
Branch: MAIN
Changes since 1.62: +4 -5 lines
Diff to previous 1.62 (colored)

use xstrdup() helper

ok eric@ gilles@

Revision 1.62 / (download) - annotate - [select for diffs], Thu Sep 27 12:26:35 2012 UTC (11 years, 8 months ago) by chl
Branch: MAIN
Changes since 1.61: +2 -4 lines
Diff to previous 1.61 (colored)

simplify malloc() + strlcpy() dance with xstrdup()

ok gilles@ eric@

Revision 1.61 / (download) - annotate - [select for diffs], Thu Aug 23 16:10:19 2012 UTC (11 years, 9 months ago) by todd
Branch: MAIN
Changes since 1.60: +38 -20 lines
Diff to previous 1.60 (colored)

enhance -v mode of 'sendmail' binary
ok chl@

Revision 1.60 / (download) - annotate - [select for diffs], Thu Aug 23 13:16:02 2012 UTC (11 years, 9 months ago) by todd
Branch: MAIN
Changes since 1.59: +18 -3 lines
Diff to previous 1.59 (colored)

fix multiple recipient support, from sunil on irc
tested by me, ok gilles@

Revision 1.59 / (download) - annotate - [select for diffs], Thu Aug 23 13:06:29 2012 UTC (11 years, 9 months ago) by todd
Branch: MAIN
Changes since 1.58: +3 -2 lines
Diff to previous 1.58 (colored)

add -R to sendmail compat flags that do nothing (for now)
ok gilles@

Revision 1.58 / (download) - annotate - [select for diffs], Thu Aug 23 13:04:41 2012 UTC (11 years, 9 months ago) by todd
Branch: MAIN
Changes since 1.57: +3 -2 lines
Diff to previous 1.57 (colored)

add -N for sendmail compat DSN support; unlimited for now
ok gilles@

Revision 1.57 / (download) - annotate - [select for diffs], Sun Aug 19 14:16:58 2012 UTC (11 years, 9 months ago) by chl
Branch: MAIN
Changes since 1.56: +7 -7 lines
Diff to previous 1.56 (colored)

coding style: replace all occurences of u_int* with uint*

ok eric@

Revision 1.56 / (download) - annotate - [select for diffs], Sat Mar 17 13:10:03 2012 UTC (12 years, 2 months ago) by gilles
Branch: MAIN
CVS Tags: OPENBSD_5_2_BASE, OPENBSD_5_2
Changes since 1.55: +3 -2 lines
Diff to previous 1.55 (colored)

llu -> PRIu64 in enqueue() to avoid warning in portable

diff from Guillaume Leconte <guillaume.leconte@scality.com>

Revision 1.55 / (download) - annotate - [select for diffs], Thu Feb 2 16:52:59 2012 UTC (12 years, 4 months ago) by eric
Branch: MAIN
CVS Tags: OPENBSD_5_1_BASE, OPENBSD_5_1
Changes since 1.54: +23 -15 lines
Diff to previous 1.54 (colored)

Only use mime/line-split if the input message actually contains a very
long line.

ok gilles@ chl@

Revision 1.54 / (download) - annotate - [select for diffs], Mon Jan 30 20:21:53 2012 UTC (12 years, 4 months ago) by gilles
Branch: MAIN
Changes since 1.53: +8 -3 lines
Diff to previous 1.53 (colored)

do not encode headers, it breaks the resulting message

reported by eric@ and miod@
ok chl@

Revision 1.53 / (download) - annotate - [select for diffs], Sun Jan 29 10:42:23 2012 UTC (12 years, 4 months ago) by eric
Branch: MAIN
Changes since 1.52: +3 -3 lines
Diff to previous 1.52 (colored)

fix warning

ok gilles@

Revision 1.52 / (download) - annotate - [select for diffs], Sat Jan 28 21:15:01 2012 UTC (12 years, 4 months ago) by gilles
Branch: MAIN
Changes since 1.51: +24 -8 lines
Diff to previous 1.51 (colored)

ok, since we're already encoding =, let's just do full quoted printable
encoding, it's just a few additional lines ...

Revision 1.51 / (download) - annotate - [select for diffs], Sat Jan 28 18:13:53 2012 UTC (12 years, 4 months ago) by gilles
Branch: MAIN
Changes since 1.50: +85 -11 lines
Diff to previous 1.50 (colored)

when enqueuing, check if a MUA did some MIME transfer encoding, otherwise
do quoted-printable transfer encoding so that OpenSMTPD doesn't refuse to
enqueue mails with long lines

ok eric@

Revision 1.50 / (download) - annotate - [select for diffs], Thu Dec 15 17:23:54 2011 UTC (12 years, 5 months ago) by eric
Branch: MAIN
Changes since 1.49: +2 -2 lines
Diff to previous 1.49 (colored)

all leading dots must be duplicated.

ok gilles@

Revision 1.49 / (download) - annotate - [select for diffs], Mon Nov 14 16:54:19 2011 UTC (12 years, 6 months ago) by eric
Branch: MAIN
Changes since 1.48: +4 -1 lines
Diff to previous 1.48 (colored)

make sure that the offline directory has the right owner/perms
before enqueueing offline mail.

ok gilles@

Revision 1.48 / (download) - annotate - [select for diffs], Wed Nov 2 12:01:20 2011 UTC (12 years, 7 months ago) by eric
Branch: MAIN
Changes since 1.47: +90 -61 lines
Diff to previous 1.47 (colored)

simpler implementation of smtpctl local enqueuer that does not need libevent.

ok gilles@

Revision 1.47 / (download) - annotate - [select for diffs], Mon Aug 29 21:43:08 2011 UTC (12 years, 9 months ago) by chl
Branch: MAIN
Changes since 1.46: +3 -3 lines
Diff to previous 1.46 (colored)

cast all printed time_t to long long int, and change format string accordingly.

ok gilles@

Revision 1.46 / (download) - annotate - [select for diffs], Mon Aug 29 18:49:29 2011 UTC (12 years, 9 months ago) by chl
Branch: MAIN
Changes since 1.45: +2 -1 lines
Diff to previous 1.45 (colored)

add missing header needed by signal()

ok gilles@

Revision 1.45 / (download) - annotate - [select for diffs], Fri Aug 26 14:39:47 2011 UTC (12 years, 9 months ago) by chl
Branch: MAIN
Changes since 1.44: +2 -1 lines
Diff to previous 1.44 (colored)

add missing header needed by time()

ok gilles@

Revision 1.44 / (download) - annotate - [select for diffs], Thu Jun 9 03:53:39 2011 UTC (12 years, 11 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_5_0_BASE, OPENBSD_5_0
Changes since 1.43: +2 -2 lines
Diff to previous 1.43 (colored)

spacing

Revision 1.43 / (download) - annotate - [select for diffs], Sun Apr 17 13:36:07 2011 UTC (13 years, 1 month ago) by gilles
Branch: MAIN
Changes since 1.42: +20 -21 lines
Diff to previous 1.42 (colored)

cleanups, cosmethic changes, functions that should be static are now static
no functionnal change

Revision 1.42 / (download) - annotate - [select for diffs], Sat Mar 26 10:59:59 2011 UTC (13 years, 2 months ago) by gilles
Branch: MAIN
Changes since 1.41: +3 -2 lines
Diff to previous 1.41 (colored)

have the client API receive a stdio stream rather than a fd to the message
fd. this shifts responsibility for the fclose to the caller, prevents a
memory leak and makes everyone happy.

diff by Jared Yanovich, thanks !

Revision 1.41 / (download) - annotate - [select for diffs], Sun Nov 28 14:35:58 2010 UTC (13 years, 6 months ago) by gilles
Branch: MAIN
CVS Tags: OPENBSD_4_9_BASE, OPENBSD_4_9
Changes since 1.40: +1 -7 lines
Diff to previous 1.40 (colored)

remove all unused headers

Revision 1.40 / (download) - annotate - [select for diffs], Sun Nov 28 13:56:43 2010 UTC (13 years, 6 months ago) by gilles
Branch: MAIN
Changes since 1.39: +2 -1 lines
Diff to previous 1.39 (colored)

a bit of .h cleanups, no functionnal change

Revision 1.39 / (download) - annotate - [select for diffs], Sat Oct 9 22:05:35 2010 UTC (13 years, 7 months ago) by gilles
Branch: MAIN
Changes since 1.38: +2 -2 lines
Diff to previous 1.38 (colored)

backout the "new" queue code commited 4 months ago. it has many good ideas,
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.

Revision 1.38 / (download) - annotate - [select for diffs], Mon Aug 2 11:49:02 2010 UTC (13 years, 10 months ago) by jacekm
Branch: MAIN
CVS Tags: OPENBSD_4_8_BASE, OPENBSD_4_8
Changes since 1.37: +2 -1 lines
Diff to previous 1.37 (colored)

Ignore SIGPIPE, the delivery of which prevented /usr/sbin/sendmail from
relaying the server diagnostic back to the user (eg. "500 Line too long").

Revision 1.37 / (download) - annotate - [select for diffs], Wed Jun 2 19:16:53 2010 UTC (14 years ago) by chl
Branch: MAIN
Changes since 1.36: +3 -2 lines
Diff to previous 1.36 (colored)

check event_dispatch() return value

ok jacekm@

Revision 1.36 / (download) - annotate - [select for diffs], Tue Jun 1 23:06:23 2010 UTC (14 years ago) by jacekm
Branch: MAIN
Changes since 1.35: +1 -2 lines
Diff to previous 1.35 (colored)

new queue, again; gcc2 compile tested by deraadt

Revision 1.35 / (download) - annotate - [select for diffs], Tue Jun 1 19:47:08 2010 UTC (14 years ago) by jacekm
Branch: MAIN
Changes since 1.34: +1 -0 lines
Diff to previous 1.34 (colored)

New queue doesn't compile on gcc2, back out.  Spotted by deraadt@

Revision 1.34 / (download) - annotate - [select for diffs], Mon May 31 23:38:56 2010 UTC (14 years ago) by jacekm
Branch: MAIN
Changes since 1.33: +1 -2 lines
Diff to previous 1.33 (colored)

Rewrite entire queue code.

Major goals:

1) Fix bad performance caused by the runner process doing full queue
read in 1s intervals.  My Soekris can now happily accept >50 msg/s
while having multi-thousand queue; before, one hundred queue would
bring the system to its knees.

2) Introduce Qmail-like scheduler that doesn't write as much to the
disk so that it needs less code for servicing error conditions,
which in some places can be tricky to get right.

3) Introduce separation between the scheduler and the backend; these
two queue aspects shouldn't be too tied too each other.  This means
that eg. storing queue in SQL requires rewrite of just queue_backend.c.

4) Make on-disk queue format architecture independent, and more
easily extensible, to reduce number of flag days in the future.

Minor goals:

ENOSPC no longer prevents delivery attempts, fixed session limiting
for relayed mail, improved batching of "relay via" mails, human-readable
mailq output, "show queue raw" command, clearer logging, sending
of single bounce about multiple recipients, exact delay= computation,
zero delay between deliveries while within session limit (currently
1s delay between re-scheduling is enforced), mta no longer requests
content fd, corrected session limit for bounce submissions, tiny
<100B queue files instead of multi-KB, detect loops before accepting
mail, reduce traffic on imsg channels by killing enormous struct
submit_status.

Revision 1.33 / (download) - annotate - [select for diffs], Wed Apr 21 17:50:28 2010 UTC (14 years, 1 month ago) by jacekm
Branch: MAIN
Changes since 1.32: +18 -21 lines
Diff to previous 1.32 (colored)

Fix pathetic performance when submitting large mails via /usr/sbin/sendmail,
caused by realloc() abuse.

Revision 1.32 / (download) - annotate - [select for diffs], Mon Jan 11 21:43:37 2010 UTC (14 years, 4 months ago) by jacekm
Branch: MAIN
CVS Tags: OPENBSD_4_7_BASE, OPENBSD_4_7
Changes since 1.31: +2 -2 lines
Diff to previous 1.31 (colored)

Fix wrong logic in error checking of buf_dynamic, found by pcc.

Revision 1.31 / (download) - annotate - [select for diffs], Wed Dec 23 17:16:03 2009 UTC (14 years, 5 months ago) by jacekm
Branch: MAIN
Changes since 1.30: +53 -30 lines
Diff to previous 1.30 (colored)

Implementation of RFC 2920 PIPELINING extension, client side only for now.

This restructures the client_* API internals significantly.  The code becomes
pipelining in nature.  All SMTP commands are put on the output queue and
dequeued as quickly as possible.  Once dequeued, they're moved to the receive
queue so that replies can be matched with previous commands.

Dequeuing commands from the output queue halts when the count of commands
currently in-pipeline (``cmdi'') is equal to the command send window (``cmdw'').
There are three cmdw values useful in practice:

0               clear pipeline, ie. inhibit all future sends
1               disable pipelining, ie. use old ``one-request-one-reply`` mode
SIZE_T_MAX      enable pipelining, ie. dequeue as many commands as possible

At the beginning of session cmdw is 1.  When it is found that peer supports
PIPELINING, it grows to SIZE_T_MAX.  After dequeing DATA it is again 1.  After
sending QUIT it is 0.

Each command dequeued from the output queue becomes a buf in a msgbuf.  The act
of combining multiple commands into a single send operation did not need to be
implemented: buf_write() already combines bufs using iovec and sends them at
once using sendmsg(2).

Tested by todd@ and oga@

"looks good" to gilles@

Revision 1.30 / (download) - annotate - [select for diffs], Sun Dec 13 22:02:55 2009 UTC (14 years, 5 months ago) by jacekm
Branch: MAIN
Changes since 1.29: +3 -2 lines
Diff to previous 1.29 (colored)

Use safe fd limits in smtp, lka, queue, and control.  Removes a
possibility for fd-starvation fatal when under heavy load.

Revision 1.29 / (download) - annotate - [select for diffs], Sat Dec 12 14:03:59 2009 UTC (14 years, 5 months ago) by jacekm
Branch: MAIN
Changes since 1.28: +9 -7 lines
Diff to previous 1.28 (colored)

When acting as a client do content reads from the disk progressively
as the remote accepts more data instead of doing one big read into
the memory in the beginning of session.

Revision 1.28 / (download) - annotate - [select for diffs], Sat Dec 12 10:33:11 2009 UTC (14 years, 5 months ago) by jacekm
Branch: MAIN
Changes since 1.27: +34 -46 lines
Diff to previous 1.27 (colored)

Simplify client_* api, mainly by making fatal conditions result in immediate
fatals instead of passing the error up (kills ~300 lines).

Implement sending of the QUIT command which replaces crude close(2).

tested by gilles@, todd@

Revision 1.27 / (download) - annotate - [select for diffs], Sat Dec 12 10:14:07 2009 UTC (14 years, 5 months ago) by jacekm
Branch: MAIN
Changes since 1.26: +2 -2 lines
Diff to previous 1.26 (colored)

Don't qualify empty sender address with the domain, eg. in sendmail -f "<>".

Revision 1.26 / (download) - annotate - [select for diffs], Fri Nov 13 20:34:51 2009 UTC (14 years, 6 months ago) by chl
Branch: MAIN
Changes since 1.25: +2 -1 lines
Diff to previous 1.25 (colored)

add missing headers needed by time()

ok jacekm@

Revision 1.25 / (download) - annotate - [select for diffs], Sun Nov 8 21:40:05 2009 UTC (14 years, 6 months ago) by gilles
Branch: MAIN
Changes since 1.24: +2 -2 lines
Diff to previous 1.24 (colored)

- make aliases expansion use a rb tree instead of a tail queue, the code
  doesn't take advantage of the new structure yet, but this was a needed
  change for upcoming improvements.
- introduce aliasestree_{lookup,insert,remove} to the aliases api
- rename queue_generate_id() to generate_uid() and move it to utils.c as
  it is used all over the place and not only in queue

tree idea discussed with jacekm@, if you update rebuild aliases db, make
clean and flush queue

Revision 1.24 / (download) - annotate - [select for diffs], Mon Sep 21 20:35:26 2009 UTC (14 years, 8 months ago) by jacekm
Branch: MAIN
Changes since 1.23: +15 -6 lines
Diff to previous 1.23 (colored)

Expand "&" in the name part of gecos similarly to how sendmail and finger
expand it.  Based on a diff from landry@, thanks!

Revision 1.23 / (download) - annotate - [select for diffs], Fri Sep 18 00:04:26 2009 UTC (14 years, 8 months ago) by jacekm
Branch: MAIN
Changes since 1.22: +1 -11 lines
Diff to previous 1.22 (colored)

Remove useless Received line added at the /usr/sbin/sendmail stage, it
was not correctly formatted anyway.  Recording of sender uid has
been moved to the server process (getpeereid), which means it is not
subject to forgery.
Based on problem report by Michael Lechtermann <michael@lechtermann.net>

Revision 1.22 / (download) - annotate - [select for diffs], Wed Sep 16 11:46:17 2009 UTC (14 years, 8 months ago) by jacekm
Branch: MAIN
Changes since 1.21: +8 -2 lines
Diff to previous 1.21 (colored)

Ignore sendmail's -L, -A, and -q switches: makes clientmqueue cron
job exit silently.

Revision 1.21 / (download) - annotate - [select for diffs], Tue Sep 15 16:50:06 2009 UTC (14 years, 8 months ago) by jacekm
Branch: MAIN
Changes since 1.20: +11 -9 lines
Diff to previous 1.20 (colored)

Extend SMTP client_* API to support SSL+AUTH, and use it in the mta
process to relay mails.  ok gilles@

Revision 1.20 / (download) - annotate - [select for diffs], Thu Aug 27 11:37:30 2009 UTC (14 years, 9 months ago) by jacekm
Branch: MAIN
Changes since 1.19: +93 -278 lines
Diff to previous 1.19 (colored)

Implement client side of the SMTP protocol in a library-like module.
Make bounce code and /usr/sbin/sendmail interface use this new API.
The mta process continues to use its own implementation, but
eventually will be switched to use this shared module.

Buffer routines are taken from buffer.c rather than from evbuffer.
This is one step forward to using a single buffer API across the
program.

"it looks sexy" gilles@

Revision 1.19 / (download) - annotate - [select for diffs], Sat Aug 8 00:23:34 2009 UTC (14 years, 9 months ago) by gilles
Branch: MAIN
Changes since 1.18: +2 -2 lines
Diff to previous 1.18 (colored)

fix a small typo with no consequence in the generation of message id when
an enqueued message follows the offline codepath. the code used ',' to
separate components of the message uid when it should have used '.'

Revision 1.18 / (download) - annotate - [select for diffs], Sun Jun 7 05:56:25 2009 UTC (14 years, 11 months ago) by eric
Branch: MAIN
CVS Tags: OPENBSD_4_6_BASE, OPENBSD_4_6
Changes since 1.17: +2 -2 lines
Diff to previous 1.17 (colored)

Change the way fds passed over a socket are retreived on the receiving side.

Currently the receiver fetches an imsg via imsg_get() and if he expects
an fd, he then calls imsg_get_fd() to fetch the next fd queued on the
imsgbuf from which the imsg came.

This changes hides the fd queueing mechanism to the API user.  When closing
an imsg with an fd, the message is flagged so that the receiving end knows
it must dequeue the fd in imsg_get() and return it with the imsg structure.
This way there is no (less) possible screw up from imsg_get_fd() not being
called directly after imsg_get() by the user. The retreived imsg is
self-contained.

ok pyr@, "I like that" henning@

Revision 1.17 / (download) - annotate - [select for diffs], Fri Jun 5 20:43:57 2009 UTC (14 years, 11 months ago) by pyr
Branch: MAIN
Changes since 1.16: +2 -2 lines
Diff to previous 1.16 (colored)

make smtpd's imsg lib ready, just like relayd and ospfd.
ok gilles@, jacekm@

Revision 1.16 / (download) - annotate - [select for diffs], Mon May 25 11:17:32 2009 UTC (15 years ago) by jacekm
Branch: MAIN
Changes since 1.15: +10 -1 lines
Diff to previous 1.15 (colored)

Disallow submission using /usr/sbin/sendmail while the server is
paused, configuring, or exiting; ok gilles@

Revision 1.15 / (download) - annotate - [select for diffs], Thu May 14 15:05:12 2009 UTC (15 years ago) by eric
Branch: MAIN
Changes since 1.14: +2 -2 lines
Diff to previous 1.14 (colored)

use the nitems() macro where appropriate

ok gilles@, jacekm@

Revision 1.14 / (download) - annotate - [select for diffs], Tue Apr 21 18:12:05 2009 UTC (15 years, 1 month ago) by jacekm
Branch: MAIN
Changes since 1.13: +48 -2 lines
Diff to previous 1.13 (colored)

Make /usr/sbin/sendmail not fail due to smtpd being down.

The approach is to save cmdline + stdin in a file under a newly
added directory /var/spool/smtpd/offline (uid 0 gid 0 mode 1777).
Next time daemon starts, it uses information in that directory
to replay sendmail on user's behalf.

ok gilles@

Revision 1.13 / (download) - annotate - [select for diffs], Fri Apr 17 16:26:18 2009 UTC (15 years, 1 month ago) by jacekm
Branch: MAIN
Changes since 1.12: +3 -2 lines
Diff to previous 1.12 (colored)

handle case when no input is provided, fixes confusing error:

$ echo -n | sendmail root
sendmail: write: connection closed
$

Revision 1.12 / (download) - annotate - [select for diffs], Thu Apr 16 15:35:06 2009 UTC (15 years, 1 month ago) by jacekm
Branch: MAIN
Changes since 1.11: +600 -255 lines
Diff to previous 1.11 (colored)

Total rewrite of the sendmail interface. Adds support for -t, -v,
and -F cmdline args. Also, date and Message-Id headers are added
when missing.

The main trouble with the current enqueue code is that it requires
dealing with problems in the control process that are already solved
in the smtp process, ie. duplicating a lot of code which interacts
with untrusted clients. This diff solves this by making sendmail
obtain a SMTP socket from smtp via smtpd.sock, and using that socket
to deliver the message. For smtpd it looks as if connection was
made from the network, only difference being the F_MESSAGE_ENQUEUED
message flag, handy when differentation between local and remote
deliveries is wanted.

Most of the features come from the femail program, created by henning@.

Additional testing by Nigel J. Taylor.

ok gilles@, henning@ happy with smtpd using femail code

Revision 1.11 / (download) - annotate - [select for diffs], Sun Apr 5 16:10:42 2009 UTC (15 years, 2 months ago) by gilles
Branch: MAIN
Changes since 1.10: +3 -2 lines
Diff to previous 1.10 (colored)

ignore -o option (for now at least) when working in enqueue mode, this
prevents smtpctl from choking and allows it to work with more mua's by
default.

spotted and added to my todo list by oga@

Revision 1.10 / (download) - annotate - [select for diffs], Sun Mar 1 12:10:24 2009 UTC (15 years, 3 months ago) by jacekm
Branch: MAIN
Changes since 1.9: +3 -3 lines
Diff to previous 1.9 (colored)

ss_len was set to sizeof pointer, should be sizeof structure; ok gilles@

Revision 1.9 / (download) - annotate - [select for diffs], Sun Feb 22 11:44:29 2009 UTC (15 years, 3 months ago) by form
Branch: MAIN
CVS Tags: OPENBSD_4_5_BASE, OPENBSD_4_5
Changes since 1.8: +10 -8 lines
Diff to previous 1.8 (colored)

replace MAX* constants by sizeof where possible

ok jacekm@

Revision 1.8 / (download) - annotate - [select for diffs], Thu Jan 29 15:20:34 2009 UTC (15 years, 4 months ago) by gilles
Branch: MAIN
Changes since 1.7: +5 -1 lines
Diff to previous 1.7 (colored)

Received header line was incomplete for mail submitted through the enqueuer
as well as for some outgoing messages, this is fixed now

Revision 1.7 / (download) - annotate - [select for diffs], Thu Jan 29 10:18:27 2009 UTC (15 years, 4 months ago) by gilles
Branch: MAIN
Changes since 1.6: +1 -3 lines
Diff to previous 1.6 (colored)

- remove a very annoying debug printf()

Revision 1.6 / (download) - annotate - [select for diffs], Wed Jan 28 19:49:57 2009 UTC (15 years, 4 months ago) by jacekm
Branch: MAIN
Changes since 1.5: +13 -26 lines
Diff to previous 1.5 (colored)

cleanup; ok gilles@

Revision 1.5 / (download) - annotate - [select for diffs], Wed Jan 28 14:15:51 2009 UTC (15 years, 4 months ago) by gilles
Branch: MAIN
Changes since 1.4: +9 -1 lines
Diff to previous 1.4 (colored)

if recipient was provided as a username, append the local hostname, this
unbreaks:

$ echo foo | mail gilles
send-mail: invalid recipient address.

Revision 1.4 / (download) - annotate - [select for diffs], Wed Jan 28 11:27:57 2009 UTC (15 years, 4 months ago) by gilles
Branch: MAIN
Changes since 1.3: +3 -1 lines
Diff to previous 1.3 (colored)

add a struct path to struct message so that we can keep track of the RCPT
provided recipient even after aliases/forwards expansion, we'll need this
for loop detection.

message id and uid being MAXPATHLEN long is a waste, define MAX_ID_SIZE
which is currently set to 64 (but can probably be further reduced) and
make sure that structures and the few strlcpy's use the right define.

original idea by jacekm@ a while ago

Revision 1.3 / (download) - annotate - [select for diffs], Wed Jan 28 00:19:27 2009 UTC (15 years, 4 months ago) by gilles
Branch: MAIN
Changes since 1.2: +15 -9 lines
Diff to previous 1.2 (colored)

a bit of enqueue cleanup, and while at it set the sender local address to
::1 (fallback to 127.0.0.1) before sending the enqueue request.

Revision 1.2 / (download) - annotate - [select for diffs], Wed Jan 28 00:09:54 2009 UTC (15 years, 4 months ago) by gilles
Branch: MAIN
Changes since 1.1: +1 -6 lines
Diff to previous 1.1 (colored)

- remove debug messages

Revision 1.1 / (download) - annotate - [select for diffs], Tue Jan 27 22:48:29 2009 UTC (15 years, 4 months ago) by gilles
Branch: MAIN

first bricks of enqueue code which allows smtpctl to submit mail to queue
without "talking" smtp to listeners. currently, a big part of the server
side code is done (and requires a cleanup), next step is to get it usable
properly from a mail user agent.

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.