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?