> On Nov 20, 2017, at 10:46 PM, AnotherGuyFromAlberta <crmckin...@shaw.ca> > wrote: > > I recently upgraded a Mac server to 10.13 (High Sierra). This server > has been running for about 5 years and hosts Postfix. After upgrading the > OS I upgraded: > 1. dovecot to 2.2.33.2 > 2. openssl to 1.1.0g > 3. pcre to 8.41 > 4. postfix to 3.2.4 > > Everything appears to compile and work except TLS on Postfix. It crashes > with the same error > every few minutes. Here's a snippet of the crash: > > Assertion failed: (ctx->pctx == NULL || ctx->pctx_ops != NULL), function > EVP_MD_CTX_cleanup, file > /BuildRoot/Library/Caches/com.apple.xbs/Sources/boringssl/boringssl-109.20.5/crypto/digest/digest.c, > line 98.
The "BoringSSL" library is derived from and conflicts with OpenSSL. With some care in the compiler options you may be able to build a version of Postfix that is using OpenSSL and not Boring SSL. I have (my own build of) OpenSSL 1.1.0 installed in /opt/openssl/1.1.0 and after configuration makedefs.out has: CCARGS=-I/opt/openssl/1.1.0/include -DUSE_TLS -DHAS_PCRE -DHAS_CDB -I/usr/local/include AUXLIBS=-L/opt/openssl/1.1.0/lib -lssl -lcrypto -L/usr/local/lib -ldb AUXLIBS_PCRE=-L/usr/local/lib -lpcre AUXLIBS_CDB=-L/usr/local/lib -lcdb shared=yes dynamicmaps=yes This appears to produce a working Postfix with TLS. $ otool -L .../libexec/smtpd .../libexec/smtpd: @rpath/libpostfix-master.dylib (compatibility version 0.0.0, current version 0.0.0) @rpath/libpostfix-tls.dylib (compatibility version 0.0.0, current version 0.0.0) @rpath/libpostfix-dns.dylib (compatibility version 0.0.0, current version 0.0.0) @rpath/libpostfix-global.dylib (compatibility version 0.0.0, current version 0.0.0) @rpath/libpostfix-util.dylib (compatibility version 0.0.0, current version 0.0.0) /opt/openssl/1.1.0/lib/libssl-opt.1.1.dylib (compatibility version 1.1.0, current version 1.1.0) /opt/openssl/1.1.0/lib/libcrypto-opt.1.1.dylib (compatibility version 1.1.0, current version 1.1.0) /usr/local/opt/berkeley-db/lib/libdb-6.2.dylib (compatibility version 0.0.0, current version 0.0.0) /usr/lib/libresolv.9.dylib (compatibility version 1.0.0, current version 1.0.0) /usr/local/opt/icu4c/lib/libicui18n.59.dylib (compatibility version 59.0.0, current version 59.1.0) /usr/local/opt/icu4c/lib/libicuuc.59.dylib (compatibility version 59.0.0, current version 59.1.0) /usr/local/opt/icu4c/lib/libicudata.59.1.dylib (compatibility version 59.0.0, current version 59.1.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.0.0) The "posttls-finger" command works, and connecting to a loopback server yields: $ posttls-finger -c -l may "[127.0.0.1]" posttls-finger: Anonymous TLS connection established to 127.0.0.1[127.0.0.1]:25: TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits) posttls-finger: Server is anonymous That said, it has become increasingly difficult to support Postfix on Apple's most recent operating systems. I think you should either run the Postfix supplied by Apple, or choose a different O/S (a BSD or Linux) for your mail server. -- Viktor.