I understand the API and documentation are both still "experimental".  I'm 
using smtpd 6.7.0.

Questions are regarding the conversation which I've pasted below (I've added 
line numbers and some formatting for readability).

1.  On line 35 the report 'link-connect' has the parameters as specified in 
Filters (7) (i.e.  rdns fcrdns src dest).  The associated filter request (line 
36) is supposed to contain the same parameters, but it appears to only contain 
the source IP (without port) and the rdns.

2.  The associated 'filter-response' report (line 38) has the phase as 
'connected' whereas the prior two messages use just 'connect'.  It seems as if 
these should be consistent because the connection has still yet to be accepted.

3.  On line 54, the 'starttls' filter request contains no parameter.  Filters 
(7) specifies a parameter of 'tls-string'.  It would seem the man page is 
incorrect here, as the tls session has not been established at this point, and 
therefore there cannot be a tls-string to send in the filter request.  Is this 
filter request supposed to come AFTER the TLS session is negotiated?

Overall, I think the API is brilliant.

Thanks.

     1     > config|smtpd-version|6.7.0
     2     > config|smtp-session-timeout|300
     3     > config|subsystem|smtp-in
     4     > config|ready
     5            < register|report|smtp-in|link-connect
     6            < register|report|smtp-in|link-greeting
     7            < register|report|smtp-in|link-identify
     8            < register|report|smtp-in|link-tls
     9            < register|report|smtp-in|link-disconnect
    10            < register|report|smtp-in|link-auth
    11            < register|report|smtp-in|tx-reset
    12            < register|report|smtp-in|tx-begin
    13            < register|report|smtp-in|tx-mail
    14            < register|report|smtp-in|tx-rcpt
    15            < register|report|smtp-in|tx-envelope
    16            < register|report|smtp-in|tx-data
    17            < register|report|smtp-in|tx-commit
    18            < register|report|smtp-in|tx-rollback
    19            < register|report|smtp-in|protocol-client
    20            < register|report|smtp-in|protocol-server
    21            < register|report|smtp-in|filter-report
    22            < register|report|smtp-in|filter-response
    23            < register|report|smtp-in|timeout
    24            < register|filter|smtp-in|connect
    25            < register|filter|smtp-in|helo
    26            < register|filter|smtp-in|ehlo
    27            < register|filter|smtp-in|starttls
    28            < register|filter|smtp-in|auth
    29            < register|filter|smtp-in|mail-from
    30            < register|filter|smtp-in|rcpt-to
    31            < register|filter|smtp-in|data
    32            < register|filter|smtp-in|data-line
    33            < register|filter|smtp-in|commit
    34            < register|ready
    35     > 
report|0.6|1589599841.074113|smtp-in|link-connect|97ccbb42906c0f1d|localhost|pass|127.0.0.1:11347|127.0.0.1:25
    36     > 
filter|0.6|1589599841.074153|smtp-in|connect|97ccbb42906c0f1d|94311a5a7f28292a|localhost|127.0.0.1
    37            < filter-result|97ccbb42906c0f1d|94311a5a7f28292a|proceed
    38     > 
report|0.6|1589599841.074953|smtp-in|filter-response|97ccbb42906c0f1d|connected|proceed
    39     > 
report|0.6|1589599841.074956|smtp-in|protocol-server|97ccbb42906c0f1d|220 
mx1.exampleb.com ESMTP OpenSMTPD
    40     > 
report|0.6|1589599841.074960|smtp-in|link-greeting|97ccbb42906c0f1d|mx1.exampleb.com
    41     > 
report|0.6|1589599841.077888|smtp-in|protocol-client|97ccbb42906c0f1d|EHLO 
example.com
    42     > 
filter|0.6|1589599841.077917|smtp-in|ehlo|97ccbb42906c0f1d|94311a5ca4a9b917|example.com
    43            < filter-result|97ccbb42906c0f1d|94311a5ca4a9b917|proceed
    44     > 
report|0.6|1589599841.078509|smtp-in|filter-response|97ccbb42906c0f1d|ehlo|proceed
    45     > 
