Skip to content

Conversation

@cosmingrz
Copy link

@cosmingrz cosmingrz commented Nov 4, 2025

Why we need this

We need to make exim work with both Python 2 and Python 3 interpreter so we can convert local_scan.py

Tickets/Links

MMA-1432

How we fix it

Remove compilation settings for local_scan.o and let patch_exim_makefile.py handle them. This way we can embed either a Python 2 or a Python 3 interpreter.


Note

Modernizes SMTP/TLS stack (OCSP, session tickets, PIPE_CONNECT, DANE), hardens transports and taint handling, updates build/tests, and improves reliability across the codebase.

  • SMTP/TLS core:
    • Upgrade OpenSSL handling (1.1.1/3.0 compat), keylog, cipher stdnames, channel binding, Extended Master Secret.
    • Add/expand features: OCSP stapling (multi-leaf, PEM/DER, caching), TLS session tickets/resumption, PIPE_CONNECT early pipelining, DANE refinements, PRDR handling, STARTTLS/error paths, SNI expansion.
    • Robust error/timeouts; improved banner/EHLO sync; continued-connection/verify flow; size/auth/SIZE/UTF8 flags; DSN bits.
  • Transports:
    • Appendfile/maildir/mailstore MBX fixes; taint-safe path handling (bless/string_copy_taint), safer writes/flush, quota and ocsp helpers.
    • Pipe/autoreply refinements (arg/env handling, logging), queuefile transport added.
  • Build/Configure:
    • Autoconf: detect any TLS client (client-anytls), OpenSSL/GnuTLS checks, getaddrinfo; Solaris/SunOS support tweaks.
  • Tests:
    • Widespread suite updates (TLS/OCSP artifacts, policy JSON, harness env, scripts), new fixtures and adjusted configs to taint-safe vars.
  • Misc:
    • Numerous refactors/cleanups (headers, trees, utf8, version, utils), safety and portability improvements.

Written by Cursor Bugbot for commit 9b2df49. This will update automatically on new commits. Configure here.

@cosmingrz cosmingrz marked this pull request as ready for review November 13, 2025 07:40
alin-f-tache
alin-f-tache previously approved these changes Nov 18, 2025
bitsikas
bitsikas previously approved these changes Nov 24, 2025
@cosmingrz cosmingrz changed the base branch from exim-4.92+fixes+se+encr to exim-4.94.2+fixes+se+encr November 26, 2025 09:16
@cosmingrz cosmingrz dismissed stale reviews from bitsikas and alin-f-tache November 26, 2025 09:16

The base branch was changed.

@cosmingrz cosmingrz changed the base branch from exim-4.94.2+fixes+se+encr to exim-4.92+fixes+se+encr November 26, 2025 09:18
@cosmingrz cosmingrz changed the base branch from exim-4.92+fixes+se+encr to exim-4.94.2+fixes+se+encr November 26, 2025 09:21
Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: Global LC_ALL=C export breaks UTF-8 documentation generation

The new export LC_ALL=C at the Makefile top breaks the spec.utf8 target. This export causes GenLocalParams to record LC_CTYPE=C instead of the actual system locale, making the UTF-8 locale check (grep -iq 'LC_CTYPE=.*utf-\?8' local_params) always fail. Additionally, the w3m command in spec.utf8 will run with C locale instead of UTF-8, preventing proper UTF-8 output. The spec.txt and filter.txt targets explicitly set LC_ALL=C where needed, but spec.utf8 intentionally omitted it to allow UTF-8 processing.

doc/doc-docbook/Makefile#L2-L3

# Copyright (c) The Exim Maintainers 2020
export LC_ALL=C

doc/doc-docbook/Makefile#L182-L188

spec.utf8: spec-txt.html Tidytxt
@grep -iq 'LC_CTYPE=.*utf-\?8' local_params || { \
echo 'your current locale does not support UTF-8' >&2; \
false; }
command -v w3m >/dev/null
w3m -dump spec-txt.html | ./Tidytxt -utf8 >$@

Fix in Cursor Fix in Web


Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants