Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 9 Feb 2023 20:21:28 -0500
From:      William Dudley <wfdudley@gmail.com>
To:        freebsd-questions <freebsd-questions@freebsd.org>
Subject:   help needed getting sendmail+STARTTLS working on FreeBSD 12 or 13
Message-ID:  <CAFsnNZKxUnZNnne%2BVf015jWugNTURxvib9wiP8F5eXSxutvMeQ@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
--00000000000062e39f05f44e52f6
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

I cannot get STARTTLS to "work", and all the tutorials I find on the web
seem to
be using FreeBSD 4 or 5?  I've been running my own mail server for
perhaps 15 or 20 years now, so I've been working with sendmail for
a long time.

PLEASE do not suggest I switch to postfix or one of the MTAs.  I know
sendmail and have lots of configuration established, and I don't
want to go through that learning curve all over again.

So, to the problem at hand.  I've done lots of googling and reading, and
this is what I've done:

I think I understand that one must build sendmail from ports because
the sendmail from pkg does not have TLS compiled in.  (Why the hell not,
I don't know).

I have both a 12.3-RELEASE-p6 machine and a 13.1-RELEASE-p3 machine,
and both act identically badly.

I downloaded the latest ports tree (using git) and ran "make config", which
presents these options:

  =E2=94=8C=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=
=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=
=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=
=80=E2=94=80 sendmail-8.17.1_6 =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=
=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=
=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=
=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=90
  =E2=94=82 =E2=94=8C=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=
=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=
=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=
=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=
=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=
=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=
=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=
=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=
=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=90
=E2=94=82
  =E2=94=82 =E2=94=82 [x] SHMEM            System V shared memory support  =
              =E2=94=82
=E2=94=82
  =E2=94=82 =E2=94=82 [x] SEM              POSIX semaphores support        =
              =E2=94=82
=E2=94=82
  =E2=94=82 =E2=94=82 [x] LA               load averages support           =
              =E2=94=82
=E2=94=82
  =E2=94=82 =E2=94=82 [x] NIS              Network Information Services/YP =
support       =E2=94=82
=E2=94=82
  =E2=94=82 =E2=94=82 [x] IPV6             IPv6 protocol support           =
              =E2=94=82
=E2=94=82
  =E2=94=82 =E2=94=82 [x] TLS              SMTP-TLS and SMTPS support      =
              =E2=94=82
=E2=94=82
  =E2=94=82 =E2=94=82 [x] DANE             Enable DANE support             =
              =E2=94=82
=E2=94=82
  =E2=94=82 =E2=94=82 [x] SASL             SASL authentication support     =
              =E2=94=82
=E2=94=82
  =E2=94=82 =E2=94=82 [x] SASLAUTHD        SASLAUTHD support               =
              =E2=94=82
=E2=94=82
  =E2=94=82 =E2=94=82 [ ] LDAP             LDAP protocol support           =
              =E2=94=82
=E2=94=82
  =E2=94=82 =E2=94=82 [ ] BDB              Berkeley DB version 4+ support  =
              =E2=94=82
=E2=94=82
  =E2=94=82 =E2=94=82 [ ] GDBM             GNU dbm library support (option =
COMPAT needed)=E2=94=82
=E2=94=82
  =E2=94=82 =E2=94=82 [ ] SOCKETMAP        Enable socketmap feature        =
              =E2=94=82
=E2=94=82
  =E2=94=82 =E2=94=82 [ ] CYRUSLOOKUP      Enable cyruslookup feature      =
              =E2=94=82
=E2=94=82
  =E2=94=82 =E2=94=82 [x] BLACKLISTD       Enable blacklistd support       =
              =E2=94=82
=E2=94=82
  =E2=94=82 =E2=94=82 [ ] SMTPUTF8         Enable unicode address support  =
              =E2=94=82
=E2=94=82
  =E2=94=82 =E2=94=82 [x] PICKY_HELO_CHECK Enable picky HELO check         =
              =E2=94=82
=E2=94=82
  =E2=94=82 =E2=94=82 [x] MILTER           Enable milter support           =
              =E2=94=82
=E2=94=82
  =E2=94=82 =E2=94=82 [ ] MTA_STS          Enable MTA-STS support (option S=
OCKETMAP and T=E2=94=82
=E2=94=82
  =E2=94=82 =E2=94=82 [ ] TLS_CERT_CHAIN   Enable certificate chain file su=
pport (incompa=E2=94=82
=E2=94=82
  =E2=94=82 =E2=94=82 [x] DOCS             Build and/or install documentati=
on            =E2=94=82
=E2=94=82
  =E2=94=82 =E2=94=94=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=
=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=
=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=
=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=
=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=
=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=
=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=
=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=
=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=98
=E2=94=82

=E2=94=9C=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=
=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=
=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=
=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=
=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=
=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=
=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=
=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=
=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=A4
  =E2=94=82                     <  OK  >           <Cancel>
 =E2=94=82

I didn't change any options.  Should I have?
Then, of course, "make" and "make install", and then follow the
instructions that are printed out
at the conclusion of the last step.

Next, in my freebsd.mc file, I added this:

define(`CERT_DIR', `/usr/local/etc/letsencrypt/live/my-site-name.com')dnl
define(`confCACERT_PATH', `CERT_DIR')dnl
define(`confCACERT', `CERT_DIR/chain.pem')dnl
define(`confSERVER_CERT', `CERT_DIR/cert.pem')dnl
define(`confSERVER_KEY', `CERT_DIR/privkey.pem')dnl
define(`confCLIENT_CERT', `CERT_DIR/cert.pem')dnl
define(`confCLIENT_KEY', `CERT_DIR/privkey.pem')dnl

(except of course, I changed "my-site-name.com" to the actual directory
where my certs are)
(I've been using letsencrypt since late 2017 to generate certificates for
the few
websites I host.)

I changed mailer.conf (both copies) to this:

sendmail        /usr/local/sbin/sendmail
send-mail       /usr/local/sbin/sendmail
mailq           /usr/local/sbin/sendmail
newaliases      /usr/local/sbin/sendmail
hoststat        /usr/local/sbin/sendmail
purgestat       /usr/local/sbin/sendmail

So that the sendmail from ports is chosen.

I run "make" in the /etc/mail directory, and "make stop" and "make start"
to restart sendmail.
I found that I had to "chmod 600 privkey.pem" to get sendmail to not
complain about that file being
group readable:

Feb  9 19:51:39 my-site sm-mta[38802]: STARTTLS=3Dclient: file
/usr/local/etc/letse
ncrypt/live/my-site-name.com-0001/privkey.pem unsafe: Group readable file

when I run this test:

openssl s_client -connect localhost:25 -starttls smtp -showcerts

I get this response, showing that STARTTLS isn't announced.

CONNECTED(00000003)
Didn't find STARTTLS in server response, trying anyway...
547012608:error:1408F10B:SSL routines:ssl3_get_record:wrong version
number:ssl/record/ssl3_record.c:332:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 323 bytes and written 326 bytes
Verification: OK
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 0 (ok)
---

If I telnet into my server, I see this:

Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 mail.casano.com ESMTP Sendmail 8.17.1/8.17.1; Thu, 9 Feb 2023 18:36:46
-0500 (EST)
ehlo m2.casano.com
250-mail.casano.com Hello localhost [127.0.0.1], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-AUTH PLAIN LOGIN
250-DELIVERBY
250 HELP
quit

So no announcement of STARTTLS there, either.  The sendmail version is the
one from ports.  The "stock"
version is 8.16.1, as seen here from an earlier test before I enabled the
ports version:

220 mail.casano.com ESMTP Sendmail 8.16.1/8.16.1; Wed, 8 Feb 2023 16:34:35
-0500 (EST)

I do see this in /var/log/maillog:

Feb  9 19:51:14 my-site sm-mta[38691]: STARTTLS=3Dclient, relay=3D
aero4.stememail.com
., version=3DTLSv1.3, verify=3DFAIL, cipher=3DTLS_AES_128_GCM_SHA256, bits=
=3D128/128

which looks promising, but then why do the other tests not show STARTTLS
present?

I think this recitation includes all the changes I made to try to get this
working.
What am I missing?  Are there any tutorials written in this decade for
doing this?

If you want to poke at my mail server, feel free:  mail.casano.com

Thanks,
Bill Dudley
New Jersey, USA

This email is free of malware because I run Linux.

--00000000000062e39f05f44e52f6
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: base64

PGRpdiBkaXI9Imx0ciI+SSBjYW5ub3QgZ2V0IFNUQVJUVExTIHRvICZxdW90O3dvcmsmcXVvdDss
IGFuZCBhbGwgdGhlIHR1dG9yaWFscyBJIGZpbmQgb24gdGhlIHdlYiBzZWVtIHRvPGRpdj5iZSB1
c2luZyBGcmVlQlNEIDQgb3IgNT/CoCBJJiMzOTt2ZSBiZWVuIHJ1bm5pbmcgbXkgb3duIG1haWwg
c2VydmVyIGZvcjwvZGl2PjxkaXY+cGVyaGFwcyAxNSBvciAyMCB5ZWFycyBub3csIHNvIEkmIzM5
O3ZlIGJlZW4gd29ya2luZyB3aXRoIHNlbmRtYWlsIGZvcjwvZGl2PjxkaXY+YSBsb25nIHRpbWUu
PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5QTEVBU0UgZG8gbm90IHN1Z2dlc3QgSSBzd2l0Y2gg
dG8gcG9zdGZpeCBvciBvbmUgb2YgdGhlIE1UQXMuwqAgSSBrbm93PC9kaXY+PGRpdj5zZW5kbWFp
bCBhbmQgaGF2ZSBsb3RzIG9mIGNvbmZpZ3VyYXRpb24gZXN0YWJsaXNoZWQsIGFuZCBJIGRvbiYj
Mzk7dDwvZGl2PjxkaXY+d2FudCB0byBnbyB0aHJvdWdoIHRoYXQgbGVhcm5pbmcgY3VydmUgYWxs
IG92ZXIgYWdhaW4uPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5TbywgdG8gdGhlIHByb2JsZW0g
YXQgaGFuZC7CoCBJJiMzOTt2ZSBkb25lIGxvdHMgb2YgZ29vZ2xpbmcgYW5kIHJlYWRpbmcsIGFu
ZDwvZGl2PjxkaXY+dGhpcyBpcyB3aGF0IEkmIzM5O3ZlIGRvbmU6PC9kaXY+PGRpdj48YnI+PC9k
aXY+PGRpdj5JIHRoaW5rIEkgdW5kZXJzdGFuZCB0aGF0IG9uZSBtdXN0IGJ1aWxkIHNlbmRtYWls
IGZyb20gcG9ydHMgYmVjYXVzZTwvZGl2PjxkaXY+dGhlIHNlbmRtYWlsIGZyb20gcGtnIGRvZXMg
bm90IGhhdmUgVExTIGNvbXBpbGVkIGluLsKgIChXaHkgdGhlIGhlbGwgbm90LDwvZGl2PjxkaXY+
SSBkb24mIzM5O3Qga25vdykuPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5JIGhhdmUgYm90aCBh
IDEyLjMtUkVMRUFTRS1wNiBtYWNoaW5lIGFuZCBhIDEzLjEtUkVMRUFTRS1wMyBtYWNoaW5lLDwv
ZGl2PjxkaXY+YW5kIGJvdGggYWN0IGlkZW50aWNhbGx5IGJhZGx5LjwvZGl2PjxkaXY+PGJyPjwv
ZGl2PjxkaXY+SSBkb3dubG9hZGVkIHRoZSBsYXRlc3QgcG9ydHMgdHJlZSAodXNpbmcgZ2l0KSBh
bmQgcmFuICZxdW90O21ha2UgY29uZmlnJnF1b3Q7LCB3aGljaDwvZGl2PjxkaXY+cHJlc2VudHMg
dGhlc2Ugb3B0aW9uczo8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PsKgIDxmb250IGZhY2U9Im1v
bm9zcGFjZSI+4pSM4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA
4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAIHNlbmRtYWlsLTguMTcuMV82IOKUgOKUgOKU
gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU
gOKUgOKUgOKUgOKUgOKUgOKUgOKUkDxicj7CoCDilIIg4pSM4pSA4pSA4pSA4pSA4pSA4pSA4pSA
4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA
4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA
4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA
4pSA4pSA4pSA4pSA4pSQIOKUgiDCoDxicj7CoCDilIIg4pSCIFt4XSBTSE1FTSDCoCDCoCDCoCDC
oCDCoCDCoFN5c3RlbSBWIHNoYXJlZCBtZW1vcnkgc3VwcG9ydCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoOKUgiDilIIgwqA8YnI+wqAg4pSCIOKUgiBbeF0gU0VNIMKgIMKgIMKgIMKgIMKgIMKgIMKg
UE9TSVggc2VtYXBob3JlcyBzdXBwb3J0IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
4pSCIOKUgiDCoDxicj7CoCDilIIg4pSCIFt4XSBMQSDCoCDCoCDCoCDCoCDCoCDCoCDCoCBsb2Fk
IGF2ZXJhZ2VzIHN1cHBvcnQgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg4pSC
IOKUgiDCoDxicj7CoCDilIIg4pSCIFt4XSBOSVMgwqAgwqAgwqAgwqAgwqAgwqAgwqBOZXR3b3Jr
IEluZm9ybWF0aW9uIFNlcnZpY2VzL1lQIHN1cHBvcnQgwqAgwqAgwqAg4pSCIOKUgiDCoDxicj7C
oCDilIIg4pSCIFt4XSBJUFY2IMKgIMKgIMKgIMKgIMKgIMKgIElQdjYgcHJvdG9jb2wgc3VwcG9y
dCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDilIIg4pSCIMKgPGJyPsKgIOKU
giDilIIgW3hdIFRMUyDCoCDCoCDCoCDCoCDCoCDCoCDCoFNNVFAtVExTIGFuZCBTTVRQUyBzdXBw
b3J0IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg4pSCIOKUgiDCoDxicj7CoCDilIIg4pSC
IFt4XSBEQU5FIMKgIMKgIMKgIMKgIMKgIMKgIEVuYWJsZSBEQU5FIHN1cHBvcnQgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg4pSCIOKUgiDCoDxicj7CoCDilIIg4pSCIFt4
XSBTQVNMIMKgIMKgIMKgIMKgIMKgIMKgIFNBU0wgYXV0aGVudGljYXRpb24gc3VwcG9ydCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDilIIg4pSCIMKgPGJyPsKgIOKUgiDilIIgW3hdIFNBU0xB
VVRIRCDCoCDCoCDCoCDCoFNBU0xBVVRIRCBzdXBwb3J0IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIOKUgiDilIIgwqA8YnI+wqAg4pSCIOKUgiBbIF0gTERBUCDCoCDC
oCDCoCDCoCDCoCDCoCBMREFQIHByb3RvY29sIHN1cHBvcnQgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAg4pSCIOKUgiDCoDxicj7CoCDilIIg4pSCIFsgXSBCREIgwqAgwqAgwqAg
wqAgwqAgwqAgwqBCZXJrZWxleSBEQiB2ZXJzaW9uIDQrIHN1cHBvcnQgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqDilIIg4pSCIMKgPGJyPsKgIOKUgiDilIIgWyBdIEdEQk0gwqAgwqAgwqAgwqAgwqAg
wqAgR05VIGRibSBsaWJyYXJ5IHN1cHBvcnQgKG9wdGlvbiBDT01QQVQgbmVlZGVkKeKUgiDilIIg
wqA8YnI+wqAg4pSCIOKUgiBbIF0gU09DS0VUTUFQIMKgIMKgIMKgIMKgRW5hYmxlIHNvY2tldG1h
cCBmZWF0dXJlIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg4pSCIOKUgiDCoDxicj7C
oCDilIIg4pSCIFsgXSBDWVJVU0xPT0tVUCDCoCDCoCDCoEVuYWJsZSBjeXJ1c2xvb2t1cCBmZWF0
dXJlIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg4pSCIOKUgiDCoDxicj7CoCDilIIg4pSC
IFt4XSBCTEFDS0xJU1REIMKgIMKgIMKgIEVuYWJsZSBibGFja2xpc3RkIHN1cHBvcnQgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg4pSCIOKUgiDCoDxicj7CoCDilIIg4pSCIFsgXSBTTVRQ
VVRGOCDCoCDCoCDCoCDCoCBFbmFibGUgdW5pY29kZSBhZGRyZXNzIHN1cHBvcnQgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqDilIIg4pSCIMKgPGJyPsKgIOKUgiDilIIgW3hdIFBJQ0tZX0hFTE9fQ0hF
Q0sgRW5hYmxlIHBpY2t5IEhFTE8gY2hlY2sgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAg4pSCIOKUgiDCoDxicj7CoCDilIIg4pSCIFt4XSBNSUxURVIgwqAgwqAgwqAgwqAgwqAgRW5h
YmxlIG1pbHRlciBzdXBwb3J0IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIOKU
giDilIIgwqA8YnI+wqAg4pSCIOKUgiBbIF0gTVRBX1NUUyDCoCDCoCDCoCDCoCDCoEVuYWJsZSBN
VEEtU1RTIHN1cHBvcnQgKG9wdGlvbiBTT0NLRVRNQVAgYW5kIFTilIIg4pSCIMKgPGJyPsKgIOKU
giDilIIgWyBdIFRMU19DRVJUX0NIQUlOIMKgIEVuYWJsZSBjZXJ0aWZpY2F0ZSBjaGFpbiBmaWxl
IHN1cHBvcnQgKGluY29tcGHilIIg4pSCIMKgPGJyPsKgIOKUgiDilIIgW3hdIERPQ1MgwqAgwqAg
wqAgwqAgwqAgwqAgQnVpbGQgYW5kL29yIGluc3RhbGwgZG9jdW1lbnRhdGlvbiDCoCDCoCDCoCDC
oCDCoCDCoOKUgiDilIIgwqA8YnI+wqAg4pSCIOKUlOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU
gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU
gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU
gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU
gOKUgOKUgOKUmCDilIIgwqA8YnI+wqAg4pSc4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA
4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA
4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA
4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA
4pSA4pSA4pSA4pSA4pSA4pSkIMKgPGJyPsKgIOKUgiDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCAmbHQ7IMKgT0sgwqAmZ3Q7IMKgIMKgIMKgIMKgIMKgICZsdDtDYW5jZWwmZ3Q7IMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg4pSCIMKgPC9mb250Pjxicj7CoMKgPGJyPjwv
ZGl2PjxkaXY+SSBkaWRuJiMzOTt0IGNoYW5nZSBhbnkgb3B0aW9ucy7CoCBTaG91bGQgSSBoYXZl
PzwvZGl2PjxkaXY+VGhlbiwgb2YgY291cnNlLCAmcXVvdDs8Zm9udCBmYWNlPSJhcmlhbCwgc2Fu
cy1zZXJpZiI+bWFrZTwvZm9udD4mcXVvdDsgYW5kICZxdW90Ozxmb250IGZhY2U9Im1vbm9zcGFj
ZSI+bWFrZSBpbnN0YWxsPC9mb250PiZxdW90OywgYW5kIHRoZW4gZm9sbG93IHRoZSBpbnN0cnVj
dGlvbnMgdGhhdCBhcmUgcHJpbnRlZCBvdXQ8L2Rpdj48ZGl2PmF0IHRoZSBjb25jbHVzaW9uIG9m
IHRoZSBsYXN0IHN0ZXAuPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5OZXh0LCBpbiBteSA8YSBo
cmVmPSJodHRwOi8vZnJlZWJzZC5tYyI+ZnJlZWJzZC5tYzwvYT4gZmlsZSwgSSBhZGRlZCB0aGlz
OjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+PGZvbnQgZmFjZT0ibW9ub3NwYWNlIj5kZWZpbmUo
YENFUlRfRElSJiMzOTssIGAvdXNyL2xvY2FsL2V0Yy9sZXRzZW5jcnlwdC9saXZlLzxhIGhyZWY9
Imh0dHA6Ly9teS1zaXRlLW5hbWUuY29tIj5teS1zaXRlLW5hbWUuY29tPC9hPiYjMzk7KWRubDxi
cj5kZWZpbmUoYGNvbmZDQUNFUlRfUEFUSCYjMzk7LCBgQ0VSVF9ESVImIzM5Oylkbmw8YnI+ZGVm
aW5lKGBjb25mQ0FDRVJUJiMzOTssIGBDRVJUX0RJUi9jaGFpbi5wZW0mIzM5Oylkbmw8YnI+ZGVm
aW5lKGBjb25mU0VSVkVSX0NFUlQmIzM5OywgYENFUlRfRElSL2NlcnQucGVtJiMzOTspZG5sPGJy
PmRlZmluZShgY29uZlNFUlZFUl9LRVkmIzM5OywgYENFUlRfRElSL3ByaXZrZXkucGVtJiMzOTsp
ZG5sPGJyPmRlZmluZShgY29uZkNMSUVOVF9DRVJUJiMzOTssIGBDRVJUX0RJUi9jZXJ0LnBlbSYj
Mzk7KWRubDxicj5kZWZpbmUoYGNvbmZDTElFTlRfS0VZJiMzOTssIGBDRVJUX0RJUi9wcml2a2V5
LnBlbSYjMzk7KWRubDwvZm9udD48YnI+PC9kaXY+PGRpdj48Zm9udCBmYWNlPSJtb25vc3BhY2Ui
Pjxicj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBmYWNlPSJtb25vc3BhY2UiPihleGNlcHQgb2Yg
Y291cnNlLCBJIGNoYW5nZWQgJnF1b3Q7PGEgaHJlZj0iaHR0cDovL215LXNpdGUtbmFtZS5jb20i
Pm15LXNpdGUtbmFtZS5jb208L2E+JnF1b3Q7IHRvIHRoZSBhY3R1YWwgZGlyZWN0b3J5IHdoZXJl
IG15IGNlcnRzIGFyZSk8L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBmYWNlPSJtb25vc3BhY2UiPihJ
JiMzOTt2ZSBiZWVuIHVzaW5nIGxldHNlbmNyeXB0IHNpbmNlIGxhdGUgMjAxNyB0byBnZW5lcmF0
ZSBjZXJ0aWZpY2F0ZXMgZm9yIHRoZSBmZXc8L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBmYWNlPSJt
b25vc3BhY2UiPndlYnNpdGVzIEkgaG9zdC4pPC9mb250PjwvZGl2PjxkaXY+PGZvbnQgZmFjZT0i
bW9ub3NwYWNlIj48YnI+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgZmFjZT0ibW9ub3NwYWNlIj5J
IGNoYW5nZWQgbWFpbGVyLmNvbmYgKGJvdGggY29waWVzKSB0byB0aGlzOjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGZhY2U9Im1vbm9zcGFjZSI+PGJyPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGZh
Y2U9Im1vbm9zcGFjZSI+c2VuZG1haWwgwqAgwqAgwqAgwqAvdXNyL2xvY2FsL3NiaW4vc2VuZG1h
aWw8YnI+c2VuZC1tYWlsIMKgIMKgIMKgIC91c3IvbG9jYWwvc2Jpbi9zZW5kbWFpbDxicj5tYWls
cSDCoCDCoCDCoCDCoCDCoCAvdXNyL2xvY2FsL3NiaW4vc2VuZG1haWw8YnI+bmV3YWxpYXNlcyDC
oCDCoCDCoC91c3IvbG9jYWwvc2Jpbi9zZW5kbWFpbDxicj5ob3N0c3RhdCDCoCDCoCDCoCDCoC91
c3IvbG9jYWwvc2Jpbi9zZW5kbWFpbDxicj5wdXJnZXN0YXQgwqAgwqAgwqAgL3Vzci9sb2NhbC9z
YmluL3NlbmRtYWlsPGJyPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGZhY2U9Im1vbm9zcGFjZSI+
PGJyPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGZhY2U9ImFyaWFsLCBzYW5zLXNlcmlmIj5TbyB0
aGF0IHRoZSBzZW5kbWFpbCBmcm9tIHBvcnRzIGlzIGNob3Nlbi48L2ZvbnQ+PC9kaXY+PGRpdj48
YnI+PC9kaXY+PGRpdj5JIHJ1biAmcXVvdDs8Zm9udCBmYWNlPSJtb25vc3BhY2UiPm1ha2UmcXVv
dDs8L2ZvbnQ+IGluIHRoZSAvZXRjL21haWwgZGlyZWN0b3J5LCBhbmQgJnF1b3Q7PGZvbnQgZmFj
ZT0ibW9ub3NwYWNlIj5tYWtlIHN0b3AmcXVvdDs8L2ZvbnQ+IGFuZCAmcXVvdDs8Zm9udCBmYWNl
PSJtb25vc3BhY2UiPm1ha2Ugc3RhcnQmcXVvdDs8L2ZvbnQ+IHRvIHJlc3RhcnTCoHNlbmRtYWls
LjwvZGl2PjxkaXY+SSBmb3VuZCB0aGF0IEkgaGFkIHRvICZxdW90Ozxmb250IGZhY2U9Im1vbm9z
cGFjZSI+Y2htb2QgNjAwIHByaXZrZXkucGVtPC9mb250PiZxdW90OyB0byBnZXQgc2VuZG1haWwg
dG8gbm90IGNvbXBsYWluIGFib3V0IHRoYXQgZmlsZSBiZWluZzwvZGl2PjxkaXY+Z3JvdXAgcmVh
ZGFibGU6PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj48Zm9udCBmYWNlPSJtb25vc3BhY2UiPkZl
YiDCoDkgMTk6NTE6MzkgbXktc2l0ZSBzbS1tdGFbMzg4MDJdOiBTVEFSVFRMUz1jbGllbnQ6IGZp
bGUgL3Vzci9sb2NhbC9ldGMvbGV0c2U8YnI+bmNyeXB0L2xpdmUvbXktc2l0ZS1uYW1lLmNvbS0w
MDAxL3ByaXZrZXkucGVtIHVuc2FmZTogR3JvdXAgcmVhZGFibGUgZmlsZTwvZm9udD48YnI+PC9k
aXY+PGRpdj48YnI+PC9kaXY+PGRpdj53aGVuIEkgcnVuIHRoaXMgdGVzdDo8L2Rpdj48ZGl2Pjxi
cj48L2Rpdj48ZGl2Pm9wZW5zc2wgc19jbGllbnQgLWNvbm5lY3QgbG9jYWxob3N0OjI1IC1zdGFy
dHRscyBzbXRwIC1zaG93Y2VydHM8YnI+PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5JIGdldCB0
aGlzIHJlc3BvbnNlLCBzaG93aW5nIHRoYXQgU1RBUlRUTFMgaXNuJiMzOTt0IGFubm91bmNlZC48
L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PkNPTk5FQ1RFRCgwMDAwMDAwMyk8YnI+RGlkbiYjMzk7
dCBmaW5kIFNUQVJUVExTIGluIHNlcnZlciByZXNwb25zZSwgdHJ5aW5nIGFueXdheS4uLjxicj41
NDcwMTI2MDg6ZXJyb3I6MTQwOEYxMEI6U1NMIHJvdXRpbmVzOnNzbDNfZ2V0X3JlY29yZDp3cm9u
ZyB2ZXJzaW9uIG51bWJlcjpzc2wvcmVjb3JkL3NzbDNfcmVjb3JkLmM6MzMyOjxicj4tLS08YnI+
bm8gcGVlciBjZXJ0aWZpY2F0ZSBhdmFpbGFibGU8YnI+LS0tPGJyPk5vIGNsaWVudCBjZXJ0aWZp
Y2F0ZSBDQSBuYW1lcyBzZW50PGJyPi0tLTxicj5TU0wgaGFuZHNoYWtlIGhhcyByZWFkIDMyMyBi
eXRlcyBhbmQgd3JpdHRlbiAzMjYgYnl0ZXM8YnI+VmVyaWZpY2F0aW9uOiBPSzxicj4tLS08YnI+
TmV3LCAoTk9ORSksIENpcGhlciBpcyAoTk9ORSk8YnI+U2VjdXJlIFJlbmVnb3RpYXRpb24gSVMg
Tk9UIHN1cHBvcnRlZDxicj5Db21wcmVzc2lvbjogTk9ORTxicj5FeHBhbnNpb246IE5PTkU8YnI+
Tm8gQUxQTiBuZWdvdGlhdGVkPGJyPkVhcmx5IGRhdGEgd2FzIG5vdCBzZW50PGJyPlZlcmlmeSBy
ZXR1cm4gY29kZTogMCAob2spPGJyPi0tLTxicj48L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2Pklm
IEkgdGVsbmV0IGludG8gbXkgc2VydmVyLCBJIHNlZSB0aGlzOjwvZGl2PjxkaXY+PGJyPjwvZGl2
PjxkaXY+PGZvbnQgZmFjZT0ibW9ub3NwYWNlIj5UcnlpbmcgMTI3LjAuMC4xLi4uPGJyPkNvbm5l
Y3RlZCB0byBsb2NhbGhvc3QuPGJyPkVzY2FwZSBjaGFyYWN0ZXIgaXMgJiMzOTteXSYjMzk7Ljxi
cj4yMjAgPGEgaHJlZj0iaHR0cDovL21haWwuY2FzYW5vLmNvbSI+bWFpbC5jYXNhbm8uY29tPC9h
PiBFU01UUCBTZW5kbWFpbCA4LjE3LjEvOC4xNy4xOyBUaHUsIDkgRmViIDIwMjMgMTg6MzY6NDYg
LTA1MDAgKEVTVCk8YnI+ZWhsbyA8YSBocmVmPSJodHRwOi8vbTIuY2FzYW5vLmNvbSI+bTIuY2Fz
YW5vLmNvbTwvYT48YnI+PGEgaHJlZj0iaHR0cDovLzI1MC1tYWlsLmNhc2Fuby5jb20iPjI1MC1t
YWlsLmNhc2Fuby5jb208L2E+IEhlbGxvIGxvY2FsaG9zdCBbMTI3LjAuMC4xXSwgcGxlYXNlZCB0
byBtZWV0IHlvdTxicj4yNTAtRU5IQU5DRURTVEFUVVNDT0RFUzxicj4yNTAtUElQRUxJTklORzxi
cj4yNTAtOEJJVE1JTUU8YnI+MjUwLVNJWkU8YnI+MjUwLURTTjxicj4yNTAtRVRSTjxicj4yNTAt
QVVUSCBQTEFJTiBMT0dJTjxicj4yNTAtREVMSVZFUkJZPGJyPjI1MCBIRUxQPGJyPnF1aXQ8YnI+
PC9mb250PjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+U28gbm8gYW5ub3VuY2VtZW50IG9mIFNU
QVJUVExTIHRoZXJlLCBlaXRoZXIuwqAgVGhlIHNlbmRtYWlsIHZlcnNpb24gaXMgdGhlIG9uZSBm
cm9tIHBvcnRzLsKgIFRoZSAmcXVvdDtzdG9jayZxdW90OzwvZGl2PjxkaXY+dmVyc2lvbiBpcyA4
LjE2LjEsIGFzIHNlZW4gaGVyZSBmcm9tIGFuIGVhcmxpZXIgdGVzdCBiZWZvcmUgSSBlbmFibGVk
IHRoZSBwb3J0cyB2ZXJzaW9uOjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+PGZvbnQgZmFjZT0i
bW9ub3NwYWNlIj4yMjAgPGEgaHJlZj0iaHR0cDovL21haWwuY2FzYW5vLmNvbSI+bWFpbC5jYXNh
bm8uY29tPC9hPiBFU01UUCBTZW5kbWFpbCA4LjE2LjEvOC4xNi4xOyBXZWQsIDggRmViIDIwMjMg
MTY6MzQ6MzUgLTA1MDAgKEVTVCk8L2ZvbnQ+PGJyPjwvZGl2PjxkaXY+PGZvbnQgZmFjZT0ibW9u
b3NwYWNlIj48YnI+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgZmFjZT0ibW9ub3NwYWNlIj5JIGRv
IHNlZSB0aGlzIGluIC92YXIvbG9nL21haWxsb2c6PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgZmFj
ZT0ibW9ub3NwYWNlIj48YnI+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgZmFjZT0ibW9ub3NwYWNl
Ij5GZWIgwqA5IDE5OjUxOjE0IG15LXNpdGUgc20tbXRhWzM4NjkxXTogU1RBUlRUTFM9Y2xpZW50
LCByZWxheT08YSBocmVmPSJodHRwOi8vYWVybzQuc3RlbWVtYWlsLmNvbSI+YWVybzQuc3RlbWVt
YWlsLmNvbTwvYT48YnI+LiwgdmVyc2lvbj1UTFN2MS4zLCB2ZXJpZnk9RkFJTCwgY2lwaGVyPVRM
U19BRVNfMTI4X0dDTV9TSEEyNTYsIGJpdHM9MTI4LzEyODxicj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBmYWNlPSJtb25vc3BhY2UiPjxicj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBmYWNlPSJh
cmlhbCwgc2Fucy1zZXJpZiI+d2hpY2ggbG9va3MgcHJvbWlzaW5nLCBidXQgdGhlbiB3aHkgZG8g
dGhlIG90aGVyIHRlc3RzIG5vdCBzaG93IFNUQVJUVExTIHByZXNlbnQ/PC9mb250PjwvZGl2Pjxk
aXY+PGJyPjwvZGl2PjxkaXY+SSB0aGluayB0aGlzIHJlY2l0YXRpb24gaW5jbHVkZXMgYWxsIHRo
ZSBjaGFuZ2VzIEkgbWFkZSB0byB0cnkgdG8gZ2V0IHRoaXMgd29ya2luZy48L2Rpdj48ZGl2Pldo
YXQgYW0gSSBtaXNzaW5nP8KgIEFyZSB0aGVyZSBhbnkgdHV0b3JpYWxzIHdyaXR0ZW4gaW4gdGhp
cyBkZWNhZGUgZm9yIGRvaW5nIHRoaXM/PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5JZiB5b3Ug
d2FudCB0byBwb2tlIGF0IG15IG1haWwgc2VydmVyLCBmZWVsIGZyZWU6wqDCoDxmb250IGZhY2U9
Im1vbm9zcGFjZSI+PGEgaHJlZj0iaHR0cDovL21haWwuY2FzYW5vLmNvbSI+bWFpbC5jYXNhbm8u
Y29tPC9hPjwvZm9udD48L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PlRoYW5rcyw8L2Rpdj48ZGl2
PkJpbGwgRHVkbGV5PC9kaXY+PGRpdj5OZXcgSmVyc2V5LCBVU0E8L2Rpdj48ZGl2Pjxicj48L2Rp
dj48ZGl2PjxkaXY+PGRpdiBkaXI9Imx0ciIgY2xhc3M9ImdtYWlsX3NpZ25hdHVyZSIgZGF0YS1z
bWFydG1haWw9ImdtYWlsX3NpZ25hdHVyZSI+VGhpcyBlbWFpbCBpcyBmcmVlIG9mIG1hbHdhcmUg
YmVjYXVzZSBJIHJ1biBMaW51eC48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj4NCg==
--00000000000062e39f05f44e52f6--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAFsnNZKxUnZNnne%2BVf015jWugNTURxvib9wiP8F5eXSxutvMeQ>