Changes for version 0.45 - 2025-07-21

  • Config.pm: add ENABLE_ENV_CONFIG setting, along with support for $ENV{envvar} syntax to define configuration settings using environment variable values; add INBOX_OAUTH_TOKEN_CMD, INBOX_OAUTH_TOKEN_CMD_TIMELIMIT, INBOX_OAUTH_SASL_MECHANISM, SMTP_OAUTH_TOKEN_CMD, SMTP_OAUTH_TOKEN_CMD_TIMELIMIT, and SMTP_OAUTH_SASL_MECHANISM settings; add "--pinentry-mode loopback" to default OPENPGP_CMD_ENCRYPT and OPENPGP_CMD_DECRYPT values
  • ECS.pm: add support for SASL XOAUTH2 and OAUTHBEARER authentication mechanisms on SMTP connection
  • ecs_scan_mail: add support for SASL XOAUTH2 and OAUTHBEARER authentication mechanisms on POP3 and IMAP connections
  • ecs_setup: add configuration options for "modern" OAuth 2.0 authentication
  • ecs_token: add this as example OAuth 2.0 token request helper script for INBOX_OAUTH_TOKEN_CMD and SMTP_OAUTH_TOKEN_CMD
  • docker/dist/Dockerfile: add diffutils, pass (unix password manager), perl-libwww-perl, and perl-LWP-Protocol-https packages; install Authen::SASL::Perl via CPAN; remove code to install Net::SMTP, Net::POP3 and IO::Socket::SSL via CPAN
  • docker/rockylinux/Dockerfile: add diffutils, pass (unix password manager), perl-libwww-perl, and perl-LWP-Protocol-https packages; install Authen::SASL::Perl via CPAN
  • docker/ubuntu/Dockerfile: update to use Ubuntu 24.04; add pass (unix password manager) package; install Authen::SASL::Perl via CPAN
  • LICENSE: restore missing AGNIS license language about NIH
  • Ideas for Future Enhancements
  • send admin message when slow message status > 24 hours
  • add --reprocess feature(s) to ecstool
  • build PPM package
  • add more automated tests, especially for complex operations involving encryption and email
  • add option to use MIME (RFCs 2045-2049) for encrypted email instead of the existing basic ASCII Armor format (use Email::MIME?)
  • refactor and clean up code
  • improve method for handling encr_typ; allow for use of GnuPG with PGP2 protocol
  • modify handling of incoming messages to send admin email and not process message if subject line indicates message is from THIS_NODE
  • add option to tweak scan_mail loop in ecs_scan_mail, to insert 5 second delay and increase maximum loop count to 60 (i.e. what Australia did to accommodate Microsoft Exchange)
  • add option to tweak mbox_get_message function in ecs_scan_mail, to use MIME::QuotedPrint decode_qp function (another Microsoft Exchange workaround)
  • add ecstool option to process a cleartext file
  • allow for automatic reprocessing of self-signed message files
  • add ecstool option to decrypt and assemble a logical message consisting of multiple physical messages

Documentation

ECS communication status monitoring daemon
ECS control
check whether ECS daemons are running
process ECS meta-message
process FML message
ECS email processing daemon
ECS setup wizard
Use OAuth 2.0 refresh token to get new access token
ECS administrative utility

Modules

ECS utility module
ECS configuration data
an ECS email message
tied hash (SDBM) with simple locking protocol
an ECS email message