report|0.6|1589599841.078512|smtp-in|link-identify|97ccbb42906c0f1d|EHLO|example.com
    46     > 
report|0.6|1589599841.078516|smtp-in|protocol-server|97ccbb42906c0f1d|250-mx1.exampleb.com
 Hello example.com [127.0.0.1], pleased to meet you
    47     > 
report|0.6|1589599841.078519|smtp-in|protocol-server|97ccbb42906c0f1d|250-8BITMIME
    48     > 
report|0.6|1589599841.078522|smtp-in|protocol-server|97ccbb42906c0f1d|250-ENHANCEDSTATUSCODES
    49     > 
report|0.6|1589599841.078524|smtp-in|protocol-server|97ccbb42906c0f1d|250-SIZE 
36700160
    50     > 
report|0.6|1589599841.078526|smtp-in|protocol-server|97ccbb42906c0f1d|250-DSN
    51     > 
report|0.6|1589599841.078528|smtp-in|protocol-server|97ccbb42906c0f1d|250-STARTTLS
    52     > 
report|0.6|1589599841.078530|smtp-in|protocol-server|97ccbb42906c0f1d|250 HELP
    53     > 
report|0.6|1589599841.080841|smtp-in|protocol-client|97ccbb42906c0f1d|STARTTLS
    54     > 
filter|0.6|1589599841.080896|smtp-in|starttls|97ccbb42906c0f1d|94311a5d0a743072|
    55            < filter-result|97ccbb42906c0f1d|94311a5d0a743072|proceed
    56     > 
report|0.6|1589599841.081532|smtp-in|filter-response|97ccbb42906c0f1d|tls|proceed
    57     > 
report|0.6|1589599841.081536|smtp-in|protocol-server|97ccbb42906c0f1d|220 2.0.0 
Ready to start TLS
    58     > 
report|0.6|1589599841.107806|smtp-in|link-tls|97ccbb42906c0f1d|TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256
    59     > 
report|0.6|1589599841.109312|smtp-in|protocol-client|97ccbb42906c0f1d|EHLO 
example.com
    60     > 
filter|0.6|1589599841.109345|smtp-in|ehlo|97ccbb42906c0f1d|94311a5ca4a9b917|example.com
    61            < filter-result|97ccbb42906c0f1d|94311a5ca4a9b917|proceed
    62     > 
report|0.6|1589599841.109938|smtp-in|filter-response|97ccbb42906c0f1d|ehlo|proceed
    63     > 
report|0.6|1589599841.109941|smtp-in|link-identify|97ccbb42906c0f1d|EHLO|example.com
    64     > 
report|0.6|1589599841.109945|smtp-in|protocol-server|97ccbb42906c0f1d|250-mx1.exampleb.com
 Hello example.com [127.0.0.1], pleased to meet you
    65     > 
report|0.6|1589599841.109948|smtp-in|protocol-server|97ccbb42906c0f1d|250-8BITMIME
    66     > 
report|0.6|1589599841.109953|smtp-in|protocol-server|97ccbb42906c0f1d|250-ENHANCEDSTATUSCODES
    67     > 
report|0.6|1589599841.109969|smtp-in|protocol-server|97ccbb42906c0f1d|250-SIZE 
36700160
    68     > 
report|0.6|1589599841.109971|smtp-in|protocol-server|97ccbb42906c0f1d|250-DSN
    69     > 
report|0.6|1589599841.109973|smtp-in|protocol-server|97ccbb42906c0f1d|250 HELP
    70     > 
report|0.6|1589599841.112363|smtp-in|protocol-client|97ccbb42906c0f1d|MAIL 
FROM:<j...@example.com>
    71     > 
filter|0.6|1589599841.112391|smtp-in|mail-from|97ccbb42906c0f1d|94311a5fadb1d5e7|j...@example.com
    72            < filter-result|97ccbb42906c0f1d|94311a5fadb1d5e7|proceed
    73     > 
report|0.6|1589599841.113068|smtp-in|filter-response|97ccbb42906c0f1d|mail-from|proceed
    74     > 
