OpenBSD CVS

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


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

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.23 / (download) - annotate - [select for diffs], Tue May 28 07:10:30 2024 UTC (4 days, 15 hours ago) by op
Branch: MAIN
CVS Tags: HEAD
Changes since 1.22: +2 -1 lines
Diff to previous 1.22 (colored)

actually honour the services supported by the proc tables

ok gilles@

Revision 1.22 / (download) - annotate - [select for diffs], Thu May 23 17:10:00 2024 UTC (9 days, 5 hours ago) by op
Branch: MAIN
Changes since 1.21: +25 -5 lines
Diff to previous 1.21 (colored)

require an error message on table_proc failure replies

The error message is not really used, it just gets translated to a
TEMPFAIL, but it allows to have mandatory logging of errors instead
of relying on tables to hopefully log something.

To ease the transition, don't make it mandatory in smtpd(8) yet,
but document it as such.

ok millert@, gilles@

Revision 1.21 / (download) - annotate - [select for diffs], Thu May 23 17:05:45 2024 UTC (9 days, 5 hours ago) by op
Branch: MAIN
Changes since 1.20: +4 -3 lines
Diff to previous 1.20 (colored)

catch EOFs during table_proc handshake

while here also do a s/fatalx/fatal since getline() sets errno on
failure.

ok millert@, gilles@

Revision 1.20 / (download) - annotate - [select for diffs], Wed May 22 08:41:02 2024 UTC (10 days, 14 hours ago) by op
Branch: MAIN
Changes since 1.19: +2 -3 lines
Diff to previous 1.19 (colored)

align table_proc id printing with the rest of smtpd

ok gilles@

Revision 1.19 / (download) - annotate - [select for diffs], Tue May 14 13:28:08 2024 UTC (2 weeks, 4 days ago) by op
Branch: MAIN
Changes since 1.18: +11 -11 lines
Diff to previous 1.18 (colored)

use C99 syntax for filling the table_backend structs; ok gilles@

Revision 1.18 / (download) - annotate - [select for diffs], Tue May 7 12:10:06 2024 UTC (3 weeks, 4 days ago) by op
Branch: MAIN
Changes since 1.17: +182 -154 lines
Diff to previous 1.17 (colored)

change the smtpd table protocol

Using imsg for the "proc" table (external programs) has proven quite
painful in practice since a lot of smtpd internals (structs, enums,
etc..) have to be kept in sync with the various tables implementations.

Instead, a filter-like protocol for tables decouples the implementations
and allows to write and test tables easily.

The new text-based transport protocol is documented in the (added)
smtpd-tables(7) manpage.

The old imsg protocol is no longer supported and existing tables have to
be converted.  In particular, users of opensmtpd-extras tables will need
install the new opensmtpd-table-* packages.

With lots of suggestions and improvements from gilles and a tweak
from Philipp (philipp+openbsd [at] bureaucracy [dot] de), thanks!

ok gilles

Revision 1.17 / (download) - annotate - [select for diffs], Mon Jun 14 17:58:16 2021 UTC (2 years, 11 months ago) by eric
Branch: MAIN
CVS Tags: OPENBSD_7_5_BASE, OPENBSD_7_5, OPENBSD_7_4_BASE, OPENBSD_7_4, 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.16: +1 -15 lines
Diff to previous 1.16 (colored)

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

ok jung@

Revision 1.16 / (download) - annotate - [select for diffs], Thu Oct 3 04:51:15 2019 UTC (4 years, 8 months ago) by gilles
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, OPENBSD_6_6_BASE, OPENBSD_6_6
Changes since 1.15: +3 -2 lines
Diff to previous 1.15 (colored)

fatal() if imsg_flush() call fails in table proc

Revision 1.15 / (download) - annotate - [select for diffs], Thu Dec 27 14:23:41 2018 UTC (5 years, 5 months ago) by eric
Branch: MAIN
CVS Tags: OPENBSD_6_5_BASE, OPENBSD_6_5
Changes since 1.14: +3 -1 lines
Diff to previous 1.14 (colored)

introduce dump() and add() table methods, only implemented for static tables.

ok gilles@

Revision 1.14 / (download) - annotate - [select for diffs], Thu Dec 27 09:30:29 2018 UTC (5 years, 5 months ago) by eric
Branch: MAIN
Changes since 1.13: +5 -5 lines
Diff to previous 1.13 (colored)

pass the table pointer to the lookup()/fecth() methods

ok gilles@

