Support BDAT on nethserver

Need to allow BDAT on nethserver email server eithee on a specific message or globally, any ideas how i achieve this.

for those like me who do not know what BDAT is:
http://www.postfix.org/BDAT_README.html
https://www.rfc-editor.org/rfc/rfc3030

@derilium are you aware if Postfix 2.10 supports BDAT?

It doesn’t appear so, at least as Neth configures it:

dan@Dan-MBP-2013 î‚° ~ î‚° openssl s_client -starttls smtp -crlf -connect mail.familybrown.org:587
CONNECTED(00000005)
(big snip)
250 DSN
EHLO mac.mydomain.org
250-neth.mydomain.org
250-PIPELINING
250-SIZE 100000000
250-VRFY
250-ETRN
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
MAIL FROM:<dan@mydomain.org>
250 2.1.0 Ok
RCPT TO:<admin@mydomain.org>
RENEGOTIATING
(more snippage)
BDAT 1000
502 5.5.2 Error: command not recognized
DONE

The Postfix release in CentOS 7, and thus in Nethserver 7, is over nine years old (it was released on 22 Jun 13). BDAT support was introduced in version 3.4.0 on 27 Feb 19: Postfix stable release 3.4.0

@derilium, this may be feasible when NS8 is released, but it isn’t going to be possible with NS7.

1 Like

What goes next are my opinions and results of searching. No relation with project development or managament.

As far as i looked into internet, Postfix3 or better… postfix3 is not available into RHEL7/CentOS7 repositories.

However, it’s available a RHEL7/CentOS7 build compatible of postfix3 on GhettoForge.
http://ghettoforge.org/index.php/Postfix3
It’s the first time that I read the name of this team/repository. As a Linux noob, that don’t surprise me that much, never know remi or elrepo names before using it.

Looking for more detail, i found that the installation of postfix3 postfix3-ldap postfix3-mysql postfix3-utils leads to this list of dependencies.

Installing for dependencies:
 libicu                                                  x86_64                                  50.2-4.el7_7                                          base                                     6.9 M
 openssl11-libs                                          x86_64                                  1:1.1.1g-3.el7                                        epel                                     1.5 M
 perl                                                    x86_64                                  4:5.16.3-299.el7_9                                    updates                                  8.0 M
 perl-Bit-Vector                                         x86_64                                  7.3-3.el7                                             base                                     165 k
 perl-Carp                                               noarch                                  1.26-244.el7                                          base                                      19 k
 perl-Carp-Clan                                          noarch                                  6.04-10.el7                                           base                                      26 k
 perl-Date-Calc                                          noarch                                  6.3-14.el7                                            base                                     210 k
 perl-Encode                                             x86_64                                  2.51-7.el7                                            base                                     1.5 M
 perl-Exporter                                           noarch                                  5.68-3.el7                                            base                                      28 k
 perl-File-Path                                          noarch                                  2.09-2.el7                                            base                                      26 k
 perl-File-Temp                                          noarch                                  0.23.01-3.el7                                         base                                      56 k
 perl-Filter                                             x86_64                                  1.49-3.el7                                            base                                      76 k
 perl-Getopt-Long                                        noarch                                  2.40-3.el7                                            base                                      56 k
 perl-HTTP-Tiny                                          noarch                                  0.033-3.el7                                           base                                      38 k
 perl-PathTools                                          x86_64                                  3.40-5.el7                                            base                                      82 k
 perl-Pod-Escapes                                        noarch                                  1:1.04-299.el7_9                                      updates                                   52 k
 perl-Pod-Perldoc                                        noarch                                  3.20-4.el7                                            base                                      87 k
 perl-Pod-Simple                                         noarch                                  1:3.28-4.el7                                          base                                     216 k
 perl-Pod-Usage                                          noarch                                  1.63-3.el7                                            base                                      27 k
 perl-Scalar-List-Utils                                  x86_64                                  1.27-248.el7                                          base                                      36 k
 perl-Socket                                             x86_64                                  2.010-5.el7                                           base                                      49 k
 perl-Storable                                           x86_64                                  2.45-3.el7                                            base                                      77 k
 perl-Text-ParseWords                                    noarch                                  3.29-4.el7                                            base                                      14 k
 perl-Time-HiRes                                         x86_64                                  4:1.9725-3.el7                                        base                                      45 k
 perl-Time-Local                                         noarch                                  1.2300-2.el7                                          base                                      24 k
 perl-constant                                           noarch                                  1.27-2.el7                                            base                                      19 k
 perl-libs                                               x86_64                                  4:5.16.3-299.el7_9                                    updates                                  690 k
 perl-macros                                             x86_64                                  4:5.16.3-299.el7_9                                    updates                                   44 k
 perl-parent                                             noarch                                  1:0.225-244.el7                                       base                                      12 k
 perl-podlators                                          noarch                                  2.5.1-3.el7                                           base                                     112 k
 perl-threads                                            x86_64                                  1.87-4.el7                                            base                                      49 k
 perl-threads-shared                                     x86_64     

if using MySQL as a sidekick for the MTA/MDA/MUA. I’m not sure if NethServer is using instead PostGRE, but whatever.

From infos, to personal opinions.
Integrating postfix3 at current stage of development of Neth7 (something like “modify only of Eurpean Union, Microsoft or Apple have sniping rifle aiming at you”) seems quite tough.

The expanding template engine need to checked and validated for Postfix3.
The translation of the settings from postfix to postfix3 needs to be thoroughly tested.
Then starts the package-by-package verification for things that can go in seamlessly, with tweakings, with modifications or… with full package dependency rollout to solve compatibility issues.
And hoping that all of this lead to green light… while developing the container orchestrator, the migration from modules to containers, the backup procedures, the restore procedures, QA, updates, bugfix for both releases, hoping that the future version can be considered beta soon to expand the testbench outside and find more loose bolts.

So.
I don’t think that winning a lottery is more likely to happen, but the realm of possibilities is not that far:
Unless in few months some gamechanger regulation arrives (like TLS 2.wonderful as default par law) and there’s no library available for 2.10 version of Postfix.

Thanks for all the help on this, at the present time i ended up adding a template and forcing office 365 to append a " " to any emails it sends to a certain address, that way it doesnt cause a problem with nethserver.

I used this as a basis to fix the issue