report|0.6|1589599841.113617|smtp-in|protocol-server|97ccbb42906c0f1d|250 2.0.0 
Ok
    75     > 
report|0.6|1589599841.113619|smtp-in|tx-begin|97ccbb42906c0f1d|c231ed62
    76     > 
report|0.6|1589599841.113620|smtp-in|tx-mail|97ccbb42906c0f1d|c231ed62|ok|j...@example.com
    77     > 
report|0.6|1589599841.115008|smtp-in|protocol-client|97ccbb42906c0f1d|RCPT 
TO:<st...@exampleb.com>
    78     > 
filter|0.6|1589599841.115037|smtp-in|rcpt-to|97ccbb42906c0f1d|94311a604a6bcd98|st...@exampleb.com
    79            < filter-result|97ccbb42906c0f1d|94311a604a6bcd98|proceed
    80     > 
report|0.6|1589599841.115632|smtp-in|filter-response|97ccbb42906c0f1d|rcpt-to|proceed
    81     > 
report|0.6|1589599841.116809|smtp-in|tx-envelope|97ccbb42906c0f1d|c231ed62|c231ed62518e7904
    82     > 
report|0.6|1589599841.116814|smtp-in|protocol-server|97ccbb42906c0f1d|250 2.1.5 
Destination address valid: Recipient ok
    83     > 
report|0.6|1589599841.116817|smtp-in|tx-rcpt|97ccbb42906c0f1d|c231ed62|ok|st...@exampleb.com
    84     > 
report|0.6|1589599841.117897|smtp-in|protocol-client|97ccbb42906c0f1d|DATA
    85     > 
filter|0.6|1589599841.117936|smtp-in|data|97ccbb42906c0f1d|94311a6147b9b18f|
    86            < filter-result|97ccbb42906c0f1d|94311a6147b9b18f|proceed
    87     > 
report|0.6|1589599841.118534|smtp-in|filter-response|97ccbb42906c0f1d|data|proceed
    88     > 
filter|0.6|1589599841.119196|smtp-in|data-line|97ccbb42906c0f1d|94311a62f693495e|Received:
 from example.com (localhost [127.0.0.1])
    89     > 
filter|0.6|1589599841.119201|smtp-in|data-line|97ccbb42906c0f1d|94311a62f693495e|
  by mx1.exampleb.com (OpenSMTPD) with ESMTPS id c231ed62 
(TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO)
    90     > 
filter|0.6|1589599841.119203|smtp-in|data-line|97ccbb42906c0f1d|94311a62f693495e|
  for <st...@exampleb.com>;
    91     > 
filter|0.6|1589599841.119205|smtp-in|data-line|97ccbb42906c0f1d|94311a62f693495e|
  Fri, 15 May 2020 19:30:41 -0800 (AKDT)
    92     > 
report|0.6|1589599841.119038|smtp-in|protocol-server|97ccbb42906c0f1d|354 Enter 
mail, end with "." on a line by itself
    93     > 
report|0.6|1589599841.119040|smtp-in|tx-data|97ccbb42906c0f1d|c231ed62|ok
    94     > 
filter|0.6|1589599841.120794|smtp-in|data-line|97ccbb42906c0f1d|94311a62f693495e|Date:
 Fri, 15 May 2020 19:30:41 -0800
    95     > 
filter|0.6|1589599841.120798|smtp-in|data-line|97ccbb42906c0f1d|94311a62f693495e|To:
 st...@exampleb.com
    96     > 
filter|0.6|1589599841.120800|smtp-in|data-line|97ccbb42906c0f1d|94311a62f693495e|From:
 j...@example.com
    97     > 
filter|0.6|1589599841.120801|smtp-in|data-line|97ccbb42906c0f1d|94311a62f693495e|Subject:
 test-mail
    98     > 
filter|0.6|1589599841.120803|smtp-in|data-line|97ccbb42906c0f1d|94311a62f693495e|X-Mailer:
 swaks v20130209.0 jetmore.org/john/code/swaks/
    99     > 
filter|0.6|1589599841.120806|smtp-in|data-line|97ccbb42906c0f1d|94311a62f693495e|
   100     > 