Revision 1.13 / (download) - annotate - [select for diffs], Thu Dec 27 08:57:03 2018 UTC (5 years, 5 months ago) by eric
Branch: MAIN
Changes since 1.12: +5 -3 lines
Diff to previous 1.12 (colored)

change the close() method to take the table pointer

ok gilles

Revision 1.12 / (download) - annotate - [select for diffs], Thu Dec 27 08:08:06 2018 UTC (5 years, 5 months ago) by eric
Branch: MAIN
Changes since 1.11: +5 -3 lines
Diff to previous 1.11 (colored)

Make the backend open method return an int to report success.
The implementation is responsible for setting the handle pointer
as needed.

ok gilles@

Revision 1.11 / (download) - annotate - [select for diffs], Wed Dec 26 20:13:43 2018 UTC (5 years, 5 months ago) by eric
Branch: MAIN
Changes since 1.10: +2 -2 lines
Diff to previous 1.10 (colored)

reorder parameters for consistency

Revision 1.10 / (download) - annotate - [select for diffs], Wed Dec 26 14:15:13 2018 UTC (5 years, 5 months ago) by eric
Branch: MAIN
Changes since 1.9: +7 -25 lines
Diff to previous 1.9 (colored)

get rid of the unused dict argument in table lookup and fetch api.

ok gilles@

Revision 1.9 / (download) - annotate - [select for diffs], Wed Dec 26 11:53:02 2018 UTC (5 years, 5 months ago) by eric
Branch: MAIN
Changes since 1.8: +2 -1 lines
Diff to previous 1.8 (colored)

move the table backend name in the backend struct.
remove unused function.

ok gilles@

Revision 1.8 / (download) - annotate - [select for diffs], Sun Dec 23 15:53:24 2018 UTC (5 years, 5 months ago) by eric
Branch: MAIN
Changes since 1.7: +11 -8 lines
Diff to previous 1.7 (colored)

Simplify the table backend interface: lookup results are returned
as strings, and parsing is handled by the upper layer.

ok gilles@

Revision 1.7 / (download) - annotate - [select for diffs], Thu May 31 21:06:12 2018 UTC (6 years ago) by gilles
Branch: MAIN
CVS Tags: OPENBSD_6_4_BASE, OPENBSD_6_4
Changes since 1.6: +2 -2 lines
Diff to previous 1.6 (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.6 / (download) - annotate - [select for diffs], Sat Dec 5 13:14:21 2015 UTC (8 years, 5 months ago) by claudio
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, OPENBSD_5_9_BASE, OPENBSD_5_9
Changes since 1.5: +2 -2 lines
Diff to previous 1.5 (colored)

EAGAIN handling for imsg_read. OK henning@ benno@

Revision 1.5 / (download) - annotate - [select for diffs], Tue Jan 20 17:37:54 2015 UTC (9 years, 4 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_5_8_BASE, OPENBSD_5_8, OPENBSD_5_7_BASE, OPENBSD_5_7
Changes since 1.4: +2 -1 lines
Diff to previous 1.4 (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.4 / (download) - annotate - [select for diffs], Fri Jan 16 06:40:21 2015 UTC (9 years, 4 months ago) by deraadt
Branch: MAIN
Changes since 1.3: +1 -2 lines
Diff to previous 1.3 (colored)

Replace <sys/param.h> with <limits.h> and other less dirty headers where
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)

Revision 1.3 / (download) - annotate - [select for diffs], Tue Jul 8 13:49:09 2014 UTC (9 years, 10 months ago) by eric
Branch: MAIN
CVS Tags: OPENBSD_5_6_BASE, OPENBSD_5_6
Changes since 1.2: +40 -36 lines
Diff to previous 1.2 (colored)

Update the table API: lookup functions can take an optional parameters
dictionnary (currently not set). While there, add a helper for forking
external backends, and remove unused table functions.

ok gilles@

Revision 1.2 / (download) - annotate - [select for diffs], Tue Feb 4 13:55:34 2014 UTC (10 years, 3 months ago) by eric
Branch: MAIN
CVS Tags: OPENBSD_5_5_BASE, OPENBSD_5_5
Changes since 1.1: +6 -5 lines
Diff to previous 1.1 (colored)

socketmap table backend.

Revision 1.1 / (download) - annotate - [select for diffs], Fri Jul 19 19:53:33 2013 UTC (10 years, 10 months ago) by eric
Branch: MAIN
CVS Tags: OPENBSD_5_4_BASE, OPENBSD_5_4

Add a table_proc backend for delegating table lookups to another
process.  Stop building experimental table_sqlite and table_ldap as
they will be provided as external backends.

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.