filter|0.6|1589599841.120808|smtp-in|data-line|97ccbb42906c0f1d|94311a62f693495e|This
 is a test mailing
   101     > 
filter|0.6|1589599841.120809|smtp-in|data-line|97ccbb42906c0f1d|94311a62f693495e|
   102     > 
filter|0.6|1589599841.120811|smtp-in|data-line|97ccbb42906c0f1d|94311a62f693495e|.
   103            < filter-dataline|97ccbb42906c0f1d|94311a62f693495e|Test 
Header: This is a test of header insertion
   104            < filter-dataline|97ccbb42906c0f1d|94311a62f693495e|Received: 
from example.com (localhost [127.0.0.1])
   105            < filter-dataline|97ccbb42906c0f1d|94311a62f693495e|  by 
mx1.exampleb.com (OpenSMTPD) with ESMTPS id c231ed62 
(TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO)
   106            < filter-dataline|97ccbb42906c0f1d|94311a62f693495e|  for 
<st...@exampleb.com>;
   107            < filter-dataline|97ccbb42906c0f1d|94311a62f693495e|  Fri, 15 
May 2020 19:30:41 -0800 (AKDT)
   108            < filter-dataline|97ccbb42906c0f1d|94311a62f693495e|Date: 
Fri, 15 May 2020 19:30:41 -0800
   109            < filter-dataline|97ccbb42906c0f1d|94311a62f693495e|To: 
st...@exampleb.com
   110            < filter-dataline|97ccbb42906c0f1d|94311a62f693495e|From: 
j...@example.com
   111            < filter-dataline|97ccbb42906c0f1d|94311a62f693495e|Subject: 
test-mail
   112            < filter-dataline|97ccbb42906c0f1d|94311a62f693495e|X-Mailer: 
swaks v20130209.0 jetmore.org/john/code/swaks/
   113            < filter-dataline|97ccbb42906c0f1d|94311a62f693495e|
   114            < filter-dataline|97ccbb42906c0f1d|94311a62f693495e|This is a 
test mailing
   115            < filter-dataline|97ccbb42906c0f1d|94311a62f693495e|
   116            < filter-dataline|97ccbb42906c0f1d|94311a62f693495e|.
   117     > 
report|0.6|1589599841.123260|smtp-in|protocol-client|97ccbb42906c0f1d|.
   118     > 
filter|0.6|1589599841.123297|smtp-in|commit|97ccbb42906c0f1d|94311a6381db3e1e|
   119            < filter-result|97ccbb42906c0f1d|94311a6381db3e1e|proceed
   120     > 
report|0.6|1589599841.123802|smtp-in|filter-response|97ccbb42906c0f1d|commit|proceed
   121     > 
report|0.6|1589599841.124694|smtp-in|protocol-server|97ccbb42906c0f1d|250 2.0.0 
c231ed62 Message accepted for delivery
   122     > 
report|0.6|1589599841.124697|smtp-in|tx-commit|97ccbb42906c0f1d|c231ed62|723
   123     > 
report|0.6|1589599841.124699|smtp-in|tx-reset|97ccbb42906c0f1d|c231ed62
   124     > 
report|0.6|1589599841.131674|smtp-in|protocol-client|97ccbb42906c0f1d|QUIT
   125     > 
report|0.6|1589599841.132018|smtp-in|filter-response|97ccbb42906c0f1d|quit|proceed
   126     > 
report|0.6|1589599841.132023|smtp-in|protocol-server|97ccbb42906c0f1d|221 2.0.0 
Bye
   127     > 
report|0.6|1589599841.132281|smtp-in|link-disconnect|97ccbb42906c0f1d

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Monday, May 18, 2020 10:44 PM, <gil...@poolp.org> wrote:

> Here is fine yes
>
> May 19, 2020 3:46 AM, po...@protonmail.com wrote:
>
>> OpenSMTPd 6.7.0
>> Based upon Filters(7) I have written a proof-of-concept filter which is 
>> functioning properly
>> I have several questions about the details of the API.
>> Is this the most appropriate forum for such questions?

Reply via email to