[exim-cvs] SPDX: Mass-update to GPL-2.0-or-later

Top Page
Delete this message
Reply to this message
Author: Exim Git Commits Mailing List
Date:  
To: exim-cvs
Subject: [exim-cvs] SPDX: Mass-update to GPL-2.0-or-later
Gitweb: https://git.exim.org/exim.git/commitdiff/1d28cc061677bd07d9bed48dd84bd5c590247043
Commit:     1d28cc061677bd07d9bed48dd84bd5c590247043
Parent:     a85c067ba6c6940512cf57ec213277a370d87e70
Author:     Jeremy Harris <jgh146exb@???>
AuthorDate: Sun Nov 27 14:40:20 2022 +0000
Committer:  Jeremy Harris <jgh146exb@???>
CommitDate: Sun Nov 27 14:40:20 2022 +0000


    SPDX: Mass-update to GPL-2.0-or-later


    This is based on the text in src/NOTICE
    which is taken to override text in individual files
---
 src/Makefile                                | 1 +
 src/NOTICE                                  | 1 +
 src/OS/Makefile-Base                        | 2 +-
 src/OS/Makefile-Default                     | 3 +++
 src/OS/Makefile-FreeBSD                     | 2 ++
 src/OS/Makefile-GNU                         | 2 ++
 src/OS/Makefile-OpenBSD                     | 1 +
 src/OS/Makefile-SunOS5                      | 1 +
 src/OS/eximon.conf-Default                  | 3 +++
 src/OS/os.c-FreeBSD                         | 1 +
 src/OS/os.c-GNU                             | 1 +
 src/OS/os.c-Linux                           | 1 +
 src/OS/os.c-SunOS5                          | 1 +
 src/OS/os.h-FreeBSD                         | 1 +
 src/OS/os.h-GNU                             | 1 +
 src/OS/os.h-Linux                           | 1 +
 src/OS/os.h-OpenBSD                         | 1 +
 src/OS/os.h-SunOS5                          | 1 +
 src/OS/unsupported/Makefile-AIX             | 1 +
 src/OS/unsupported/Makefile-BSDI            | 1 +
 src/OS/unsupported/Makefile-CYGWIN          | 1 +
 src/OS/unsupported/Makefile-DGUX            | 1 +
 src/OS/unsupported/Makefile-Darwin          | 1 +
 src/OS/unsupported/Makefile-DragonFly       | 2 ++
 src/OS/unsupported/Makefile-GNUkFreeBSD     | 1 +
 src/OS/unsupported/Makefile-GNUkNetBSD      | 1 +
 src/OS/unsupported/Makefile-HI-OSF          | 1 +
 src/OS/unsupported/Makefile-HI-UX           | 1 +
 src/OS/unsupported/Makefile-HP-UX           | 1 +
 src/OS/unsupported/Makefile-HP-UX-9         | 1 +
 src/OS/unsupported/Makefile-IRIX            | 1 +
 src/OS/unsupported/Makefile-IRIX6           | 1 +
 src/OS/unsupported/Makefile-IRIX632         | 2 ++
 src/OS/unsupported/Makefile-IRIX65          | 1 +
 src/OS/unsupported/Makefile-NetBSD          | 1 +
 src/OS/unsupported/Makefile-NetBSD-a.out    | 1 +
 src/OS/unsupported/Makefile-OSF1            | 1 +
 src/OS/unsupported/Makefile-OpenUNIX        | 1 +
 src/OS/unsupported/Makefile-QNX             | 1 +
 src/OS/unsupported/Makefile-SCO             | 1 +
 src/OS/unsupported/Makefile-SCO_SV          | 1 +
 src/OS/unsupported/Makefile-SunOS4          | 1 +
 src/OS/unsupported/Makefile-SunOS5-hal      | 1 +
 src/OS/unsupported/Makefile-ULTRIX          | 1 +
 src/OS/unsupported/Makefile-UNIX_SV         | 1 +
 src/OS/unsupported/Makefile-USG             | 1 +
 src/OS/unsupported/Makefile-Unixware7       | 1 +
 src/OS/unsupported/Makefile-mips            | 1 +
 src/OS/unsupported/os.c-BSDI                | 1 +
 src/OS/unsupported/os.c-HI-OSF              | 1 +
 src/OS/unsupported/os.c-HP-UX               | 1 +
 src/OS/unsupported/os.c-IRIX                | 1 +
 src/OS/unsupported/os.c-IRIX6               | 1 +
 src/OS/unsupported/os.c-IRIX632             | 1 +
 src/OS/unsupported/os.c-IRIX65              | 1 +
 src/OS/unsupported/os.c-OSF1                | 1 +
 src/OS/unsupported/os.c-cygwin              | 1 +
 src/OS/unsupported/os.h-AIX                 | 2 ++
 src/OS/unsupported/os.h-BSDI                | 1 +
 src/OS/unsupported/os.h-DGUX                | 1 +
 src/OS/unsupported/os.h-Darwin              | 1 +
 src/OS/unsupported/os.h-DragonFly           | 1 +
 src/OS/unsupported/os.h-GNUkFreeBSD         | 1 +
 src/OS/unsupported/os.h-GNUkNetBSD          | 1 +
 src/OS/unsupported/os.h-HI-OSF              | 1 +
 src/OS/unsupported/os.h-HI-UX               | 1 +
 src/OS/unsupported/os.h-HP-UX               | 1 +
 src/OS/unsupported/os.h-HP-UX-9             | 1 +
 src/OS/unsupported/os.h-IRIX                | 1 +
 src/OS/unsupported/os.h-IRIX6               | 1 +
 src/OS/unsupported/os.h-IRIX632             | 1 +
 src/OS/unsupported/os.h-IRIX65              | 1 +
 src/OS/unsupported/os.h-NetBSD              | 1 +
 src/OS/unsupported/os.h-NetBSD-a.out        | 1 +
 src/OS/unsupported/os.h-OSF1                | 1 +
 src/OS/unsupported/os.h-OpenUNIX            | 1 +
 src/OS/unsupported/os.h-QNX                 | 1 +
 src/OS/unsupported/os.h-SCO                 | 1 +
 src/OS/unsupported/os.h-SCO_SV              | 1 +
 src/OS/unsupported/os.h-SunOS4              | 1 +
 src/OS/unsupported/os.h-SunOS5-hal          | 1 +
 src/OS/unsupported/os.h-ULTRIX              | 1 +
 src/OS/unsupported/os.h-UNIX_SV             | 1 +
 src/OS/unsupported/os.h-USG                 | 1 +
 src/OS/unsupported/os.h-Unixware7           | 1 +
 src/OS/unsupported/os.h-cygwin              | 1 +
 src/OS/unsupported/os.h-mips                | 1 +
 src/README                                  | 1 +
 src/exim_monitor/EDITME                     | 3 +++
 src/exim_monitor/em_StripChart.c            | 2 +-
 src/exim_monitor/em_TextPop.c               | 2 +-
 src/exim_monitor/em_globals.c               | 2 +-
 src/exim_monitor/em_hdr.h                   | 2 +-
 src/exim_monitor/em_init.c                  | 2 +-
 src/exim_monitor/em_log.c                   | 2 +-
 src/exim_monitor/em_main.c                  | 2 +-
 src/exim_monitor/em_menu.c                  | 2 +-
 src/exim_monitor/em_queue.c                 | 2 +-
 src/exim_monitor/em_strip.c                 | 2 +-
 src/exim_monitor/em_text.c                  | 2 +-
 src/exim_monitor/em_version.c               | 2 +-
 src/exim_monitor/em_xs.c                    | 2 +-
 src/scripts/Configure                       | 3 +++
 src/scripts/Configure-Makefile              | 8 +++++---
 src/scripts/Configure-config.h              | 3 ++-
 src/scripts/Configure-eximon                | 3 +++
 src/scripts/Configure-os.c                  | 4 +++-
 src/scripts/Configure-os.h                  | 4 +++-
 src/scripts/MakeLinks                       | 1 +
 src/scripts/arch-type                       | 4 +++-
 src/scripts/exim_install                    | 3 +++
 src/scripts/lookups-Makefile                | 1 +
 src/scripts/newer                           | 3 +++
 src/scripts/os-type                         | 3 +++
 src/scripts/reversion                       | 1 +
 src/scripts/source_checks                   | 2 ++
 src/src/EDITME                              | 2 ++
 src/src/acl.c                               | 2 +-
 src/src/arc.c                               | 2 +-
 src/src/auths/auth-spa.c                    | 2 +-
 src/src/auths/auth-spa.h                    | 2 +-
 src/src/auths/call_pam.c                    | 2 +-
 src/src/auths/call_pwcheck.c                | 2 +-
 src/src/auths/call_radius.c                 | 2 +-
 src/src/auths/check_serv_cond.c             | 2 +-
 src/src/auths/cram_md5.c                    | 2 +-
 src/src/auths/cram_md5.h                    | 2 +-
 src/src/auths/cyrus_sasl.c                  | 2 +-
 src/src/auths/cyrus_sasl.h                  | 2 +-
 src/src/auths/dovecot.h                     | 2 +-
 src/src/auths/external.c                    | 2 +-
 src/src/auths/external.h                    | 2 +-
 src/src/auths/get_data.c                    | 2 +-
 src/src/auths/get_no64_data.c               | 2 +-
 src/src/auths/gsasl_exim.c                  | 2 +-
 src/src/auths/gsasl_exim.h                  | 2 +-
 src/src/auths/heimdal_gssapi.c              | 2 +-
 src/src/auths/heimdal_gssapi.h              | 2 +-
 src/src/auths/plaintext.c                   | 2 +-
 src/src/auths/plaintext.h                   | 2 +-
 src/src/auths/pwcheck.c                     | 2 +-
 src/src/auths/pwcheck.h                     | 2 +-
 src/src/auths/spa.c                         | 2 +-
 src/src/auths/spa.h                         | 2 +-
 src/src/auths/tls.c                         | 2 +-
 src/src/auths/tls.h                         | 2 +-
 src/src/auths/xtextdecode.c                 | 2 +-
 src/src/auths/xtextencode.c                 | 2 +-
 src/src/base64.c                            | 2 +-
 src/src/blob.h                              | 2 +-
 src/src/bmi_spam.c                          | 2 +-
 src/src/bmi_spam.h                          | 2 +-
 src/src/buildconfig.c                       | 2 +-
 src/src/child.c                             | 2 +-
 src/src/daemon.c                            | 2 +-
 src/src/dane.c                              | 2 +-
 src/src/dbfn.c                              | 2 +-
 src/src/dbfunctions.h                       | 2 +-
 src/src/dcc.c                               | 2 +-
 src/src/debug.c                             | 2 +-
 src/src/deliver.c                           | 2 +-
 src/src/directory.c                         | 2 +-
 src/src/dkim.c                              | 2 +-
 src/src/dkim.h                              | 2 +-
 src/src/dkim_transport.c                    | 2 +-
 src/src/dmarc.c                             | 2 +-
 src/src/dmarc.h                             | 2 +-
 src/src/dns.c                               | 2 +-
 src/src/dnsbl.c                             | 2 +-
 src/src/drtables.c                          | 2 +-
 src/src/dummies.c                           | 2 +-
 src/src/enq.c                               | 2 +-
 src/src/environment.c                       | 2 +-
 src/src/exim.c                              | 2 +-
 src/src/exim.h                              | 2 +-
 src/src/exim_dbmbuild.c                     | 2 +-
 src/src/exim_dbutil.c                       | 2 +-
 src/src/exim_lock.c                         | 2 +-
 src/src/expand.c                            | 2 +-
 src/src/filter.c                            | 2 +-
 src/src/filtertest.c                        | 2 +-
 src/src/functions.h                         | 2 +-
 src/src/globals.c                           | 2 +-
 src/src/globals.h                           | 2 +-
 src/src/hash.c                              | 2 +-
 src/src/hash.h                              | 2 +-
 src/src/header.c                            | 2 +-
 src/src/hintsdb.h                           | 2 +-
 src/src/hintsdb_structs.h                   | 2 +-
 src/src/host.c                              | 2 +-
 src/src/host_address.c                      | 2 +-
 src/src/imap_utf7.c                         | 2 +-
 src/src/ip.c                                | 2 +-
 src/src/local_scan.c                        | 2 +-
 src/src/local_scan.h                        | 2 +-
 src/src/log.c                               | 2 +-
 src/src/lookupapi.h                         | 2 +-
 src/src/lookups/dbmdb.c                     | 2 +-
 src/src/lookups/dnsdb.c                     | 2 +-
 src/src/lookups/dsearch.c                   | 2 +-
 src/src/lookups/ibase.c                     | 2 +-
 src/src/lookups/json.c                      | 2 +-
 src/src/lookups/ldap.c                      | 2 +-
 src/src/lookups/ldap.h                      | 2 +-
 src/src/lookups/lf_check_file.c             | 2 +-
 src/src/lookups/lf_functions.h              | 2 +-
 src/src/lookups/lf_quote.c                  | 2 +-
 src/src/lookups/lf_sqlperform.c             | 2 +-
 src/src/lookups/lmdb.c                      | 2 +-
 src/src/lookups/lsearch.c                   | 2 +-
 src/src/lookups/mysql.c                     | 2 +-
 src/src/lookups/nis.c                       | 2 +-
 src/src/lookups/nisplus.c                   | 2 +-
 src/src/lookups/oracle.c                    | 2 +-
 src/src/lookups/passwd.c                    | 2 +-
 src/src/lookups/pgsql.c                     | 2 +-
 src/src/lookups/readsock.c                  | 2 +-
 src/src/lookups/redis.c                     | 2 +-
 src/src/lookups/sqlite.c                    | 2 +-
 src/src/lookups/testdb.c                    | 2 +-
 src/src/lookups/whoson.c                    | 2 +-
 src/src/lss.c                               | 2 +-
 src/src/macro_predef.c                      | 2 +-
 src/src/macro_predef.h                      | 2 +-
 src/src/macros.h                            | 2 +-
 src/src/malware.c                           | 2 +-
 src/src/match.c                             | 2 +-
 src/src/md5.c                               | 2 +-
 src/src/mime.c                              | 2 +-
 src/src/mime.h                              | 2 +-
 src/src/moan.c                              | 2 +-
 src/src/mytypes.h                           | 2 +-
 src/src/os.c                                | 2 +-
 src/src/osfunctions.h                       | 2 +-
 src/src/parse.c                             | 2 +-
 src/src/pdkim/crypt_ver.h                   | 2 +-
 src/src/pdkim/pdkim_hash.h                  | 2 +-
 src/src/pdkim/signing.c                     | 2 +-
 src/src/pdkim/signing.h                     | 2 +-
 src/src/perl.c                              | 2 +-
 src/src/priv.c                              | 2 +-
 src/src/queue.c                             | 2 +-
 src/src/rda.c                               | 2 +-
 src/src/readconf.c                          | 2 +-
 src/src/receive.c                           | 2 +-
 src/src/regex.c                             | 2 +-
 src/src/regex_cache.c                       | 2 +-
 src/src/retry.c                             | 2 +-
 src/src/rewrite.c                           | 2 +-
 src/src/rfc2047.c                           | 2 +-
 src/src/route.c                             | 2 +-
 src/src/routers/accept.c                    | 2 +-
 src/src/routers/accept.h                    | 2 +-
 src/src/routers/dnslookup.c                 | 2 +-
 src/src/routers/dnslookup.h                 | 2 +-
 src/src/routers/ipliteral.c                 | 2 +-
 src/src/routers/ipliteral.h                 | 2 +-
 src/src/routers/iplookup.c                  | 2 +-
 src/src/routers/iplookup.h                  | 2 +-
 src/src/routers/manualroute.c               | 2 +-
 src/src/routers/manualroute.h               | 2 +-
 src/src/routers/queryprogram.c              | 2 +-
 src/src/routers/queryprogram.h              | 2 +-
 src/src/routers/redirect.c                  | 2 +-
 src/src/routers/redirect.h                  | 2 +-
 src/src/routers/rf_change_domain.c          | 2 +-
 src/src/routers/rf_expand_data.c            | 2 +-
 src/src/routers/rf_functions.h              | 2 +-
 src/src/routers/rf_get_errors_address.c     | 2 +-
 src/src/routers/rf_get_munge_headers.c      | 2 +-
 src/src/routers/rf_get_transport.c          | 2 +-
 src/src/routers/rf_get_ugid.c               | 2 +-
 src/src/routers/rf_lookup_hostlist.c        | 2 +-
 src/src/routers/rf_queue_add.c              | 2 +-
 src/src/routers/rf_self_action.c            | 2 +-
 src/src/routers/rf_set_ugid.c               | 2 +-
 src/src/search.c                            | 2 +-
 src/src/setenv.c                            | 2 +-
 src/src/sha_ver.h                           | 2 +-
 src/src/sieve.c                             | 2 +-
 src/src/smtp_in.c                           | 2 +-
 src/src/smtp_out.c                          | 2 +-
 src/src/spam.c                              | 2 +-
 src/src/spam.h                              | 2 +-
 src/src/spf.c                               | 2 +-
 src/src/spf.h                               | 2 +-
 src/src/spool_in.c                          | 2 +-
 src/src/spool_mbox.c                        | 2 +-
 src/src/spool_out.c                         | 2 +-
 src/src/std-crypto.c                        | 2 +-
 src/src/store.c                             | 2 +-
 src/src/store.h                             | 2 +-
 src/src/string.c                            | 2 +-
 src/src/structs.h                           | 2 +-
 src/src/tls-cipher-stdname.c                | 2 +-
 src/src/tls-gnu.c                           | 2 +-
 src/src/tls-openssl.c                       | 2 +-
 src/src/tls.c                               | 2 +-
 src/src/tlscert-gnu.c                       | 2 +-
 src/src/tlscert-openssl.c                   | 2 +-
 src/src/tod.c                               | 2 +-
 src/src/transport.c                         | 2 +-
 src/src/transports/appendfile.c             | 2 +-
 src/src/transports/appendfile.h             | 2 +-
 src/src/transports/autoreply.c              | 2 +-
 src/src/transports/autoreply.h              | 2 +-
 src/src/transports/lmtp.c                   | 2 +-
 src/src/transports/lmtp.h                   | 2 +-
 src/src/transports/pipe.c                   | 2 +-
 src/src/transports/pipe.h                   | 2 +-
 src/src/transports/queuefile.c              | 2 +-
 src/src/transports/queuefile.h              | 2 +-
 src/src/transports/smtp.c                   | 2 +-
 src/src/transports/smtp.h                   | 2 +-
 src/src/transports/smtp_socks.c             | 2 +-
 src/src/transports/tf_maildir.c             | 2 +-
 src/src/transports/tf_maildir.h             | 2 +-
 src/src/tree.c                              | 2 +-
 src/src/utf8.c                              | 2 +-
 src/src/verify.c                            | 2 +-
 src/src/version.c                           | 2 +-
 src/util/chunking_fixqueue_finalnewlines.pl | 3 ++-
 src/util/cramtest.pl                        | 3 ++-
 src/util/gen_pkcs3.c                        | 2 +-
 src/util/logargs.sh                         | 3 ++-
 src/util/mkcdb.pl                           | 3 ++-
 src/util/ocsp_fetch.pl                      | 2 +-
 src/util/proxy_protocol_client.pl           | 2 +-
 src/util/ratelimit.pl                       | 3 ++-
 src/util/renew-opendmarc-tlds.sh            | 3 ++-
 src/util/unknownuser.sh                     | 3 ++-
 331 files changed, 372 insertions(+), 235 deletions(-)


diff --git a/src/Makefile b/src/Makefile
index b774b43dd..d190d9aa0 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -4,6 +4,7 @@

# Copyright (c) The Exim Maintainers 2022
# Copyright (c) University of Cambridge, 1995 - 2018
+# SPDX-License-Identifier: GPL-2.0-or-later
# See the file NOTICE for conditions of use and distribution.

# IRIX make uses the shell that is in the SHELL variable, which often defaults
diff --git a/src/NOTICE b/src/NOTICE
index b4a5c407f..4aa562ea3 100644
--- a/src/NOTICE
+++ b/src/NOTICE
@@ -2,6 +2,7 @@ THE EXIM MAIL TRANSFER AGENT
----------------------------

Copyright (c) 2004 University of Cambridge
+SPDX-License-Identifier: GPL-2.0-or-later

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/src/OS/Makefile-Base b/src/OS/Makefile-Base
index 0c64d45d4..4e1f61a26 100644
--- a/src/OS/Makefile-Base
+++ b/src/OS/Makefile-Base
@@ -1,5 +1,4 @@
# This file is the basis of the main makefile for Exim and friends. The
-#
# makefile at the top level arranges to build the main makefile by calling
# scripts/Configure-Makefile from within the build directory. This
# concatenates the configuration settings from Local/Makefile and other,
@@ -7,6 +6,7 @@
# build directory.
#
# Copyright (c) The Exim Maintainers 1995 - 2022
+# SPDX-License-Identifier: GPL-2.0-or-later

 SHELL      = $(MAKE_SHELL)
 SCRIPTS    = ../scripts
diff --git a/src/OS/Makefile-Default b/src/OS/Makefile-Default
index 6e42db471..7481d3163 100644
--- a/src/OS/Makefile-Default
+++ b/src/OS/Makefile-Default
@@ -2,6 +2,9 @@
 #          The Exim mail transport agent         #
 ##################################################


+# Copyright (c) The Exim Maintainers 2022
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# Generic default make file containing settings that relate to the OS or
# to selectable features within the OS. The configuration options for Exim
# itself live in Local/Makefile, which is constructed by editing src/EDITME.
diff --git a/src/OS/Makefile-FreeBSD b/src/OS/Makefile-FreeBSD
index 4793a438b..f0fb8f2c9 100644
--- a/src/OS/Makefile-FreeBSD
+++ b/src/OS/Makefile-FreeBSD
@@ -1,5 +1,7 @@
# Exim: OS-specific make file for FreeBSD
+#
# Copyright (c) The Exim Maintainers 2020
+# SPDX-License-Identifier: GPL-2.0-or-later

CHOWN_COMMAND=/usr/sbin/chown
#STRIP_COMMAND=/usr/bin/strip
diff --git a/src/OS/Makefile-GNU b/src/OS/Makefile-GNU
index b49976f8c..366ce4263 100644
--- a/src/OS/Makefile-GNU
+++ b/src/OS/Makefile-GNU
@@ -1,5 +1,7 @@
# Exim: OS-specific make file for GNU and variants.
+#
# Copyright (c) The Exim Maintainers 2020
+# SPDX-License-Identifier: GPL-2.0-or-later

HAVE_ICONV=yes

diff --git a/src/OS/Makefile-OpenBSD b/src/OS/Makefile-OpenBSD
index 7c451e2cc..da648df43 100644
--- a/src/OS/Makefile-OpenBSD
+++ b/src/OS/Makefile-OpenBSD
@@ -1,5 +1,6 @@
# Exim: OS-specific make file for OpenBSD
# Copyright (c) The Exim Maintainers 2022
+# SPDX-License-Identifier: GPL-2.0-or-later

CHOWN_COMMAND=/usr/sbin/chown
CHGRP_COMMAND=/usr/sbin/chgrp
diff --git a/src/OS/Makefile-SunOS5 b/src/OS/Makefile-SunOS5
index d07adcff4..e8b0d9506 100644
--- a/src/OS/Makefile-SunOS5
+++ b/src/OS/Makefile-SunOS5
@@ -1,5 +1,6 @@
# Exim: OS-specific make file for SunOS5
# Copyright (c) The Exim Maintainers 2020
+# SPDX-License-Identifier: GPL-2.0-or-later

HAVE_ICONV=yes

diff --git a/src/OS/eximon.conf-Default b/src/OS/eximon.conf-Default
index 2f874ef53..d003156e6 100644
--- a/src/OS/eximon.conf-Default
+++ b/src/OS/eximon.conf-Default
@@ -2,6 +2,9 @@
# These can be overridden by OS-specific scripts and local installation
# scripts, and also at run time by shell variables.

+# Copyright (c) The Exim Maintainers 2022
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# The name of the eximon binary, usually the same as the eximon script,
# with .bin stuck on the end.

diff --git a/src/OS/os.c-FreeBSD b/src/OS/os.c-FreeBSD
index 02b78587b..d65a789c0 100644
--- a/src/OS/os.c-FreeBSD
+++ b/src/OS/os.c-FreeBSD
@@ -4,6 +4,7 @@

/* Copyright (c) Jeremy Harris 1995 - 2020 */
/* Copyright (c) The Exim Maintainers 2021 */
+/* SPDX-License-Identifier: GPL-2.0-or-later */
/* See the file NOTICE for conditions of use and distribution. */

/* FreeBSD-specific code. This is concatenated onto the generic
diff --git a/src/OS/os.c-GNU b/src/OS/os.c-GNU
index dbd014918..2b2aeed22 100644
--- a/src/OS/os.c-GNU
+++ b/src/OS/os.c-GNU
@@ -3,6 +3,7 @@
*************************************************/

/* Copyright (c) The Exim Maintainers 2020 */
+/* SPDX-License-Identifier: GPL-2.0-or-later */
/* See the file NOTICE for conditions of use and distribution. */

/* GNU-specific code. This is concatenated onto the generic src/os.c file.
diff --git a/src/OS/os.c-Linux b/src/OS/os.c-Linux
index 59d81f8ad..34dd7c190 100644
--- a/src/OS/os.c-Linux
+++ b/src/OS/os.c-Linux
@@ -3,6 +3,7 @@
*************************************************/

/* Copyright (c) University of Cambridge 1997 - 2018 */
+/* SPDX-License-Identifier: GPL-2.0-or-later */
/* See the file NOTICE for conditions of use and distribution. */

/* Linux-specific code. This is concatenated onto the generic
diff --git a/src/OS/os.c-SunOS5 b/src/OS/os.c-SunOS5
index 162486958..ec4bb8d42 100644
--- a/src/OS/os.c-SunOS5
+++ b/src/OS/os.c-SunOS5
@@ -4,6 +4,7 @@

/* Copyright (c) University of Cambridge 2016 */
/* Copyright (c) Jeremy Harris 2016 */
+/* SPDX-License-Identifier: GPL-2.0-or-later */
/* See the file NOTICE for conditions of use and distribution. */

/* Solaris-specific code. This is concatenated onto the generic
diff --git a/src/OS/os.h-FreeBSD b/src/OS/os.h-FreeBSD
index 06e217a44..6756d42f6 100644
--- a/src/OS/os.h-FreeBSD
+++ b/src/OS/os.h-FreeBSD
@@ -1,6 +1,7 @@
/* Exim: OS-specific C header file for FreeBSD */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* Copyright (c) The Exim Maintainers 2020 - 2021 */
+/* SPDX-License-Identifier: GPL-2.0-or-later */
/* See the file NOTICE for conditions of use and distribution. */


diff --git a/src/OS/os.h-GNU b/src/OS/os.h-GNU
index 4b222600e..4fe55fa5e 100644
--- a/src/OS/os.h-GNU
+++ b/src/OS/os.h-GNU
@@ -1,5 +1,6 @@
/* Exim: OS-specific C header file for GNU/Hurd */
/* Copyright (c) The Exim Maintainers 2020 - 2021 */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

#include <features.h>

diff --git a/src/OS/os.h-Linux b/src/OS/os.h-Linux
index e6a8d288e..25a12862b 100644
--- a/src/OS/os.h-Linux
+++ b/src/OS/os.h-Linux
@@ -1,6 +1,7 @@
/* Exim: OS-specific C header file for Linux */
/* Copyright (c) University of Cambridge 1995 - 2020 */
/* Copyright (c) The Exim Maintainers 2021 */
+/* SPDX-License-Identifier: GPL-2.0-or-later */
/* See the file NOTICE for conditions of use and distribution. */


diff --git a/src/OS/os.h-OpenBSD b/src/OS/os.h-OpenBSD
index c690b6e4a..19db7189a 100644
--- a/src/OS/os.h-OpenBSD
+++ b/src/OS/os.h-OpenBSD
@@ -1,6 +1,7 @@
/* Exim: OS-specific C header file for OpenBSD */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* Copyright (c) The Exim Maintainers 2021 */
+/* SPDX-License-Identifier: GPL-2.0-or-later */
/* See the file NOTICE for conditions of use and distribution. */


diff --git a/src/OS/os.h-SunOS5 b/src/OS/os.h-SunOS5
index 71253213c..b3f55bf83 100644
--- a/src/OS/os.h-SunOS5
+++ b/src/OS/os.h-SunOS5
@@ -1,5 +1,6 @@
/* Exim: OS-specific C header file for SunOS5 aka Solaris */
/* Copyright (c) The Exim Maintainers 2021 */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

#define CRYPT_H
#define HAVE_MMAP
diff --git a/src/OS/unsupported/Makefile-AIX b/src/OS/unsupported/Makefile-AIX
index fc32aa286..f407cbcaf 100644
--- a/src/OS/unsupported/Makefile-AIX
+++ b/src/OS/unsupported/Makefile-AIX
@@ -1,6 +1,7 @@
# Exim: OS-specific make file for AIX
# Written by Nick Waterman (nick@???)
# Modified by PH following a message from Mike Meredith
+# SPDX-License-Identifier: GPL-2.0-or-later

# Note that the output of uname -m is probably not what Philip expected,
# so you might end up with more build-AIX-random_number directories than
diff --git a/src/OS/unsupported/Makefile-BSDI b/src/OS/unsupported/Makefile-BSDI
index d56aa9b57..6ea176319 100644
--- a/src/OS/unsupported/Makefile-BSDI
+++ b/src/OS/unsupported/Makefile-BSDI
@@ -1,5 +1,6 @@
# Exim: OS-specific make file for BSDI aka BSD/OS. Its antique link editor
# cannot handle the TextPop overriding.
+# SPDX-License-Identifier: GPL-2.0-or-later

CFLAGS=-O
CHOWN_COMMAND=/usr/sbin/chown
diff --git a/src/OS/unsupported/Makefile-CYGWIN b/src/OS/unsupported/Makefile-CYGWIN
index 5e608fe9e..bc4545b47 100644
--- a/src/OS/unsupported/Makefile-CYGWIN
+++ b/src/OS/unsupported/Makefile-CYGWIN
@@ -1,4 +1,5 @@
# OS-specific file for Cygwin.
+# SPDX-License-Identifier: GPL-2.0-or-later

# This file provided by Pierre A. Humblet <Pierre.Humblet@???>

diff --git a/src/OS/unsupported/Makefile-DGUX b/src/OS/unsupported/Makefile-DGUX
index 667c63f49..1258ba4e4 100644
--- a/src/OS/unsupported/Makefile-DGUX
+++ b/src/OS/unsupported/Makefile-DGUX
@@ -1,4 +1,5 @@
# Exim: OS-specific make file for DGUX
+# SPDX-License-Identifier: GPL-2.0-or-later
#
# Written by Ken Bailey (K.Bailey@???) Feb 1998
# on dgux R4.11MU04 generic AViiON mc88100
diff --git a/src/OS/unsupported/Makefile-Darwin b/src/OS/unsupported/Makefile-Darwin
index 517bbc493..bdd9d110d 100644
--- a/src/OS/unsupported/Makefile-Darwin
+++ b/src/OS/unsupported/Makefile-Darwin
@@ -1,4 +1,5 @@
# Exim: OS-specific make file for Darwin (Mac OS X).
+# SPDX-License-Identifier: GPL-2.0-or-later

CC=cc

diff --git a/src/OS/unsupported/Makefile-DragonFly b/src/OS/unsupported/Makefile-DragonFly
index c49c59ffc..9d845f13f 100644
--- a/src/OS/unsupported/Makefile-DragonFly
+++ b/src/OS/unsupported/Makefile-DragonFly
@@ -1,4 +1,6 @@
# Exim: OS-specific make file for DragonFly
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
# There's no setting of CFLAGS here, to allow the system default
# for "make" to be the default.

diff --git a/src/OS/unsupported/Makefile-GNUkFreeBSD b/src/OS/unsupported/Makefile-GNUkFreeBSD
index 801928143..b5ed325d1 100644
--- a/src/OS/unsupported/Makefile-GNUkFreeBSD
+++ b/src/OS/unsupported/Makefile-GNUkFreeBSD
@@ -1,4 +1,5 @@
# Exim: OS-specific make file for GNU and variants.
+# SPDX-License-Identifier: GPL-2.0-or-later

HAVE_ICONV=yes

diff --git a/src/OS/unsupported/Makefile-GNUkNetBSD b/src/OS/unsupported/Makefile-GNUkNetBSD
index 801928143..b5ed325d1 100644
--- a/src/OS/unsupported/Makefile-GNUkNetBSD
+++ b/src/OS/unsupported/Makefile-GNUkNetBSD
@@ -1,4 +1,5 @@
# Exim: OS-specific make file for GNU and variants.
+# SPDX-License-Identifier: GPL-2.0-or-later

HAVE_ICONV=yes

diff --git a/src/OS/unsupported/Makefile-HI-OSF b/src/OS/unsupported/Makefile-HI-OSF
index da3d487a4..66aac36b9 100644
--- a/src/OS/unsupported/Makefile-HI-OSF
+++ b/src/OS/unsupported/Makefile-HI-OSF
@@ -1,4 +1,5 @@
# Exim: OS-specific make file for HI-OSF/1-MJ and HI-UX/MPP
+# SPDX-License-Identifier: GPL-2.0-or-later

CC=cc
CFLAGS=-O
diff --git a/src/OS/unsupported/Makefile-HI-UX b/src/OS/unsupported/Makefile-HI-UX
index 870ee8460..c1f4fe51a 100644
--- a/src/OS/unsupported/Makefile-HI-UX
+++ b/src/OS/unsupported/Makefile-HI-UX
@@ -1,4 +1,5 @@
# Exim: OS-specific make file for HI-UX
+# SPDX-License-Identifier: GPL-2.0-or-later

CC=cc -Aa -D_HIUX_SOURCE
HAVE_SETRESUID=YES
diff --git a/src/OS/unsupported/Makefile-HP-UX b/src/OS/unsupported/Makefile-HP-UX
index ea35144bb..7e6cd9dba 100644
--- a/src/OS/unsupported/Makefile-HP-UX
+++ b/src/OS/unsupported/Makefile-HP-UX
@@ -1,4 +1,5 @@
# Exim: OS-specific make file for HP-UX later than 9
+# SPDX-License-Identifier: GPL-2.0-or-later

# HP ANSI C compiler
#CC=cc
diff --git a/src/OS/unsupported/Makefile-HP-UX-9 b/src/OS/unsupported/Makefile-HP-UX-9
index 153000944..ad28d4fdb 100644
--- a/src/OS/unsupported/Makefile-HP-UX-9
+++ b/src/OS/unsupported/Makefile-HP-UX-9
@@ -1,4 +1,5 @@
# Exim: OS-specific make file for HP-UX 9
+# SPDX-License-Identifier: GPL-2.0-or-later

CFLAGS=-O
BASENAME_COMMAND=/bin/basename
diff --git a/src/OS/unsupported/Makefile-IRIX b/src/OS/unsupported/Makefile-IRIX
index 7b9578339..a9925956b 100644
--- a/src/OS/unsupported/Makefile-IRIX
+++ b/src/OS/unsupported/Makefile-IRIX
@@ -1,4 +1,5 @@
# Exim: OS-specific make file for IRIX
+# SPDX-License-Identifier: GPL-2.0-or-later

HAVE_ICONV=yes
BASENAME_COMMAND=/sbin/basename
diff --git a/src/OS/unsupported/Makefile-IRIX6 b/src/OS/unsupported/Makefile-IRIX6
index be0113846..6140649d1 100644
--- a/src/OS/unsupported/Makefile-IRIX6
+++ b/src/OS/unsupported/Makefile-IRIX6
@@ -1,4 +1,5 @@
# Exim: OS-specific make file for IRIX6 on 64-bit systems
+# SPDX-License-Identifier: GPL-2.0-or-later

HAVE_ICONV=yes
HOSTNAME_COMMAND=/usr/bsd/hostname
diff --git a/src/OS/unsupported/Makefile-IRIX632 b/src/OS/unsupported/Makefile-IRIX632
index b567fc64e..2b19463ff 100644
--- a/src/OS/unsupported/Makefile-IRIX632
+++ b/src/OS/unsupported/Makefile-IRIX632
@@ -1,4 +1,6 @@
# Exim: OS-specific make file for IRIX 6 on 32-bit systems.
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# There seems to be some variation. The commented settings show
# some alternatives.

diff --git a/src/OS/unsupported/Makefile-IRIX65 b/src/OS/unsupported/Makefile-IRIX65
index 50e77450a..4ad77a66f 100644
--- a/src/OS/unsupported/Makefile-IRIX65
+++ b/src/OS/unsupported/Makefile-IRIX65
@@ -1,4 +1,5 @@
# Exim: OS-specific make file for IRIX 6.5
+# SPDX-License-Identifier: GPL-2.0-or-later

HAVE_ICONV=yes
HOSTNAME_COMMAND=/usr/bsd/hostname
diff --git a/src/OS/unsupported/Makefile-NetBSD b/src/OS/unsupported/Makefile-NetBSD
index 35d03a24a..6792da216 100644
--- a/src/OS/unsupported/Makefile-NetBSD
+++ b/src/OS/unsupported/Makefile-NetBSD
@@ -1,4 +1,5 @@
# Exim: OS-specific make file for NetBSD (ELF object format)
+# SPDX-License-Identifier: GPL-2.0-or-later

CHOWN_COMMAND=/usr/sbin/chown
CHMOD_COMMAND=/bin/chmod
diff --git a/src/OS/unsupported/Makefile-NetBSD-a.out b/src/OS/unsupported/Makefile-NetBSD-a.out
index e210efdda..5bee773ae 100644
--- a/src/OS/unsupported/Makefile-NetBSD-a.out
+++ b/src/OS/unsupported/Makefile-NetBSD-a.out
@@ -1,4 +1,5 @@
# Exim: OS-specific make file for NetBSD (a.out/COFF object format)
+# SPDX-License-Identifier: GPL-2.0-or-later

CHOWN_COMMAND=/usr/sbin/chown
CHMOD_COMMAND=/bin/chmod
diff --git a/src/OS/unsupported/Makefile-OSF1 b/src/OS/unsupported/Makefile-OSF1
index 811ca07a9..73814cec6 100644
--- a/src/OS/unsupported/Makefile-OSF1
+++ b/src/OS/unsupported/Makefile-OSF1
@@ -1,4 +1,5 @@
# Exim: OS-specific make file for OSF1
+# SPDX-License-Identifier: GPL-2.0-or-later

CFLAGS=-O
LIBS=-liconv -lm
diff --git a/src/OS/unsupported/Makefile-OpenUNIX b/src/OS/unsupported/Makefile-OpenUNIX
index e4d726158..dbab2b557 100644
--- a/src/OS/unsupported/Makefile-OpenUNIX
+++ b/src/OS/unsupported/Makefile-OpenUNIX
@@ -1,4 +1,5 @@
# Exim: OS-specific make file for OpenUNIX
+# SPDX-License-Identifier: GPL-2.0-or-later

CC=/usr/bin/cc
CFLAGS=-O -I/usr/local/include
diff --git a/src/OS/unsupported/Makefile-QNX b/src/OS/unsupported/Makefile-QNX
index 3cf81c41b..7d957b27c 100644
--- a/src/OS/unsupported/Makefile-QNX
+++ b/src/OS/unsupported/Makefile-QNX
@@ -1,4 +1,5 @@
# Exim: OS-specific makefile for QNX
+# SPDX-License-Identifier: GPL-2.0-or-later

BASENAME_COMMAND=/bin/basename
MAKE_SHELL=/usr/bin/bash
diff --git a/src/OS/unsupported/Makefile-SCO b/src/OS/unsupported/Makefile-SCO
index baa61d80b..c936ec536 100644
--- a/src/OS/unsupported/Makefile-SCO
+++ b/src/OS/unsupported/Makefile-SCO
@@ -1,4 +1,5 @@
# Exim: OS-specific make file for SCO
+# SPDX-License-Identifier: GPL-2.0-or-later

 # It was reported that some versions of gcc (e.g. 2.8.1) require this to be
 # CFLAGS=-melf
diff --git a/src/OS/unsupported/Makefile-SCO_SV b/src/OS/unsupported/Makefile-SCO_SV
index 249b81a0f..9baf1c470 100644
--- a/src/OS/unsupported/Makefile-SCO_SV
+++ b/src/OS/unsupported/Makefile-SCO_SV
@@ -1,6 +1,7 @@
 # Exim: OS-specific make file for SCO_SV release 5 (tested on 5.0.5 & 5.0.5)
 #       (see the UNIX_SV files for SCO 4.2)
 # Supplied by: Tony Earnshaw <tonye@???>
+# SPDX-License-Identifier: GPL-2.0-or-later


# Note that 'gcc -melf -m486' applies to gcc 2.7.2 and higher;
# 2.7.1 and SCO's SDK need '-belf'.
diff --git a/src/OS/unsupported/Makefile-SunOS4 b/src/OS/unsupported/Makefile-SunOS4
index c876998e5..0dec44b65 100644
--- a/src/OS/unsupported/Makefile-SunOS4
+++ b/src/OS/unsupported/Makefile-SunOS4
@@ -1,4 +1,5 @@
# Exim: OS-specific make file for SunOS4
+# SPDX-License-Identifier: GPL-2.0-or-later

CFLAGS=-O

diff --git a/src/OS/unsupported/Makefile-SunOS5-hal b/src/OS/unsupported/Makefile-SunOS5-hal
index 05ea893af..05759f369 100644
--- a/src/OS/unsupported/Makefile-SunOS5-hal
+++ b/src/OS/unsupported/Makefile-SunOS5-hal
@@ -1,4 +1,5 @@
# Exim: OS-specific make file for SunOS5 on a HAL
+# SPDX-License-Identifier: GPL-2.0-or-later

# Note: The HAL runs a standard SunOS5 except that it has a 64 bit C
# compiler called hcc. To make things work pass the -KV7 flag to force
diff --git a/src/OS/unsupported/Makefile-ULTRIX b/src/OS/unsupported/Makefile-ULTRIX
index 9e912b3cb..00a95b950 100644
--- a/src/OS/unsupported/Makefile-ULTRIX
+++ b/src/OS/unsupported/Makefile-ULTRIX
@@ -1,4 +1,5 @@
# Exim: OS-specific make file for Ultrix
+# SPDX-License-Identifier: GPL-2.0-or-later

MAKE_SHELL=/usr/bin/sh5

diff --git a/src/OS/unsupported/Makefile-UNIX_SV b/src/OS/unsupported/Makefile-UNIX_SV
index bfcfae1c0..5ea8567a5 100644
--- a/src/OS/unsupported/Makefile-UNIX_SV
+++ b/src/OS/unsupported/Makefile-UNIX_SV
@@ -1,4 +1,5 @@
# Exim: OS-specific make file for SCO SVR4.2MP (and maybe Unixware)
+# SPDX-License-Identifier: GPL-2.0-or-later
#
# *** Note that for SCO 5 the configuration file is called SCO_SV,
# *** and that Unixware7 has its own configuration. This is an old
diff --git a/src/OS/unsupported/Makefile-USG b/src/OS/unsupported/Makefile-USG
index 753a2d7e8..69a31bc15 100644
--- a/src/OS/unsupported/Makefile-USG
+++ b/src/OS/unsupported/Makefile-USG
@@ -1,4 +1,5 @@
# Exim: OS-specific make file for Unixware 2.x
+# SPDX-License-Identifier: GPL-2.0-or-later
#
# Note that Unixware does not include db/dbm/ndbm with their standard compiler
# (it is available with /usr/ucb/cc, but that has bugs of its own). You
diff --git a/src/OS/unsupported/Makefile-Unixware7 b/src/OS/unsupported/Makefile-Unixware7
index 88a883801..0dc1afb1a 100644
--- a/src/OS/unsupported/Makefile-Unixware7
+++ b/src/OS/unsupported/Makefile-Unixware7
@@ -1,5 +1,6 @@
# Exim: OS-specific make file for Unixware7
# Based on information from James FitzGibbon <james@???>
+# SPDX-License-Identifier: GPL-2.0-or-later

 # If you want to use libbind, you need to
 #     add -I/usr/local/bind/include to CFLAGS
diff --git a/src/OS/unsupported/Makefile-mips b/src/OS/unsupported/Makefile-mips
index ff3313937..d48adb411 100644
--- a/src/OS/unsupported/Makefile-mips
+++ b/src/OS/unsupported/Makefile-mips
@@ -1,4 +1,5 @@
 # Exim: OS-specific make file for RiscOS4bsd
+# SPDX-License-Identifier: GPL-2.0-or-later


HOSTNAME_COMMAND=/usr/ucb/hostname
EXIT_FAILURE=1
diff --git a/src/OS/unsupported/os.c-BSDI b/src/OS/unsupported/os.c-BSDI
index 03a7a1cef..42160046b 100644
--- a/src/OS/unsupported/os.c-BSDI
+++ b/src/OS/unsupported/os.c-BSDI
@@ -3,6 +3,7 @@
*************************************************/

/* Copyright (c) 2016 Heiko Schlittermann <hs@???> */
+/* SPDX-License-Identifier: GPL-2.0-or-later */
/* See the file NOTICE for conditions of use and distribution. */

/* BSDI-specific code. This is concatenated onto the generic
diff --git a/src/OS/unsupported/os.c-HI-OSF b/src/OS/unsupported/os.c-HI-OSF
index 5e3d336f2..56db57fd5 100644
--- a/src/OS/unsupported/os.c-HI-OSF
+++ b/src/OS/unsupported/os.c-HI-OSF
@@ -3,6 +3,7 @@
*************************************************/

/* Copyright (c) University of Cambridge 2001 */
+/* SPDX-License-Identifier: GPL-2.0-or-later */
/* See the file NOTICE for conditions of use and distribution. */

/* HI-OSF-specific code. This is concatenated onto the generic
diff --git a/src/OS/unsupported/os.c-HP-UX b/src/OS/unsupported/os.c-HP-UX
index fdd8708a2..1178b782f 100644
--- a/src/OS/unsupported/os.c-HP-UX
+++ b/src/OS/unsupported/os.c-HP-UX
@@ -4,6 +4,7 @@

/* Copyright (c) University of Cambridge 2016 */
/* Copyright (c) Jeremy Harris 2016 */
+/* SPDX-License-Identifier: GPL-2.0-or-later */
/* See the file NOTICE for conditions of use and distribution. */

/* HP-UX-specific code. This is concatenated onto the generic
diff --git a/src/OS/unsupported/os.c-IRIX b/src/OS/unsupported/os.c-IRIX
index 19172389b..1019901dc 100644
--- a/src/OS/unsupported/os.c-IRIX
+++ b/src/OS/unsupported/os.c-IRIX
@@ -4,6 +4,7 @@

/* Copyright (c) The Exim Maintainers 2022 */
/* Copyright (c) University of Cambridge 2001 */
+/* SPDX-License-Identifier: GPL-2.0-or-later */
/* See the file NOTICE for conditions of use and distribution. */

/* Irix-specific code. This is concatenated onto the generic src/os.c file.
diff --git a/src/OS/unsupported/os.c-IRIX6 b/src/OS/unsupported/os.c-IRIX6
index 19172389b..1019901dc 100644
--- a/src/OS/unsupported/os.c-IRIX6
+++ b/src/OS/unsupported/os.c-IRIX6
@@ -4,6 +4,7 @@

/* Copyright (c) The Exim Maintainers 2022 */
/* Copyright (c) University of Cambridge 2001 */
+/* SPDX-License-Identifier: GPL-2.0-or-later */
/* See the file NOTICE for conditions of use and distribution. */

/* Irix-specific code. This is concatenated onto the generic src/os.c file.
diff --git a/src/OS/unsupported/os.c-IRIX632 b/src/OS/unsupported/os.c-IRIX632
index 19172389b..1019901dc 100644
--- a/src/OS/unsupported/os.c-IRIX632
+++ b/src/OS/unsupported/os.c-IRIX632
@@ -4,6 +4,7 @@

/* Copyright (c) The Exim Maintainers 2022 */
/* Copyright (c) University of Cambridge 2001 */
+/* SPDX-License-Identifier: GPL-2.0-or-later */
/* See the file NOTICE for conditions of use and distribution. */

/* Irix-specific code. This is concatenated onto the generic src/os.c file.
diff --git a/src/OS/unsupported/os.c-IRIX65 b/src/OS/unsupported/os.c-IRIX65
index 19172389b..1019901dc 100644
--- a/src/OS/unsupported/os.c-IRIX65
+++ b/src/OS/unsupported/os.c-IRIX65
@@ -4,6 +4,7 @@

/* Copyright (c) The Exim Maintainers 2022 */
/* Copyright (c) University of Cambridge 2001 */
+/* SPDX-License-Identifier: GPL-2.0-or-later */
/* See the file NOTICE for conditions of use and distribution. */

/* Irix-specific code. This is concatenated onto the generic src/os.c file.
diff --git a/src/OS/unsupported/os.c-OSF1 b/src/OS/unsupported/os.c-OSF1
index ad91b63d1..4dc700f79 100644
--- a/src/OS/unsupported/os.c-OSF1
+++ b/src/OS/unsupported/os.c-OSF1
@@ -3,6 +3,7 @@
*************************************************/

/* Copyright (c) University of Cambridge 2001 */
+/* SPDX-License-Identifier: GPL-2.0-or-later */
/* See the file NOTICE for conditions of use and distribution. */

 /* OSF1-specific code. This is concatenated onto the generic src/os.c file.
diff --git a/src/OS/unsupported/os.c-cygwin b/src/OS/unsupported/os.c-cygwin
index 5ca05a8db..56085b857 100644
--- a/src/OS/unsupported/os.c-cygwin
+++ b/src/OS/unsupported/os.c-cygwin
@@ -1,6 +1,7 @@
 /*************************************************
 *     Exim - an Internet mail transport agent    *
 *************************************************/
+/* SPDX-License-Identifier: GPL-2.0-or-later */


 /* Cygwin-specific code. December 2002. Updated Jan 2015.
    This is prefixed to the src/os.c file.
diff --git a/src/OS/unsupported/os.h-AIX b/src/OS/unsupported/os.h-AIX
index 5cd4501a4..d70b907f5 100644
--- a/src/OS/unsupported/os.h-AIX
+++ b/src/OS/unsupported/os.h-AIX
@@ -1,4 +1,6 @@
 /* Exim: OS-specific C header file for AIX */
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
 /* Written by Nick Waterman <nick@???> */
 /* Modified by Philip Hazel with data from
    Niels Provos <provos@???>
diff --git a/src/OS/unsupported/os.h-BSDI b/src/OS/unsupported/os.h-BSDI
index a1705ec95..0a5dd93e6 100644
--- a/src/OS/unsupported/os.h-BSDI
+++ b/src/OS/unsupported/os.h-BSDI
@@ -1,4 +1,5 @@
 /* Exim: OS-specific C header file for BSDI */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


#define HAVE_BSD_GETLOADAVG
#define HAVE_SETCLASSRESOURCES
diff --git a/src/OS/unsupported/os.h-DGUX b/src/OS/unsupported/os.h-DGUX
index 9040f0e72..a4918b649 100644
--- a/src/OS/unsupported/os.h-DGUX
+++ b/src/OS/unsupported/os.h-DGUX
@@ -1,4 +1,5 @@
/* Exim: OS-specific C header file for DGUX */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

 /* Written by Ken Bailey (K.Bailey@???) Feb 1998 */
 /* on dgux R4.11MU04 generic AViiON mc88100                */
diff --git a/src/OS/unsupported/os.h-Darwin b/src/OS/unsupported/os.h-Darwin
index a85e92f05..8cec8a90f 100644
--- a/src/OS/unsupported/os.h-Darwin
+++ b/src/OS/unsupported/os.h-Darwin
@@ -1,4 +1,5 @@
 /* Exim: OS-specific C header file for Darwin (Mac OS X) */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


/* #define CRYPT_H */ /* Apparently this isn't needed */

diff --git a/src/OS/unsupported/os.h-DragonFly b/src/OS/unsupported/os.h-DragonFly
index 4c2f1d508..122957f8d 100644
--- a/src/OS/unsupported/os.h-DragonFly
+++ b/src/OS/unsupported/os.h-DragonFly
@@ -1,4 +1,5 @@
/* Exim: OS-specific C header file for DragonFly */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

#define HAVE_BSD_GETLOADAVG
#define HAVE_MMAP
diff --git a/src/OS/unsupported/os.h-GNUkFreeBSD b/src/OS/unsupported/os.h-GNUkFreeBSD
index ab3503131..9326951c2 100644
--- a/src/OS/unsupported/os.h-GNUkFreeBSD
+++ b/src/OS/unsupported/os.h-GNUkFreeBSD
@@ -1,4 +1,5 @@
/* Exim: OS-specific C header file for GNU/kFreeBSD */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

#define CRYPT_H
#define GLIBC_IP_OPTIONS
diff --git a/src/OS/unsupported/os.h-GNUkNetBSD b/src/OS/unsupported/os.h-GNUkNetBSD
index bc3bc259d..f255b383d 100644
--- a/src/OS/unsupported/os.h-GNUkNetBSD
+++ b/src/OS/unsupported/os.h-GNUkNetBSD
@@ -1,4 +1,5 @@
/* Exim: OS-specific C header file for GNU/kNetBSD */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

#define CRYPT_H
#define GLIBC_IP_OPTIONS
diff --git a/src/OS/unsupported/os.h-HI-OSF b/src/OS/unsupported/os.h-HI-OSF
index 0f50fb660..9dc59cbcd 100644
--- a/src/OS/unsupported/os.h-HI-OSF
+++ b/src/OS/unsupported/os.h-HI-OSF
@@ -1,4 +1,5 @@
/* Exim: OS-specific C header file for HI-OSF/1-MJ and HI-UX/MPP */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

#define HAVE_SYS_MOUNT_H

diff --git a/src/OS/unsupported/os.h-HI-UX b/src/OS/unsupported/os.h-HI-UX
index f3df9638c..8a83ce0b0 100644
--- a/src/OS/unsupported/os.h-HI-UX
+++ b/src/OS/unsupported/os.h-HI-UX
@@ -1,4 +1,5 @@
/* Exim: OS-specific C header file for HI-UX */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

#define LOAD_AVG_NEEDS_ROOT
#define HAVE_DEV_KMEM
diff --git a/src/OS/unsupported/os.h-HP-UX b/src/OS/unsupported/os.h-HP-UX
index 4998734f6..e74c254f6 100644
--- a/src/OS/unsupported/os.h-HP-UX
+++ b/src/OS/unsupported/os.h-HP-UX
@@ -1,4 +1,5 @@
/* Exim: OS-specific C header file for HP-UX versions greater than 9 */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

#define EXIM_SOCKLEN_T size_t

diff --git a/src/OS/unsupported/os.h-HP-UX-9 b/src/OS/unsupported/os.h-HP-UX-9
index 5a260d607..cb967a001 100644
--- a/src/OS/unsupported/os.h-HP-UX-9
+++ b/src/OS/unsupported/os.h-HP-UX-9
@@ -1,4 +1,5 @@
/* Exim: OS-specific C header file for HP-UX version 9 */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

#define LOAD_AVG_NEEDS_ROOT
#define HAVE_DEV_KMEM
diff --git a/src/OS/unsupported/os.h-IRIX b/src/OS/unsupported/os.h-IRIX
index 1d4bf46ba..ceff6ea05 100644
--- a/src/OS/unsupported/os.h-IRIX
+++ b/src/OS/unsupported/os.h-IRIX
@@ -1,4 +1,5 @@
/* Exim: OS-specific C header file for IRIX */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

#define DN_EXPAND_ARG4_TYPE u_char *

diff --git a/src/OS/unsupported/os.h-IRIX6 b/src/OS/unsupported/os.h-IRIX6
index bf3076713..59bf6c46e 100644
--- a/src/OS/unsupported/os.h-IRIX6
+++ b/src/OS/unsupported/os.h-IRIX6
@@ -1,4 +1,5 @@
/* Exim: OS-specific C header file for IRIX */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

#define CRYPT_H
#define LOAD_AVG_NEEDS_ROOT
diff --git a/src/OS/unsupported/os.h-IRIX632 b/src/OS/unsupported/os.h-IRIX632
index 90f1c582c..8c171147b 100644
--- a/src/OS/unsupported/os.h-IRIX632
+++ b/src/OS/unsupported/os.h-IRIX632
@@ -1,4 +1,5 @@
/* Exim: OS-specific C header file for IRIX */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

#define CRYPT_H
#define DN_EXPAND_ARG4_TYPE u_char *
diff --git a/src/OS/unsupported/os.h-IRIX65 b/src/OS/unsupported/os.h-IRIX65
index 4b248fe36..381acbd57 100644
--- a/src/OS/unsupported/os.h-IRIX65
+++ b/src/OS/unsupported/os.h-IRIX65
@@ -1,4 +1,5 @@
/* Exim: OS-specific C header file for IRIX 6.5 */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

#define CRYPT_H
#define LOAD_AVG_NEEDS_ROOT
diff --git a/src/OS/unsupported/os.h-NetBSD b/src/OS/unsupported/os.h-NetBSD
index 0b9fc03f0..a8e32107a 100644
--- a/src/OS/unsupported/os.h-NetBSD
+++ b/src/OS/unsupported/os.h-NetBSD
@@ -1,5 +1,6 @@
/* Exim: OS-specific C header file for NetBSD */
/* Copyright (c) The Exim Maintainers 2021 */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

#define HAVE_BSD_GETLOADAVG
#define HAVE_GETIFADDRS
diff --git a/src/OS/unsupported/os.h-NetBSD-a.out b/src/OS/unsupported/os.h-NetBSD-a.out
index 29a8feeff..59eb79241 100644
--- a/src/OS/unsupported/os.h-NetBSD-a.out
+++ b/src/OS/unsupported/os.h-NetBSD-a.out
@@ -1,4 +1,5 @@
/* Exim: OS-specific C header file for NetBSD (a.out binary format) */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

 #include "../OS/os.h-NetBSD"     /* Same as for ELF format */


diff --git a/src/OS/unsupported/os.h-OSF1 b/src/OS/unsupported/os.h-OSF1
index 6b5fa4973..4c985e8f2 100644
--- a/src/OS/unsupported/os.h-OSF1
+++ b/src/OS/unsupported/os.h-OSF1
@@ -1,4 +1,5 @@
/* Exim: OS-specific C header file for OSF1 */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

 #define HAVE_SYS_MOUNT_H
 #define HAVE_GETIPNODEBYNAME    1
diff --git a/src/OS/unsupported/os.h-OpenUNIX b/src/OS/unsupported/os.h-OpenUNIX
index 67d1063b0..e8fae863a 100644
--- a/src/OS/unsupported/os.h-OpenUNIX
+++ b/src/OS/unsupported/os.h-OpenUNIX
@@ -1,4 +1,5 @@
 /* Exim: OS-specific C header file for OpenUNIX */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


#define NO_SYSEXITS

diff --git a/src/OS/unsupported/os.h-QNX b/src/OS/unsupported/os.h-QNX
index 798f799ed..e5b04826c 100644
--- a/src/OS/unsupported/os.h-QNX
+++ b/src/OS/unsupported/os.h-QNX
@@ -1,4 +1,5 @@
/* Exim: OS-specific C header file for QNX */
+/* SPDX-License-Identifier: GPL-2.0-or-later */
/* Modified for QNX 6.2.0 with diffs from Samuli Tuomola. */

#include <sys/select.h>
diff --git a/src/OS/unsupported/os.h-SCO b/src/OS/unsupported/os.h-SCO
index e5e915ed0..99585ae46 100644
--- a/src/OS/unsupported/os.h-SCO
+++ b/src/OS/unsupported/os.h-SCO
@@ -1,4 +1,5 @@
/* Exim: OS-specific C header file for SCO */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

 #define DN_EXPAND_ARG4_TYPE    u_char *


diff --git a/src/OS/unsupported/os.h-SCO_SV b/src/OS/unsupported/os.h-SCO_SV
index 0ca29f74a..724753e29 100644
--- a/src/OS/unsupported/os.h-SCO_SV
+++ b/src/OS/unsupported/os.h-SCO_SV
@@ -1,4 +1,5 @@
/* Exim: OS-specific C header file for SCO_SV */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

#define LOAD_AVG_NEEDS_ROOT
#define HAVE_DEV_KMEM
diff --git a/src/OS/unsupported/os.h-SunOS4 b/src/OS/unsupported/os.h-SunOS4
index 65556204c..d12acc05c 100644
--- a/src/OS/unsupported/os.h-SunOS4
+++ b/src/OS/unsupported/os.h-SunOS4
@@ -1,4 +1,5 @@
/* Exim: OS-specific C header file for SunOS4 */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

#define LOAD_AVG_NEEDS_ROOT
#define HAVE_DEV_KMEM
diff --git a/src/OS/unsupported/os.h-SunOS5-hal b/src/OS/unsupported/os.h-SunOS5-hal
index cd9e877a9..1a1e43f95 100644
--- a/src/OS/unsupported/os.h-SunOS5-hal
+++ b/src/OS/unsupported/os.h-SunOS5-hal
@@ -1,4 +1,5 @@
/* Exim: OS-specific C header file for SunOS5 on HAL */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

#define HAVE_MMAP

diff --git a/src/OS/unsupported/os.h-ULTRIX b/src/OS/unsupported/os.h-ULTRIX
index 08db5aec8..83b0fc4aa 100644
--- a/src/OS/unsupported/os.h-ULTRIX
+++ b/src/OS/unsupported/os.h-ULTRIX
@@ -1,4 +1,5 @@
/* Exim: OS-specific C header file for Ultrix */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* Well, it *does* have statfs(), but its structure is called something
different, all the members have different names, and the function returns
diff --git a/src/OS/unsupported/os.h-UNIX_SV b/src/OS/unsupported/os.h-UNIX_SV
index 4943a07de..275475322 100644
--- a/src/OS/unsupported/os.h-UNIX_SV
+++ b/src/OS/unsupported/os.h-UNIX_SV
@@ -1,4 +1,5 @@
/* Exim: OS-specific C header file for SCO SVR4.2 (and maybe Unixware) */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/**
*** Note that for SCO 5 the configuration file is called SCO_SV,
diff --git a/src/OS/unsupported/os.h-USG b/src/OS/unsupported/os.h-USG
index e76922067..597c52f9d 100644
--- a/src/OS/unsupported/os.h-USG
+++ b/src/OS/unsupported/os.h-USG
@@ -1,4 +1,5 @@
/* Exim: OS-specific C header file for Unixware 2.x */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

#define NO_SYSEXITS

diff --git a/src/OS/unsupported/os.h-Unixware7 b/src/OS/unsupported/os.h-Unixware7
index 4d3ed42f2..e8f8c3210 100644
--- a/src/OS/unsupported/os.h-Unixware7
+++ b/src/OS/unsupported/os.h-Unixware7
@@ -1,4 +1,5 @@
/* Exim: OS-specific C header file for Unixware 7 */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

#define NO_SYSEXITS

diff --git a/src/OS/unsupported/os.h-cygwin b/src/OS/unsupported/os.h-cygwin
index 6ef59e0cc..7f81c074f 100644
--- a/src/OS/unsupported/os.h-cygwin
+++ b/src/OS/unsupported/os.h-cygwin
@@ -1,4 +1,5 @@
/* Exim: OS-specific C header file for Cygwin */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

 /* This code was supplied by Pierre A. Humblet <Pierre.Humblet@???>
    December 2002. Updated Jan 2015. */
diff --git a/src/OS/unsupported/os.h-mips b/src/OS/unsupported/os.h-mips
index 325e3a134..39e0019cb 100644
--- a/src/OS/unsupported/os.h-mips
+++ b/src/OS/unsupported/os.h-mips
@@ -1,4 +1,5 @@
 /* Exim: OS-specific C header file for RiscOS4bsd */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


#define LOAD_AVG_NEEDS_ROOT
#define HAVE_DEV_KMEM
diff --git a/src/README b/src/README
index d9379f7f8..e335cc22e 100644
--- a/src/README
+++ b/src/README
@@ -2,6 +2,7 @@ THE EXIM MAIL TRANSFER AGENT VERSION 4
--------------------------------------

Copyright (c) 1995 - 2018 University of Cambridge.
+SPDX-License-Identifier: GPL-2.0-or-later
See the file NOTICE for conditions of use and distribution.

 There is a book about Exim by Philip Hazel called "The Exim SMTP Mail Server",
diff --git a/src/exim_monitor/EDITME b/src/exim_monitor/EDITME
index a70b7cb61..1b6320c8f 100644
--- a/src/exim_monitor/EDITME
+++ b/src/exim_monitor/EDITME
@@ -2,6 +2,9 @@
 #                The Exim Monitor                #
 ##################################################


+# Copyright (c) The Exim Maintainers 2022
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# This is the template for the Exim monitor's main build-time configuration
# file. It contains settings that are independent of any operating system. It
# should be edited and then saved to a file called Local/eximon.conf before
diff --git a/src/exim_monitor/em_StripChart.c b/src/exim_monitor/em_StripChart.c
index 3eb98e4fb..a974790d3 100644
--- a/src/exim_monitor/em_StripChart.c
+++ b/src/exim_monitor/em_StripChart.c
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */
/***********************************************************
Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts,
and the Massachusetts Institute of Technology, Cambridge, Massachusetts.
diff --git a/src/exim_monitor/em_TextPop.c b/src/exim_monitor/em_TextPop.c
index 0e87cb580..0360f852b 100644
--- a/src/exim_monitor/em_TextPop.c
+++ b/src/exim_monitor/em_TextPop.c
@@ -2,7 +2,7 @@
Copyright (c) The Exim Maintainers 2022
Copyright 1989 by the Massachusetts Institute of Technology,
Cambridge, Massachusetts.
-SPDX-License-Identifier: GPL-2.0-only
+SPDX-License-Identifier: GPL-2.0-or-later

                         All Rights Reserved


diff --git a/src/exim_monitor/em_globals.c b/src/exim_monitor/em_globals.c
index 2943065b4..cf9b1075e 100644
--- a/src/exim_monitor/em_globals.c
+++ b/src/exim_monitor/em_globals.c
@@ -5,7 +5,7 @@
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* Copyright (c) The Exim Maintainers 2021 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


#include "em_hdr.h"
diff --git a/src/exim_monitor/em_hdr.h b/src/exim_monitor/em_hdr.h
index 76970c997..61f390d2c 100644
--- a/src/exim_monitor/em_hdr.h
+++ b/src/exim_monitor/em_hdr.h
@@ -5,7 +5,7 @@
/* Copyright (c) University of Cambridge 1995 - 2009 */
/* Copyright (c) The Exim Maintainers 2021 - 2022 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


/* This is the general header file for all the modules that comprise
diff --git a/src/exim_monitor/em_init.c b/src/exim_monitor/em_init.c
index e1f53fbba..b9289715d 100644
--- a/src/exim_monitor/em_init.c
+++ b/src/exim_monitor/em_init.c
@@ -5,7 +5,7 @@
/* Copyright (c) University of Cambridge 1995 - 2009 */
/* Copyright (c) The Exim Maintainers 2020 - 2021 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* This module contains code to initialize things from the
environment and the arguments. */
diff --git a/src/exim_monitor/em_log.c b/src/exim_monitor/em_log.c
index d625056c5..55925d786 100644
--- a/src/exim_monitor/em_log.c
+++ b/src/exim_monitor/em_log.c
@@ -5,7 +5,7 @@
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* Copyright (c) The Exim Maintainters 2021 - 2022 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* This module contains code for scanning the main log,
extracting information from it, and displaying a "tail". */
diff --git a/src/exim_monitor/em_main.c b/src/exim_monitor/em_main.c
index 919cde632..50b8cd8bd 100644
--- a/src/exim_monitor/em_main.c
+++ b/src/exim_monitor/em_main.c
@@ -5,7 +5,7 @@
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* Copyright (c) The Exim Maintainers 2021 - 2022 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


#include "em_hdr.h"
diff --git a/src/exim_monitor/em_menu.c b/src/exim_monitor/em_menu.c
index afcd31540..e4db84915 100644
--- a/src/exim_monitor/em_menu.c
+++ b/src/exim_monitor/em_menu.c
@@ -5,7 +5,7 @@
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* Copyright (c) The Exim Maintainers 2021 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


#include "em_hdr.h"
diff --git a/src/exim_monitor/em_queue.c b/src/exim_monitor/em_queue.c
index d9cfad38a..5eb44648a 100644
--- a/src/exim_monitor/em_queue.c
+++ b/src/exim_monitor/em_queue.c
@@ -5,7 +5,7 @@
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


#include "em_hdr.h"
diff --git a/src/exim_monitor/em_strip.c b/src/exim_monitor/em_strip.c
index cfafe9257..21e5739db 100644
--- a/src/exim_monitor/em_strip.c
+++ b/src/exim_monitor/em_strip.c
@@ -4,7 +4,7 @@

/* Copyright (c) University of Cambridge 1995 - 2009 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


#include "em_hdr.h"
diff --git a/src/exim_monitor/em_text.c b/src/exim_monitor/em_text.c
index 1077353e0..4d03570fd 100644
--- a/src/exim_monitor/em_text.c
+++ b/src/exim_monitor/em_text.c
@@ -4,7 +4,7 @@

/* Copyright (c) University of Cambridge 1995 - 2012 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


#include "em_hdr.h"
diff --git a/src/exim_monitor/em_version.c b/src/exim_monitor/em_version.c
index c5d4d62d8..4c562925c 100644
--- a/src/exim_monitor/em_version.c
+++ b/src/exim_monitor/em_version.c
@@ -5,7 +5,7 @@
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* Copyright (c) The Exim Maintainers 2020 - 2021 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

#define EM_VERSION_C

diff --git a/src/exim_monitor/em_xs.c b/src/exim_monitor/em_xs.c
index dd19c7f43..ac36b8f58 100644
--- a/src/exim_monitor/em_xs.c
+++ b/src/exim_monitor/em_xs.c
@@ -4,7 +4,7 @@

/* Copyright (c) University of Cambridge, 1995 - 2016 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* This file contains a number of subroutines that are in effect
just alternative packaging for calls to various X functions that
diff --git a/src/scripts/Configure b/src/scripts/Configure
index 6c340ee25..4c68b5940 100755
--- a/src/scripts/Configure
+++ b/src/scripts/Configure
@@ -2,6 +2,9 @@

# A script to be called to run all the other configuring scripts manually.

+# Copyright (c) The Exim Maintainters 2022
+# SPDX-License-Identifier: GPL-2.0-or-later
+
scripts/Configure-Makefile
scripts/Configure-os.h
scripts/Configure-os.c
diff --git a/src/scripts/Configure-Makefile b/src/scripts/Configure-Makefile
index ed77b6a8f..dc5015f6f 100755
--- a/src/scripts/Configure-Makefile
+++ b/src/scripts/Configure-Makefile
@@ -1,13 +1,15 @@
#! /bin/sh
-LC_ALL=C
-export LC_ALL
-
# Shell script to build Makefile in a build directory. It must be called
# from inside the directory. It does its own checking of when to rebuild; it
# just got too horrendous to get it right in "make", because of the optionally
# existing configuration files.
#
# Copyright (c) The Exim Maintainers 1995 - 2021
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+
+LC_ALL=C
+export LC_ALL


# First off, get the OS type, and check that there is a make file for it.
diff --git a/src/scripts/Configure-config.h b/src/scripts/Configure-config.h
index c750f64f1..6744755f7 100755
--- a/src/scripts/Configure-config.h
+++ b/src/scripts/Configure-config.h
@@ -1,5 +1,6 @@
#! /bin/sh
-# SPDX-License-Identifier: GPL-2.0-only
+# Copyright (c) The Exim Maintainters 2022
+# SPDX-License-Identifier: GPL-2.0-or-later

# Build the config.h file, using the buildconfig program, first ensuring that
# it exists.
diff --git a/src/scripts/Configure-eximon b/src/scripts/Configure-eximon
index 0aca3b338..00076154d 100755
--- a/src/scripts/Configure-eximon
+++ b/src/scripts/Configure-eximon
@@ -1,5 +1,8 @@
#! /bin/sh

+# Copyright (c) The Exim Maintainters 2022
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# Shell script to build the configurable part of the Exim monitor's start-up
# script. This is built from various configuration files. The final part is
# added in the Makefile, using various macros that are available at that stage.
diff --git a/src/scripts/Configure-os.c b/src/scripts/Configure-os.c
index ab40ad183..7e9f14421 100755
--- a/src/scripts/Configure-os.c
+++ b/src/scripts/Configure-os.c
@@ -1,5 +1,7 @@
#! /bin/sh
-# SPDX-License-Identifier: GPL-2.0-only
+# Copyright (c) The Exim Maintainters 2022
+# SPDX-License-Identifier: GPL-2.0-or-later
+

# Shell script to build os.c. There doesn't have to be an OS-specific os.c
# file, but if there is, it gets copied at the start of os.c. The basic src
diff --git a/src/scripts/Configure-os.h b/src/scripts/Configure-os.h
index f95a61a5d..dca0b9a3f 100755
--- a/src/scripts/Configure-os.h
+++ b/src/scripts/Configure-os.h
@@ -1,5 +1,7 @@
#! /bin/sh
-# SPDX-License-Identifier: GPL-2.0-only
+# Copyright (c) The Exim Maintainters 2022
+# SPDX-License-Identifier: GPL-2.0-or-later
+

# Shell script to create a link to the appropriate OS-specific header file.

diff --git a/src/scripts/MakeLinks b/src/scripts/MakeLinks
index 471b3a369..6e0b65f5d 100755
--- a/src/scripts/MakeLinks
+++ b/src/scripts/MakeLinks
@@ -4,6 +4,7 @@
# specific build directory. It should be run from within that directory.
#
# Copyright (c) The Exim Maintainers 1995 - 2022
+# SPDX-License-Identifier: GPL-2.0-or-later

test ! -d ../src && \
echo "*** $0 should be run in a system-specific subdirectory." && \
diff --git a/src/scripts/arch-type b/src/scripts/arch-type
index f5fe8ebd3..0218c0233 100755
--- a/src/scripts/arch-type
+++ b/src/scripts/arch-type
@@ -1,7 +1,9 @@
#! /bin/sh
-
# Shell script to determine the architecture type.

+# Copyright (c) The Exim Maintainters 2022
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# If EXIM_ARCHTYPE is set, use it. This allows a manual override.

case "$EXIM_ARCHTYPE" in ?*) arch="$EXIM_ARCHTYPE";; esac
diff --git a/src/scripts/exim_install b/src/scripts/exim_install
index 1e8805024..827841ffc 100755
--- a/src/scripts/exim_install
+++ b/src/scripts/exim_install
@@ -1,5 +1,8 @@
#! /bin/sh

+# Copyright (c) The Exim Maintainters 2022
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# Script to install Exim binaries in BIN_DIRECTORY, which is defined in
# the local Makefile. It expects to be run in a build directory. It needs
# to be run as root in order to make exim setuid to root. If exim runs setuid
diff --git a/src/scripts/lookups-Makefile b/src/scripts/lookups-Makefile
index ed8b0cb5c..8dcac585b 100755
--- a/src/scripts/lookups-Makefile
+++ b/src/scripts/lookups-Makefile
@@ -1,6 +1,7 @@
#! /bin/sh

# Copyright (c) The Exim Maintainers 1995 - 2021
+# SPDX-License-Identifier: GPL-2.0-or-later

# We turn the configure-built build-$foo/lookups/Makefile.predynamic into Makefile

diff --git a/src/scripts/newer b/src/scripts/newer
index 24c09e8f0..3bd65fb41 100755
--- a/src/scripts/newer
+++ b/src/scripts/newer
@@ -5,6 +5,9 @@
# if the second does not exist, the answer is "yes";
# otherwise their ages are compared using "find".

+# Copyright (c) The Exim Maintainters 2022
+# SPDX-License-Identifier: GPL-2.0-or-later
+
if [ $# -ne 2 ]; then
echo "*** Two file names needed for 'newer' ***"
exit 2;
diff --git a/src/scripts/os-type b/src/scripts/os-type
index a188c4a56..1fcd37bc3 100755
--- a/src/scripts/os-type
+++ b/src/scripts/os-type
@@ -1,5 +1,8 @@
#! /bin/sh

+# Copyright (c) The Exim Maintainters 2022
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# Shell script to determine the operating system type. Some of the heuristics
# herein have accumulated over the years and may not strictly be needed now,
# but they are left in under the principle of "If it ain't broke, don't fix
diff --git a/src/scripts/reversion b/src/scripts/reversion
index b932224f5..6fd0782a4 100755
--- a/src/scripts/reversion
+++ b/src/scripts/reversion
@@ -1,5 +1,6 @@
#!/bin/sh
# Copyright (c) The Exim Maintainers 1995 - 2021
+# SPDX-License-Identifier: GPL-2.0-or-later

set -e
LC_ALL=C
diff --git a/src/scripts/source_checks b/src/scripts/source_checks
index 918a6f8eb..8620b27f5 100644
--- a/src/scripts/source_checks
+++ b/src/scripts/source_checks
@@ -1,4 +1,6 @@
#!/bin/sh
+# Copyright (c) The Exim Maintainters 2022
+# SPDX-License-Identifier: GPL-2.0-or-later

cd src;

diff --git a/src/src/EDITME b/src/src/EDITME
index 28d3d538e..625df18f5 100644
--- a/src/src/EDITME
+++ b/src/src/EDITME
@@ -1,6 +1,8 @@
 ##################################################
 #          The Exim mail transport agent         #
 ##################################################
+# Copyright (c) The Exim Maintainers 2022
+# SPDX-License-Identifier: GPL-2.0-or-later


# This is the template for Exim's main build-time configuration file. It
# contains settings that are independent of any operating system. These are
diff --git a/src/src/acl.c b/src/src/acl.c
index 92af9991f..143890668 100644
--- a/src/src/acl.c
+++ b/src/src/acl.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* Code for handling Access Control Lists (ACLs) */

diff --git a/src/src/arc.c b/src/src/arc.c
index e3a2b3dad..30a66320e 100644
--- a/src/src/arc.c
+++ b/src/src/arc.c
@@ -5,7 +5,7 @@
    Copyright (c) Jeremy Harris 2018 - 2020
    Copyright (c) The Exim Maintainers 2021 - 2022
    License: GPL
-   SPDX-License-Identifier: GPL-2.0-only
+   SPDX-License-Identifier: GPL-2.0-or-later
 */


#include "exim.h"
diff --git a/src/src/auths/auth-spa.c b/src/src/auths/auth-spa.c
index 32276c3f3..bcf88c84d 100644
--- a/src/src/auths/auth-spa.c
+++ b/src/src/auths/auth-spa.c
@@ -10,7 +10,7 @@
* Samba project (by Andrew Tridgell, Jeremy Allison, and others).
*
* Copyright (c) The Exim Maintainers 2021
- * SPDX-License-Identifier: GPL-2.0-only
+ * SPDX-License-Identifier: GPL-2.0-or-later

* Tom Kistner provided additional code, adding spa_build_auth_challenge() to
* support server authentication mode.
diff --git a/src/src/auths/auth-spa.h b/src/src/auths/auth-spa.h
index df250d7a6..db93891ab 100644
--- a/src/src/auths/auth-spa.h
+++ b/src/src/auths/auth-spa.h
@@ -9,7 +9,7 @@
* All the code used here was torn by Marc Prud'hommeaux out of the
* Samba project (by Andrew Tridgell, Jeremy Allison, and others).
*/
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* December 2004: The spa_base64_to_bits() function has no length checking in
it. I have added a check. PH */
diff --git a/src/src/auths/call_pam.c b/src/src/auths/call_pam.c
index 483b083be..3ff15711d 100644
--- a/src/src/auths/call_pam.c
+++ b/src/src/auths/call_pam.c
@@ -5,7 +5,7 @@
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* Copyright (c) The Exim Maintainers 2020 - 2021 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

#include "../exim.h"

diff --git a/src/src/auths/call_pwcheck.c b/src/src/auths/call_pwcheck.c
index 436b1a8de..88f708f62 100644
--- a/src/src/auths/call_pwcheck.c
+++ b/src/src/auths/call_pwcheck.c
@@ -5,7 +5,7 @@
/* Copyright (c) University of Cambridge 1995 - 2015 */
/* Copyright (c) The Exim Maintainers 2020 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* This module contains interface functions to the two Cyrus authentication
daemons. The original one was "pwcheck", which gives its name to the source
diff --git a/src/src/auths/call_radius.c b/src/src/auths/call_radius.c
index f4d7a9569..65882c108 100644
--- a/src/src/auths/call_radius.c
+++ b/src/src/auths/call_radius.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2016 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* This file was originally supplied by Ian Kirk. The libradius support came
from Alex Kiernan. */
diff --git a/src/src/auths/check_serv_cond.c b/src/src/auths/check_serv_cond.c
index 033d2026b..5201d2177 100644
--- a/src/src/auths/check_serv_cond.c
+++ b/src/src/auths/check_serv_cond.c
@@ -4,7 +4,7 @@

/* Copyright (c) University of Cambridge 1995 - 2012 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

#include "../exim.h"

diff --git a/src/src/auths/cram_md5.c b/src/src/auths/cram_md5.c
index 60128b83e..280b5293a 100644
--- a/src/src/auths/cram_md5.c
+++ b/src/src/auths/cram_md5.c
@@ -5,7 +5,7 @@
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* Copyright (c) The Exim Maintainers 2020 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


/* The stand-alone version just tests the algorithm. We have to drag
diff --git a/src/src/auths/cram_md5.h b/src/src/auths/cram_md5.h
index 25470a61b..984bc14c7 100644
--- a/src/src/auths/cram_md5.h
+++ b/src/src/auths/cram_md5.h
@@ -4,7 +4,7 @@

/* Copyright (c) University of Cambridge 1995 - 2009 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* Private structure for the private options. */

diff --git a/src/src/auths/cyrus_sasl.c b/src/src/auths/cyrus_sasl.c
index 4fe257ba7..b5d2d1d3b 100644
--- a/src/src/auths/cyrus_sasl.c
+++ b/src/src/auths/cyrus_sasl.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* This code was originally contributed by Matthew Byng-Maddick */

diff --git a/src/src/auths/cyrus_sasl.h b/src/src/auths/cyrus_sasl.h
index 144ac5c80..05071b6e5 100644
--- a/src/src/auths/cyrus_sasl.h
+++ b/src/src/auths/cyrus_sasl.h
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2022 */
/* Copyright (c) University of Cambridge 1995 - 2012 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* Copyright (c) A L Digital Ltd 2004 */

diff --git a/src/src/auths/dovecot.h b/src/src/auths/dovecot.h
index b5eaf4f16..74c451930 100644
--- a/src/src/auths/dovecot.h
+++ b/src/src/auths/dovecot.h
@@ -5,7 +5,7 @@
/* Copyright (c) University of Cambridge 1995 - 2009 */
/* Copyright (c) The Exim Maintainters 2020 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* Private structure for the private options. */

diff --git a/src/src/auths/external.c b/src/src/auths/external.c
index 736c33982..078aad0fa 100644
--- a/src/src/auths/external.c
+++ b/src/src/auths/external.c
@@ -4,7 +4,7 @@

/* Copyright (c) Jeremy Harris 2019-2020 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* This file provides an Exim authenticator driver for
a server to verify a client SSL certificate, using the EXTERNAL
diff --git a/src/src/auths/external.h b/src/src/auths/external.h
index 9abb46a6b..0a9b0b50e 100644
--- a/src/src/auths/external.h
+++ b/src/src/auths/external.h
@@ -4,7 +4,7 @@

/* Copyright (c) Jeremy Harris 2019 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* Private structure for the private options. */

diff --git a/src/src/auths/get_data.c b/src/src/auths/get_data.c
index 0c85d2651..caf4cfdb8 100644
--- a/src/src/auths/get_data.c
+++ b/src/src/auths/get_data.c
@@ -5,7 +5,7 @@
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* Copyright (c) The Exim Maintainers 2020 - 2021 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

#include "../exim.h"

diff --git a/src/src/auths/get_no64_data.c b/src/src/auths/get_no64_data.c
index 76f421473..e2cadfbc6 100644
--- a/src/src/auths/get_no64_data.c
+++ b/src/src/auths/get_no64_data.c
@@ -4,7 +4,7 @@

/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

#include "../exim.h"

diff --git a/src/src/auths/gsasl_exim.c b/src/src/auths/gsasl_exim.c
index aac9c84e6..2c39d0f21 100644
--- a/src/src/auths/gsasl_exim.c
+++ b/src/src/auths/gsasl_exim.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2019 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

 /* Copyright (c) Twitter Inc 2012
    Author: Phil Pennock <pdp@???> */
diff --git a/src/src/auths/gsasl_exim.h b/src/src/auths/gsasl_exim.h
index 691d7d706..a56535710 100644
--- a/src/src/auths/gsasl_exim.h
+++ b/src/src/auths/gsasl_exim.h
@@ -5,7 +5,7 @@
 /* Copyright (c) The Exim Maintainers 2019 - 2022 */
 /* Copyright (c) University of Cambridge 1995 - 2012 */
 /* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


/* Copyright (c) Twitter Inc 2012 */

diff --git a/src/src/auths/heimdal_gssapi.c b/src/src/auths/heimdal_gssapi.c
index 12267e3fc..1336d0fab 100644
--- a/src/src/auths/heimdal_gssapi.c
+++ b/src/src/auths/heimdal_gssapi.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

 /* Copyright (c) Twitter Inc 2012
    Author: Phil Pennock <pdp@???> */
diff --git a/src/src/auths/heimdal_gssapi.h b/src/src/auths/heimdal_gssapi.h
index 031b580ef..6c9b24298 100644
--- a/src/src/auths/heimdal_gssapi.h
+++ b/src/src/auths/heimdal_gssapi.h
@@ -5,7 +5,7 @@
 /* Copyright (c) The Exim Maintainers 2022 */
 /* Copyright (c) University of Cambridge 1995 - 2012 */
 /* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


 /* Copyright (c) Twitter Inc 2012
    Author: Phil Pennock <pdp@???> */
diff --git a/src/src/auths/plaintext.c b/src/src/auths/plaintext.c
index 61be5867e..6692a676e 100644
--- a/src/src/auths/plaintext.c
+++ b/src/src/auths/plaintext.c
@@ -5,7 +5,7 @@
 /* Copyright (c) University of Cambridge 1995 - 2018 */
 /* Copyright (c) The Exim Maintainers 2020 - 2021 */
 /* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


#include "../exim.h"
#include "plaintext.h"
diff --git a/src/src/auths/plaintext.h b/src/src/auths/plaintext.h
index 49862ff9b..fdf0feb93 100644
--- a/src/src/auths/plaintext.h
+++ b/src/src/auths/plaintext.h
@@ -4,7 +4,7 @@

/* Copyright (c) University of Cambridge 1995 - 2009 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* Private structure for the private options. */

diff --git a/src/src/auths/pwcheck.c b/src/src/auths/pwcheck.c
index aff5ed39c..bf305832f 100644
--- a/src/src/auths/pwcheck.c
+++ b/src/src/auths/pwcheck.c
@@ -4,7 +4,7 @@
* $Id: checkpw.c,v 1.49 2002/03/07 19:14:04 ken3 Exp $
*/
/* Copyright (c) The Exim Maintainers 2021 - 2022 */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
* Copyright (c) 2001 Carnegie Mellon University. All rights reserved.
*
diff --git a/src/src/auths/pwcheck.h b/src/src/auths/pwcheck.h
index 4247b4e8b..4c1d71d92 100644
--- a/src/src/auths/pwcheck.h
+++ b/src/src/auths/pwcheck.h
@@ -4,7 +4,7 @@

/* Copyright (c) University of Cambridge 1995 - 2009 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* This file provides support for authentication via the Cyrus SASL pwcheck
daemon (whence its name) and the newer saslauthd daemon. */
diff --git a/src/src/auths/spa.c b/src/src/auths/spa.c
index c5e6d83d5..222ccea86 100644
--- a/src/src/auths/spa.c
+++ b/src/src/auths/spa.c
@@ -5,7 +5,7 @@
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* Copyright (c) The Exim Maintainers 2020 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* This file, which provides support for Microsoft's Secure Password
Authentication, was contributed by Marc Prud'hommeaux. Tom Kistner added SPA
diff --git a/src/src/auths/spa.h b/src/src/auths/spa.h
index 4321971d9..625a252d6 100644
--- a/src/src/auths/spa.h
+++ b/src/src/auths/spa.h
@@ -4,7 +4,7 @@

/* Copyright (c) University of Cambridge 1995 - 2009 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* This file, which provides support for Microsoft's Secure Password
Authentication, was contributed by Marc Prud'hommeaux. */
diff --git a/src/src/auths/tls.c b/src/src/auths/tls.c
index d3ca8f796..72ad56c4e 100644
--- a/src/src/auths/tls.c
+++ b/src/src/auths/tls.c
@@ -4,7 +4,7 @@

/* Copyright (c) Jeremy Harris 1995 - 2020 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* This file provides an Exim authenticator driver for
a server to verify a client SSL certificate
diff --git a/src/src/auths/tls.h b/src/src/auths/tls.h
index 24e116464..472a3e260 100644
--- a/src/src/auths/tls.h
+++ b/src/src/auths/tls.h
@@ -4,7 +4,7 @@

/* Copyright (c) Jeremy Harris 2015 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* Private structure for the private options. */

diff --git a/src/src/auths/xtextdecode.c b/src/src/auths/xtextdecode.c
index 39c1f2b60..b6a927194 100644
--- a/src/src/auths/xtextdecode.c
+++ b/src/src/auths/xtextdecode.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2022 */
/* Copyright (c) University of Cambridge 1995 - 2009 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

#include "../exim.h"

diff --git a/src/src/auths/xtextencode.c b/src/src/auths/xtextencode.c
index 89f12f1f1..c08288831 100644
--- a/src/src/auths/xtextencode.c
+++ b/src/src/auths/xtextencode.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

#include "../exim.h"

diff --git a/src/src/base64.c b/src/src/base64.c
index 14e8cfffe..e9ac41a55 100644
--- a/src/src/base64.c
+++ b/src/src/base64.c
@@ -4,7 +4,7 @@

/* Copyright (c) Tom Kistner <tom@???> 2004, 2015 */
/* License: GPL */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* Copyright (c) University of Cambridge 1995 - 2018 */
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
diff --git a/src/src/blob.h b/src/src/blob.h
index 95a987f0a..72b7fe564 100644
--- a/src/src/blob.h
+++ b/src/src/blob.h
@@ -2,7 +2,7 @@
* Blob - a general pointer/size item for a memory chunk
*
* Copyright (C) 2016 Exim maintainers
- * SPDX-License-Identifier: GPL-2.0-only
+ * SPDX-License-Identifier: GPL-2.0-or-later
*/

 #ifndef BLOB_H    /* entire file */
diff --git a/src/src/bmi_spam.c b/src/src/bmi_spam.c
index 140bec48f..03e8defa6 100644
--- a/src/src/bmi_spam.c
+++ b/src/src/bmi_spam.c
@@ -6,7 +6,7 @@
    Copyright (c) Tom Kistner <tom@???> 2004
    License: GPL */
 /* Copyright (c) The Exim Maintainers 2021 - 2022 */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


 #include "exim.h"
 #ifdef EXPERIMENTAL_BRIGHTMAIL
diff --git a/src/src/bmi_spam.h b/src/src/bmi_spam.h
index a9833b200..bb1c859a9 100644
--- a/src/src/bmi_spam.h
+++ b/src/src/bmi_spam.h
@@ -5,7 +5,7 @@
 /* Code for calling Brightmail AntiSpam.
    Copyright (c) Tom Kistner <tom@???> 2004
    License: GPL */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


#ifdef EXPERIMENTAL_BRIGHTMAIL

diff --git a/src/src/buildconfig.c b/src/src/buildconfig.c
index 710b53550..8f37e508a 100644
--- a/src/src/buildconfig.c
+++ b/src/src/buildconfig.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


/*************************************************
diff --git a/src/src/child.c b/src/src/child.c
index b94e814a1..359b791e8 100644
--- a/src/src/child.c
+++ b/src/src/child.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2015 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


#include "exim.h"
diff --git a/src/src/daemon.c b/src/src/daemon.c
index 0afc7ca86..be008c3d4 100644
--- a/src/src/daemon.c
+++ b/src/src/daemon.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* Functions concerned with running Exim as a daemon */

diff --git a/src/src/dane.c b/src/src/dane.c
index f2ad22481..a12e16238 100644
--- a/src/src/dane.c
+++ b/src/src/dane.c
@@ -4,7 +4,7 @@

/* Copyright (c) University of Cambridge 1995 - 2012, 2014 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* This module provides DANE (RFC6659) support for Exim. See also
the draft RFC for DANE-over-SMTP, "SMTP security via opportunistic DANE TLS"
diff --git a/src/src/dbfn.c b/src/src/dbfn.c
index f932520f9..3c51162a4 100644
--- a/src/src/dbfn.c
+++ b/src/src/dbfn.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


#include "exim.h"
diff --git a/src/src/dbfunctions.h b/src/src/dbfunctions.h
index 93e1d3405..1f0dec1f7 100644
--- a/src/src/dbfunctions.h
+++ b/src/src/dbfunctions.h
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2022 */
/* Copyright (c) University of Cambridge 1995 - 2021 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

#ifndef DBFUNCTIONS_H
#define DBFUNCTIONS_H
diff --git a/src/src/dcc.c b/src/src/dcc.c
index d8e22b30c..8986dedde 100644
--- a/src/src/dcc.c
+++ b/src/src/dcc.c
@@ -8,7 +8,7 @@
* See the file NOTICE for conditions of use and distribution.
*
* Copyright (c) The Exim Maintainers 2015 - 2022
- * SPDX-License-Identifier: GPL-2.0-only
+ * SPDX-License-Identifier: GPL-2.0-or-later
*/

/* Code for calling dccifd. Called from acl.c. */
diff --git a/src/src/debug.c b/src/src/debug.c
index 38e8f8001..44ad763e1 100644
--- a/src/src/debug.c
+++ b/src/src/debug.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2015 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


#include "exim.h"
diff --git a/src/src/deliver.c b/src/src/deliver.c
index 719fa9d93..c4fce4602 100644
--- a/src/src/deliver.c
+++ b/src/src/deliver.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* The main code for delivering a message. */

diff --git a/src/src/directory.c b/src/src/directory.c
index c3b341bbb..94303db0b 100644
--- a/src/src/directory.c
+++ b/src/src/directory.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2010 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2009 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

#include "exim.h"

diff --git a/src/src/dkim.c b/src/src/dkim.c
index 9b6e14a3f..0a8ab6fb3 100644
--- a/src/src/dkim.c
+++ b/src/src/dkim.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge, 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

 /* Code for DKIM support. Other DKIM relevant code is in
    receive.c, transport.c and transports/smtp.c */
diff --git a/src/src/dkim.h b/src/src/dkim.h
index 61d83a9df..915c6c739 100644
--- a/src/src/dkim.h
+++ b/src/src/dkim.h
@@ -4,7 +4,7 @@


/* Copyright (c) University of Cambridge, 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

 void    dkim_exim_init(void);
 gstring * dkim_exim_sign(int, off_t, uschar *, struct ob_dkim *, const uschar **);
diff --git a/src/src/dkim_transport.c b/src/src/dkim_transport.c
index 142f4552a..c127d5b73 100644
--- a/src/src/dkim_transport.c
+++ b/src/src/dkim_transport.c
@@ -5,7 +5,7 @@
 /* Copyright (c) The Exim Maintainers 2022 */
 /* Copyright (c) University of Cambridge 1995 - 2018 */
 /* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


/* Transport shim for dkim signing */

diff --git a/src/src/dmarc.c b/src/src/dmarc.c
index c0313bf5c..118720750 100644
--- a/src/src/dmarc.c
+++ b/src/src/dmarc.c
@@ -5,7 +5,7 @@
    Copyright (c) The Exim Maintainers 2019 - 2022
    Copyright (c) Todd Lyons <tlyons@???> 2012 - 2014
    License: GPL */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


 /* Portions Copyright (c) 2012, 2013, The Trusted Domain Project;
    All rights reserved, licensed for use per LICENSE.opendmarc. */
diff --git a/src/src/dmarc.h b/src/src/dmarc.h
index f71f1fd5a..86d3b1e1c 100644
--- a/src/src/dmarc.h
+++ b/src/src/dmarc.h
@@ -6,7 +6,7 @@
    Copyright (c) The Exim Maintainers 2021 - 2022
    Copyright (c) Todd Lyons <tlyons@???> 2012 - 2014
    License: GPL */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


 /* Portions Copyright (c) 2012, 2013, The Trusted Domain Project;
    All rights reserved, licensed for use per LICENSE.opendmarc. */
diff --git a/src/src/dns.c b/src/src/dns.c
index 8106fb688..4e01d8661 100644
--- a/src/src/dns.c
+++ b/src/src/dns.c
@@ -5,7 +5,7 @@
 /* Copyright (c) The Exim Maintainers 2020 - 2022 */
 /* Copyright (c) University of Cambridge 1995 - 2018 */
 /* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


/* Functions for interfacing with the DNS. */

diff --git a/src/src/dnsbl.c b/src/src/dnsbl.c
index af80f6be1..1172d6183 100644
--- a/src/src/dnsbl.c
+++ b/src/src/dnsbl.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* Functions concerned with dnsbls */

diff --git a/src/src/drtables.c b/src/src/drtables.c
index a6cbede89..cf7c4e0b1 100644
--- a/src/src/drtables.c
+++ b/src/src/drtables.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


#include "exim.h"
diff --git a/src/src/dummies.c b/src/src/dummies.c
index a72767ccd..df8ef6d5b 100644
--- a/src/src/dummies.c
+++ b/src/src/dummies.c
@@ -5,7 +5,7 @@
/* Copyright (c) University of Cambridge 1995 - 2009 */
/* Copyright (c) The Exim Maintainers 2021 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* This file is not part of the main Exim code. There are little bits of test
code for some of Exim's modules, and when they are used, the module they are
diff --git a/src/src/enq.c b/src/src/enq.c
index 054aeaed8..43f53a585 100644
--- a/src/src/enq.c
+++ b/src/src/enq.c
@@ -5,7 +5,7 @@
/* Copyright (c) University of Cambridge 1995 - 2015 */
/* Copyright (c) The Exim Maintainers 2021 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* Functions concerned with serialization. */

diff --git a/src/src/environment.c b/src/src/environment.c
index 06f804e69..68adf3c0c 100644
--- a/src/src/environment.c
+++ b/src/src/environment.c
@@ -5,7 +5,7 @@
/* Copyright (c) Heiko Schlittermann 2016
* hs@???
* See the file NOTICE for conditions of use and distribution.
- * SPDX-License-Identifier: GPL-2.0-only
+ * SPDX-License-Identifier: GPL-2.0-or-later
*/

#include "exim.h"
diff --git a/src/src/exim.c b/src/src/exim.c
index 62413e367..35f4ae4f7 100644
--- a/src/src/exim.c
+++ b/src/src/exim.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


/* The main function: entry point, initialization, and high-level control.
diff --git a/src/src/exim.h b/src/src/exim.h
index 24fedcced..ccf14f0fd 100644
--- a/src/src/exim.h
+++ b/src/src/exim.h
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2021 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


/* Source files for exim all #include this header, which drags in everything
diff --git a/src/src/exim_dbmbuild.c b/src/src/exim_dbmbuild.c
index bb04adc02..0ea71795f 100644
--- a/src/src/exim_dbmbuild.c
+++ b/src/src/exim_dbmbuild.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


/* A small freestanding program to build dbm databases from serial input. For
diff --git a/src/src/exim_dbutil.c b/src/src/exim_dbutil.c
index 669f7098d..f16570d86 100644
--- a/src/src/exim_dbutil.c
+++ b/src/src/exim_dbutil.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


/* This single source file is used to compile three utility programs for
diff --git a/src/src/exim_lock.c b/src/src/exim_lock.c
index 1a54a92ad..363c1bc71 100644
--- a/src/src/exim_lock.c
+++ b/src/src/exim_lock.c
@@ -11,7 +11,7 @@ Default is -fcntl -lockfile.
Argument: the name of the lock file

Copyright (c) The Exim Maintainers 2016 - 2021
-SPDX-License-Identifier: GPL-2.0-only
+SPDX-License-Identifier: GPL-2.0-or-later
*/

#include "os.h"
diff --git a/src/src/expand.c b/src/src/expand.c
index 050f01297..657cf3cb9 100644
--- a/src/src/expand.c
+++ b/src/src/expand.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


/* Functions for handling string expansion. */
diff --git a/src/src/filter.c b/src/src/filter.c
index 82a9122c6..530d772b3 100644
--- a/src/src/filter.c
+++ b/src/src/filter.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


/* Code for mail filtering functions. */
diff --git a/src/src/filtertest.c b/src/src/filtertest.c
index 8bab65e78..2426f7feb 100644
--- a/src/src/filtertest.c
+++ b/src/src/filtertest.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2021 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2009 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


/* Code for the filter test function. */
diff --git a/src/src/functions.h b/src/src/functions.h
index be1fae00d..a2c8976e8 100644
--- a/src/src/functions.h
+++ b/src/src/functions.h
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


/* Prototypes for functions that appear in various modules. Gathered together
diff --git a/src/src/globals.c b/src/src/globals.c
index 429952edc..e5b72592f 100644
--- a/src/src/globals.c
+++ b/src/src/globals.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* All the global variables are defined together in this one module, so
that they are easy to find. */
diff --git a/src/src/globals.h b/src/src/globals.h
index 48d93a1c3..5aae73fba 100644
--- a/src/src/globals.h
+++ b/src/src/globals.h
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* Almost all the global variables are defined together in this one header, so
that they are easy to find. However, those that are visible during the
diff --git a/src/src/hash.c b/src/src/hash.c
index 2b71463f1..10af1b43d 100644
--- a/src/src/hash.c
+++ b/src/src/hash.c
@@ -3,7 +3,7 @@
*
* Copyright (c) The Exim Maintainers 2010 - 2022
* Copyright (c) University of Cambridge 1995 - 2009
- * SPDX-License-Identifier: GPL-2.0-only
+ * SPDX-License-Identifier: GPL-2.0-or-later
*
* Hash interface functions
*/
diff --git a/src/src/hash.h b/src/src/hash.h
index c94e53129..788c9f0ad 100644
--- a/src/src/hash.h
+++ b/src/src/hash.h
@@ -1,7 +1,7 @@
/*
* Exim - an Internet mail transport agent
* Copyright (c) The Exim Maintainers 1995 - 2022
- * SPDX-License-Identifier: GPL-2.0-only
+ * SPDX-License-Identifier: GPL-2.0-or-later
*
* Hash interface functions
*/
diff --git a/src/src/header.c b/src/src/header.c
index 2a8fbfe64..a4dd6e72e 100644
--- a/src/src/header.c
+++ b/src/src/header.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2016 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


#include "exim.h"
diff --git a/src/src/hintsdb.h b/src/src/hintsdb.h
index e79e6bd49..2d7199eda 100644
--- a/src/src/hintsdb.h
+++ b/src/src/hintsdb.h
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* This header file contains macro definitions so that a variety of DBM
libraries can be used by Exim. Nigel Metheringham provided the original set for
diff --git a/src/src/hintsdb_structs.h b/src/src/hintsdb_structs.h
index 27cd9edf9..0e5853b2b 100644
--- a/src/src/hintsdb_structs.h
+++ b/src/src/hintsdb_structs.h
@@ -5,7 +5,7 @@
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* Copyright (c) The Exim Maintainers 2020 - 2021 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* This header file contains the definitions of the structures used in the
various hints databases are also kept in this file, which is used by the
diff --git a/src/src/host.c b/src/src/host.c
index 874e19a08..ecdc6d681 100644
--- a/src/src/host.c
+++ b/src/src/host.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* Functions for finding hosts, either by gethostbyname(), gethostbyaddr(), or
directly via the DNS. When IPv6 is supported, getipnodebyname() and
diff --git a/src/src/host_address.c b/src/src/host_address.c
index 28a8a685f..4c13f0bb7 100644
--- a/src/src/host_address.c
+++ b/src/src/host_address.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

#include "exim.h"

diff --git a/src/src/imap_utf7.c b/src/src/imap_utf7.c
index 75ecb1a4b..1c09db621 100644
--- a/src/src/imap_utf7.c
+++ b/src/src/imap_utf7.c
@@ -1,6 +1,6 @@
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

#include "exim.h"

diff --git a/src/src/ip.c b/src/src/ip.c
index 2ac2b267d..b50130be3 100644
--- a/src/src/ip.c
+++ b/src/src/ip.c
@@ -5,7 +5,7 @@
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* Copyright (c) The Exim Maintainers 2020 - 2021 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* Functions for doing things with sockets. With the advent of IPv6 this has
got messier, so that it's worth pulling out the code into separate functions
diff --git a/src/src/local_scan.c b/src/src/local_scan.c
index 85ecba8cb..da44cb7e6 100644
--- a/src/src/local_scan.c
+++ b/src/src/local_scan.c
@@ -5,7 +5,7 @@
/* Copyright (c) University of Cambridge 1995 - 2009 */
/* Copyright (c) The Exim Maintainers 2021 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


/******************************************************************************
diff --git a/src/src/local_scan.h b/src/src/local_scan.h
index 2eabc5929..69b3c6cdb 100644
--- a/src/src/local_scan.h
+++ b/src/src/local_scan.h
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2020 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* This file is the header that is the only Exim header to be included in the
source for the local_scan.c() function. It contains definitions that are made
diff --git a/src/src/log.c b/src/src/log.c
index f1d435ce4..6c483216a 100644
--- a/src/src/log.c
+++ b/src/src/log.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* Functions for writing log files. The code for maintaining datestamped
log files was originally contributed by Tony Sheen. */
diff --git a/src/src/lookupapi.h b/src/src/lookupapi.h
index cec8f976b..62c8c0524 100644
--- a/src/src/lookupapi.h
+++ b/src/src/lookupapi.h
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2022 */
/* Copyright (c) University of Cambridge 1995 - 2015 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


/* The "type" field in each item is a set of bit flags:
diff --git a/src/src/lookups/dbmdb.c b/src/src/lookups/dbmdb.c
index c99e948b5..aa930e654 100644
--- a/src/src/lookups/dbmdb.c
+++ b/src/src/lookups/dbmdb.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

#include "../exim.h"
#include "lf_functions.h"
diff --git a/src/src/lookups/dnsdb.c b/src/src/lookups/dnsdb.c
index 4f43cf674..5482cd9d1 100644
--- a/src/src/lookups/dnsdb.c
+++ b/src/src/lookups/dnsdb.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

#include "../exim.h"
#include "lf_functions.h"
diff --git a/src/src/lookups/dsearch.c b/src/src/lookups/dsearch.c
index 6cae0dafb..74439bfc8 100644
--- a/src/src/lookups/dsearch.c
+++ b/src/src/lookups/dsearch.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2015 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* The idea for this code came from Matthew Byng-Maddick, but his original has
been heavily reworked a lot for Exim 4 (and it now uses stat() (more precisely:
diff --git a/src/src/lookups/ibase.c b/src/src/lookups/ibase.c
index d42e490c4..7e4973e01 100644
--- a/src/src/lookups/ibase.c
+++ b/src/src/lookups/ibase.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* The code in this module was contributed by Ard Biesheuvel. */

diff --git a/src/src/lookups/json.c b/src/src/lookups/json.c
index b1e5fb742..43575cacf 100644
--- a/src/src/lookups/json.c
+++ b/src/src/lookups/json.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2021 - 2022 */
/* Copyright (c) Jeremy Harris 2019 - 2020 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

#include "../exim.h"
#include "lf_functions.h"
diff --git a/src/src/lookups/ldap.c b/src/src/lookups/ldap.c
index 17c431e5c..feeea0e41 100644
--- a/src/src/lookups/ldap.c
+++ b/src/src/lookups/ldap.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* Many thanks to Stuart Lynne for contributing the original code for this
driver. Further contributions from Michael Haardt, Brian Candler, Barry
diff --git a/src/src/lookups/ldap.h b/src/src/lookups/ldap.h
index 30228aebe..2ce62fc05 100644
--- a/src/src/lookups/ldap.h
+++ b/src/src/lookups/ldap.h
@@ -4,7 +4,7 @@

/* Copyright (c) University of Cambridge 1995 - 2015 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* Header for eldapauth_find */

diff --git a/src/src/lookups/lf_check_file.c b/src/src/lookups/lf_check_file.c
index 1649f9f83..5c74816ef 100644
--- a/src/src/lookups/lf_check_file.c
+++ b/src/src/lookups/lf_check_file.c
@@ -5,7 +5,7 @@
/* Copyright (c) University of Cambridge 1995 - 2009 */
/* Copyright (c) The Exim Maintainers 2020 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


#include "../exim.h"
diff --git a/src/src/lookups/lf_functions.h b/src/src/lookups/lf_functions.h
index b83b9652a..b7acbb5a9 100644
--- a/src/src/lookups/lf_functions.h
+++ b/src/src/lookups/lf_functions.h
@@ -5,7 +5,7 @@
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* Copyright (c) The Exim Maintainers 2020 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* Header for the functions that are shared by the lookups */

diff --git a/src/src/lookups/lf_quote.c b/src/src/lookups/lf_quote.c
index 816fe01e2..72e37bfb4 100644
--- a/src/src/lookups/lf_quote.c
+++ b/src/src/lookups/lf_quote.c
@@ -4,7 +4,7 @@

/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


#include "../exim.h"
diff --git a/src/src/lookups/lf_sqlperform.c b/src/src/lookups/lf_sqlperform.c
index cf4b9cd0b..ecb0a3221 100644
--- a/src/src/lookups/lf_sqlperform.c
+++ b/src/src/lookups/lf_sqlperform.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


#include "../exim.h"
diff --git a/src/src/lookups/lmdb.c b/src/src/lookups/lmdb.c
index ccfdbe453..3a3eebcba 100644
--- a/src/src/lookups/lmdb.c
+++ b/src/src/lookups/lmdb.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 2016 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

#include "../exim.h"

diff --git a/src/src/lookups/lsearch.c b/src/src/lookups/lsearch.c
index da73ae8bf..f668f60f2 100644
--- a/src/src/lookups/lsearch.c
+++ b/src/src/lookups/lsearch.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

#include "../exim.h"
#include "lf_functions.h"
diff --git a/src/src/lookups/mysql.c b/src/src/lookups/mysql.c
index a8dae4ade..7e0343233 100644
--- a/src/src/lookups/mysql.c
+++ b/src/src/lookups/mysql.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* Thanks to Paul Kelly for contributing the original code for these
functions. */
diff --git a/src/src/lookups/nis.c b/src/src/lookups/nis.c
index e7c124757..6a08ebc37 100644
--- a/src/src/lookups/nis.c
+++ b/src/src/lookups/nis.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2015 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

#include "../exim.h"
#include "lf_functions.h"
diff --git a/src/src/lookups/nisplus.c b/src/src/lookups/nisplus.c
index 78c79563f..3f89c7f81 100644
--- a/src/src/lookups/nisplus.c
+++ b/src/src/lookups/nisplus.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

#include "../exim.h"
#include "lf_functions.h"
diff --git a/src/src/lookups/oracle.c b/src/src/lookups/oracle.c
index 3f3868fe9..d0604c245 100644
--- a/src/src/lookups/oracle.c
+++ b/src/src/lookups/oracle.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2015 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* Interface to an Oracle database. This code was originally supplied by
Paul Kelly, but I have hacked it around for various reasons, and tried to add
diff --git a/src/src/lookups/passwd.c b/src/src/lookups/passwd.c
index 7df1a5aaf..f185a9091 100644
--- a/src/src/lookups/passwd.c
+++ b/src/src/lookups/passwd.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2015 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

#include "../exim.h"

diff --git a/src/src/lookups/pgsql.c b/src/src/lookups/pgsql.c
index 4fcd0e3ed..1583378d5 100644
--- a/src/src/lookups/pgsql.c
+++ b/src/src/lookups/pgsql.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* Thanks to Petr Cech for contributing the original code for these
functions. Thanks to Joachim Wieland for the initial patch for the Unix domain
diff --git a/src/src/lookups/readsock.c b/src/src/lookups/readsock.c
index 7c7b9cfa8..b1ea42c7f 100644
--- a/src/src/lookups/readsock.c
+++ b/src/src/lookups/readsock.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2021 - 2022 */
/* Copyright (c) Jeremy Harris 2020 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

#include "../exim.h"
#include "lf_functions.h"
diff --git a/src/src/lookups/redis.c b/src/src/lookups/redis.c
index c7fcb66f0..7b680f086 100644
--- a/src/src/lookups/redis.c
+++ b/src/src/lookups/redis.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

#include "../exim.h"

diff --git a/src/src/lookups/sqlite.c b/src/src/lookups/sqlite.c
index b9a735e18..6c7af4225 100644
--- a/src/src/lookups/sqlite.c
+++ b/src/src/lookups/sqlite.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

#include "../exim.h"
#include "lf_functions.h"
diff --git a/src/src/lookups/testdb.c b/src/src/lookups/testdb.c
index f94150b68..8de7090b7 100644
--- a/src/src/lookups/testdb.c
+++ b/src/src/lookups/testdb.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2015 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

#include "../exim.h"
#include "lf_functions.h"
diff --git a/src/src/lookups/whoson.c b/src/src/lookups/whoson.c
index cd236787e..cd6c7e85c 100644
--- a/src/src/lookups/whoson.c
+++ b/src/src/lookups/whoson.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2015 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* This code originally came from Robert Wal. */

diff --git a/src/src/lss.c b/src/src/lss.c
index 0d20c07b6..e6ec1d6d1 100644
--- a/src/src/lss.c
+++ b/src/src/lss.c
@@ -4,7 +4,7 @@

/* Copyright (c) University of Cambridge 1995 - 2015 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* Support functions for calling from local_scan(). These are mostly just
wrappers for various internal functions. */
diff --git a/src/src/macro_predef.c b/src/src/macro_predef.c
index fe814500d..618c914dc 100644
--- a/src/src/macro_predef.c
+++ b/src/src/macro_predef.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) Jeremy Harris 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* Create a static data structure with the predefined macros, to be
included in the main Exim build */
diff --git a/src/src/macro_predef.h b/src/src/macro_predef.h
index d3bc5c074..8b7b375c6 100644
--- a/src/src/macro_predef.h
+++ b/src/src/macro_predef.h
@@ -5,7 +5,7 @@
/* Copyright (c) Jeremy Harris 2017 - 2018 */
/* Copyright (c) The Exim Maintainers 2021 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* Global functions */

diff --git a/src/src/macros.h b/src/src/macros.h
index db1c34b65..243c1e5a0 100644
--- a/src/src/macros.h
+++ b/src/src/macros.h
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


/* These two macros make it possible to obtain the result of macro-expanding
diff --git a/src/src/malware.c b/src/src/malware.c
index 96514e276..f36c46b0f 100644
--- a/src/src/malware.c
+++ b/src/src/malware.c
@@ -6,7 +6,7 @@
* Copyright (c) The Exim Maintainers 2015 - 2022
* Copyright (c) Tom Kistner <tom@???> 2003 - 2015
* License: GPL
- * SPDX-License-Identifier: GPL-2.0-only
+ * SPDX-License-Identifier: GPL-2.0-or-later
*/

/* Code for calling virus (malware) scanners. Called from acl.c. */
diff --git a/src/src/match.c b/src/src/match.c
index a877aef3b..15209f84a 100644
--- a/src/src/match.c
+++ b/src/src/match.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* Functions for matching strings */

diff --git a/src/src/md5.c b/src/src/md5.c
index e6df32c7a..1d54ab4f1 100644
--- a/src/src/md5.c
+++ b/src/src/md5.c
@@ -5,7 +5,7 @@
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* Copyright (c) The Exim Maintainers 2020 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

#ifndef STAND_ALONE
#include "exim.h"
diff --git a/src/src/mime.c b/src/src/mime.c
index bebe9bf44..7c3a33d62 100644
--- a/src/src/mime.c
+++ b/src/src/mime.c
@@ -6,7 +6,7 @@
* Copyright (c) The Exim Maintainers 2015 - 2022
* Copyright (c) Tom Kistner <tom@???> 2004 - 2015
* License: GPL
- * SPDX-License-Identifier: GPL-2.0-only
+ * SPDX-License-Identifier: GPL-2.0-or-later
*/

#include "exim.h"
diff --git a/src/src/mime.h b/src/src/mime.h
index 48bbd81de..d436bcacb 100644
--- a/src/src/mime.h
+++ b/src/src/mime.h
@@ -5,7 +5,7 @@
/* Copyright (c) Tom Kistner <tom@???> 2004, 2015
* License: GPL
* Copyright (c) The Exim Maintainers 2016
- * SPDX-License-Identifier: GPL-2.0-only
+ * SPDX-License-Identifier: GPL-2.0-or-later
*/

#ifdef WITH_CONTENT_SCAN
diff --git a/src/src/moan.c b/src/src/moan.c
index 387359458..ebfd440f6 100644
--- a/src/src/moan.c
+++ b/src/src/moan.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* Functions for sending messages to sender or to mailmaster. */

diff --git a/src/src/mytypes.h b/src/src/mytypes.h
index 06426af7a..954f683c8 100644
--- a/src/src/mytypes.h
+++ b/src/src/mytypes.h
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


/* This header file contains type definitions and macros that I use as
diff --git a/src/src/os.c b/src/src/os.c
index 4edb2ca98..fc29f1766 100644
--- a/src/src/os.c
+++ b/src/src/os.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2021 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

#ifdef STAND_ALONE
# include <signal.h>
diff --git a/src/src/osfunctions.h b/src/src/osfunctions.h
index 454e9f77f..f88210943 100644
--- a/src/src/osfunctions.h
+++ b/src/src/osfunctions.h
@@ -5,7 +5,7 @@
/* Copyright (c) University of Cambridge 1995 - 2016 */
/* Copyright (c) The Exim Maintainers 2020 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* Prototypes for os-specific functions. For utilities, we don't need the one
that uses a type that isn't defined for them. */
diff --git a/src/src/parse.c b/src/src/parse.c
index 93b12bc77..53d660869 100644
--- a/src/src/parse.c
+++ b/src/src/parse.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* Functions for parsing addresses */

diff --git a/src/src/pdkim/crypt_ver.h b/src/src/pdkim/crypt_ver.h
index 367527e39..56ae236c1 100644
--- a/src/src/pdkim/crypt_ver.h
+++ b/src/src/pdkim/crypt_ver.h
@@ -4,7 +4,7 @@

/* Copyright (c) Jeremy Harris 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* Signing and hashing routine selection for PDKIM */

diff --git a/src/src/pdkim/pdkim_hash.h b/src/src/pdkim/pdkim_hash.h
index e470299a4..d56e3ce34 100644
--- a/src/src/pdkim/pdkim_hash.h
+++ b/src/src/pdkim/pdkim_hash.h
@@ -2,7 +2,7 @@
* PDKIM - a RFC4871 (DKIM) implementation
*
* Copyright (C) 1995 - 2018 Exim maintainers
- * SPDX-License-Identifier: GPL-2.0-only
+ * SPDX-License-Identifier: GPL-2.0-or-later
*
* Hash interface functions
*/
diff --git a/src/src/pdkim/signing.c b/src/src/pdkim/signing.c
index 8876f617c..07737ab41 100644
--- a/src/src/pdkim/signing.c
+++ b/src/src/pdkim/signing.c
@@ -1,7 +1,7 @@
/*
* PDKIM - a RFC4871 (DKIM) implementation
* Copyright (c) The Exim Maintainers 1995 - 2022
- * SPDX-License-Identifier: GPL-2.0-only
+ * SPDX-License-Identifier: GPL-2.0-or-later
*
* signing/verification interface
*/
diff --git a/src/src/pdkim/signing.h b/src/src/pdkim/signing.h
index 880342b6f..7760ce73f 100644
--- a/src/src/pdkim/signing.h
+++ b/src/src/pdkim/signing.h
@@ -2,7 +2,7 @@
* PDKIM - a RFC4871 (DKIM) implementation
*
* Copyright (C) 1995 - 2020 Exim maintainers
- * SPDX-License-Identifier: GPL-2.0-only
+ * SPDX-License-Identifier: GPL-2.0-or-later
*
* RSA signing/verification interface
*/
diff --git a/src/src/perl.c b/src/src/perl.c
index b5c3f882e..2a10452d3 100644
--- a/src/src/perl.c
+++ b/src/src/perl.c
@@ -4,7 +4,7 @@

/* Copyright (c) The Exim Maintainers 1999 - 2022 */
/* Copyright (c) 1998 Malcolm Beattie */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

 /* Modified by PH to get rid of the "na" usage, March 1999.
    Modified further by PH for general tidying for Exim 4.
diff --git a/src/src/priv.c b/src/src/priv.c
index c818b5b78..3a100cd9e 100644
--- a/src/src/priv.c
+++ b/src/src/priv.c
@@ -1,5 +1,5 @@
 /* Copyright (c)  The Exim Maintainers 2022 *
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


#include "exim.h"
#include <sys/types.h>
diff --git a/src/src/queue.c b/src/src/queue.c
index fd84d303f..f86e24b42 100644
--- a/src/src/queue.c
+++ b/src/src/queue.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* Functions that operate on the input queue. */

diff --git a/src/src/rda.c b/src/src/rda.c
index 1bc322e34..9c2aa5022 100644
--- a/src/src/rda.c
+++ b/src/src/rda.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* This module contains code for extracting addresses from a forwarding list
(from an alias or forward file) or by running the filter interpreter. It may do
diff --git a/src/src/readconf.c b/src/src/readconf.c
index b0d688772..48b648bb2 100644
--- a/src/src/readconf.c
+++ b/src/src/readconf.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* Functions for reading the configuration file, and for displaying
overall configuration values. Thanks to Brian Candler for the original
diff --git a/src/src/receive.c b/src/src/receive.c
index d9d0757ef..9bf834aaf 100644
--- a/src/src/receive.c
+++ b/src/src/receive.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* Code for receiving a message and setting up spool files. */

diff --git a/src/src/regex.c b/src/src/regex.c
index eefba8ecf..757243e7f 100644
--- a/src/src/regex.c
+++ b/src/src/regex.c
@@ -6,7 +6,7 @@
* Copyright (c) The Exim Maintainers 2016 - 2022
* Copyright (c) Tom Kistner <tom@???> 2003-2015
* License: GPL
- * SPDX-License-Identifier: GPL-2.0-only
+ * SPDX-License-Identifier: GPL-2.0-or-later
*/

/* Code for matching regular expressions against headers and body.
diff --git a/src/src/regex_cache.c b/src/src/regex_cache.c
index e4771aab9..a9b482174 100644
--- a/src/src/regex_cache.c
+++ b/src/src/regex_cache.c
@@ -5,7 +5,7 @@
/*
* Copyright (c) The Exim Maintainers 2022
* License: GPL
- * SPDX-License-Identifier: GPL-2.0-only
+ * SPDX-License-Identifier: GPL-2.0-or-later
*/

/* Caching layers for compiled REs. There is a local layer in the process,
diff --git a/src/src/retry.c b/src/src/retry.c
index e1490266c..f073af665 100644
--- a/src/src/retry.c
+++ b/src/src/retry.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* Functions concerned with retrying unsuccessful deliveries. */

diff --git a/src/src/rewrite.c b/src/src/rewrite.c
index 040525ec5..c6a7b9fa5 100644
--- a/src/src/rewrite.c
+++ b/src/src/rewrite.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2021 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* Functions concerned with rewriting headers */

diff --git a/src/src/rfc2047.c b/src/src/rfc2047.c
index af8993695..c40518a5d 100644
--- a/src/src/rfc2047.c
+++ b/src/src/rfc2047.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* This file contains a function for decoding message header lines that may
contain encoded "words" according to the rules described in
diff --git a/src/src/route.c b/src/src/route.c
index 7e6e4eb69..82d51bc68 100644
--- a/src/src/route.c
+++ b/src/src/route.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* Functions concerned with routing, and the list of generic router options. */

diff --git a/src/src/routers/accept.c b/src/src/routers/accept.c
index ab02716eb..63c8c22e4 100644
--- a/src/src/routers/accept.c
+++ b/src/src/routers/accept.c
@@ -5,7 +5,7 @@
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* Copyright (c) The Exim Maintainers 2020 - 2021 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


#include "../exim.h"
diff --git a/src/src/routers/accept.h b/src/src/routers/accept.h
index e025179ee..ca768b26e 100644
--- a/src/src/routers/accept.h
+++ b/src/src/routers/accept.h
@@ -4,7 +4,7 @@

/* Copyright (c) University of Cambridge 1995 - 2009 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* Private structure for the private options (there aren't any). */

diff --git a/src/src/routers/dnslookup.c b/src/src/routers/dnslookup.c
index 0b1abeb8e..d27757c7e 100644
--- a/src/src/routers/dnslookup.c
+++ b/src/src/routers/dnslookup.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

#include "../exim.h"
#include "rf_functions.h"
diff --git a/src/src/routers/dnslookup.h b/src/src/routers/dnslookup.h
index 0272db300..ce1daf3c0 100644
--- a/src/src/routers/dnslookup.h
+++ b/src/src/routers/dnslookup.h
@@ -4,7 +4,7 @@

/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* Private structure for the private options. */

diff --git a/src/src/routers/ipliteral.c b/src/src/routers/ipliteral.c
index cfbf276ff..1297b97f2 100644
--- a/src/src/routers/ipliteral.c
+++ b/src/src/routers/ipliteral.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


#include "../exim.h"
diff --git a/src/src/routers/ipliteral.h b/src/src/routers/ipliteral.h
index f7e99b9c2..7db24cfd1 100644
--- a/src/src/routers/ipliteral.h
+++ b/src/src/routers/ipliteral.h
@@ -4,7 +4,7 @@

/* Copyright (c) University of Cambridge 1995 - 2009 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


/* Private structure for the private options. Some compilers do not like empty
diff --git a/src/src/routers/iplookup.c b/src/src/routers/iplookup.c
index 970ec7704..7faaea0cd 100644
--- a/src/src/routers/iplookup.c
+++ b/src/src/routers/iplookup.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


#include "../exim.h"
diff --git a/src/src/routers/iplookup.h b/src/src/routers/iplookup.h
index 3b7295574..ccce2eef5 100644
--- a/src/src/routers/iplookup.h
+++ b/src/src/routers/iplookup.h
@@ -5,7 +5,7 @@
/* Copyright (c) University of Cambridge 1995 - 2009 */
/* Copyright (c) The Exim Maintainers 2021 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


/* Private structure for the private options. */
diff --git a/src/src/routers/manualroute.c b/src/src/routers/manualroute.c
index 6a500d09a..160c866b9 100644
--- a/src/src/routers/manualroute.c
+++ b/src/src/routers/manualroute.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


#include "../exim.h"
diff --git a/src/src/routers/manualroute.h b/src/src/routers/manualroute.h
index e27d90953..1201c8362 100644
--- a/src/src/routers/manualroute.h
+++ b/src/src/routers/manualroute.h
@@ -4,7 +4,7 @@

/* Copyright (c) University of Cambridge 1995 - 2009 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* Header for the manualroute router */

diff --git a/src/src/routers/queryprogram.c b/src/src/routers/queryprogram.c
index 51b7b7551..51fdad229 100644
--- a/src/src/routers/queryprogram.c
+++ b/src/src/routers/queryprogram.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

#include "../exim.h"
#include "rf_functions.h"
diff --git a/src/src/routers/queryprogram.h b/src/src/routers/queryprogram.h
index 148846fae..f2cff1dab 100644
--- a/src/src/routers/queryprogram.h
+++ b/src/src/routers/queryprogram.h
@@ -4,7 +4,7 @@

/* Copyright (c) University of Cambridge 1995 - 2009 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


/* Private structure for the private options. */
diff --git a/src/src/routers/redirect.c b/src/src/routers/redirect.c
index 6126555fe..6a17c2f8d 100644
--- a/src/src/routers/redirect.c
+++ b/src/src/routers/redirect.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


#include "../exim.h"
diff --git a/src/src/routers/redirect.h b/src/src/routers/redirect.h
index 76d02f261..8aeb892cb 100644
--- a/src/src/routers/redirect.h
+++ b/src/src/routers/redirect.h
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2021 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2009 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* Header for the redirect router */

diff --git a/src/src/routers/rf_change_domain.c b/src/src/routers/rf_change_domain.c
index 4f8d47299..144fabbcd 100644
--- a/src/src/routers/rf_change_domain.c
+++ b/src/src/routers/rf_change_domain.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


#include "../exim.h"
diff --git a/src/src/routers/rf_expand_data.c b/src/src/routers/rf_expand_data.c
index 5fbf0ac78..9892567f0 100644
--- a/src/src/routers/rf_expand_data.c
+++ b/src/src/routers/rf_expand_data.c
@@ -4,7 +4,7 @@

/* Copyright (c) University of Cambridge 1995 - 2009 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


#include "../exim.h"
diff --git a/src/src/routers/rf_functions.h b/src/src/routers/rf_functions.h
index d8fca68c5..91ccfb132 100644
--- a/src/src/routers/rf_functions.h
+++ b/src/src/routers/rf_functions.h
@@ -4,7 +4,7 @@

/* Copyright (c) University of Cambridge 1995 - 2015 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* Header for the functions that are shared by the routers */

diff --git a/src/src/routers/rf_get_errors_address.c b/src/src/routers/rf_get_errors_address.c
index 1189fd9e0..f70bdf25e 100644
--- a/src/src/routers/rf_get_errors_address.c
+++ b/src/src/routers/rf_get_errors_address.c
@@ -5,7 +5,7 @@
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* Copyright (c) The Exim Maintainers 2020 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

#include "../exim.h"
#include "rf_functions.h"
diff --git a/src/src/routers/rf_get_munge_headers.c b/src/src/routers/rf_get_munge_headers.c
index be86a4e0e..58b5bc7ad 100644
--- a/src/src/routers/rf_get_munge_headers.c
+++ b/src/src/routers/rf_get_munge_headers.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2021 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

#include "../exim.h"
#include "rf_functions.h"
diff --git a/src/src/routers/rf_get_transport.c b/src/src/routers/rf_get_transport.c
index 0c1fa8173..d54e3c296 100644
--- a/src/src/routers/rf_get_transport.c
+++ b/src/src/routers/rf_get_transport.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2021 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2009 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

#include "../exim.h"
#include "rf_functions.h"
diff --git a/src/src/routers/rf_get_ugid.c b/src/src/routers/rf_get_ugid.c
index 15144beb1..cefe527a5 100644
--- a/src/src/routers/rf_get_ugid.c
+++ b/src/src/routers/rf_get_ugid.c
@@ -4,7 +4,7 @@

/* Copyright (c) University of Cambridge 1995 - 2009 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

#include "../exim.h"
#include "rf_functions.h"
diff --git a/src/src/routers/rf_lookup_hostlist.c b/src/src/routers/rf_lookup_hostlist.c
index affd70b6e..f10ff5921 100644
--- a/src/src/routers/rf_lookup_hostlist.c
+++ b/src/src/routers/rf_lookup_hostlist.c
@@ -5,7 +5,7 @@
/* Copyright (c) University of Cambridge 1995 - 2015 */
/* Copyright (c) The Exim Maintainers 2020 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


#include "../exim.h"
diff --git a/src/src/routers/rf_queue_add.c b/src/src/routers/rf_queue_add.c
index 49dd83117..8d94f5725 100644
--- a/src/src/routers/rf_queue_add.c
+++ b/src/src/routers/rf_queue_add.c
@@ -5,7 +5,7 @@
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* Copyright (c) The Exim Maintainers 2021 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

#include "../exim.h"
#include "rf_functions.h"
diff --git a/src/src/routers/rf_self_action.c b/src/src/routers/rf_self_action.c
index 7cc592039..73d07db40 100644
--- a/src/src/routers/rf_self_action.c
+++ b/src/src/routers/rf_self_action.c
@@ -4,7 +4,7 @@

/* Copyright (c) University of Cambridge 1995 - 2009 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


#include "../exim.h"
diff --git a/src/src/routers/rf_set_ugid.c b/src/src/routers/rf_set_ugid.c
index 65f5200a2..ac63222b3 100644
--- a/src/src/routers/rf_set_ugid.c
+++ b/src/src/routers/rf_set_ugid.c
@@ -4,7 +4,7 @@

/* Copyright (c) University of Cambridge 1995 - 2009 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

#include "../exim.h"
#include "rf_functions.h"
diff --git a/src/src/search.c b/src/src/search.c
index 32099ab9e..2b6e5d37f 100644
--- a/src/src/search.c
+++ b/src/src/search.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2015 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* A set of functions to search databases in various formats. An open
database is represented by a void * value which is returned from a lookup-
diff --git a/src/src/setenv.c b/src/src/setenv.c
index 877fe388f..a5f056aee 100644
--- a/src/src/setenv.c
+++ b/src/src/setenv.c
@@ -6,7 +6,7 @@
* Copyright (c) Jeremy Harris 2015 - 2016
* Copyright (c) The Exim Maintainers 2016 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* This module provides (un)setenv routines for those environments
lacking them in libraries. It is #include'd by OS/os.c-foo files. */
diff --git a/src/src/sha_ver.h b/src/src/sha_ver.h
index 8385c1377..0d57db84f 100644
--- a/src/src/sha_ver.h
+++ b/src/src/sha_ver.h
@@ -4,7 +4,7 @@

/* Copyright (c) Jeremy Harris 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* SHA routine selection */

diff --git a/src/src/sieve.c b/src/src/sieve.c
index 033a9734a..0b347e48d 100644
--- a/src/src/sieve.c
+++ b/src/src/sieve.c
@@ -6,7 +6,7 @@
* Copyright (c) The Exim Maintainers 2016 - 2022
* Copyright (c) Michael Haardt 2003 - 2015
* See the file NOTICE for conditions of use and distribution.
- * SPDX-License-Identifier: GPL-2.0-only
+ * SPDX-License-Identifier: GPL-2.0-or-later
*/

/* This code was contributed by Michael Haardt. */
diff --git a/src/src/smtp_in.c b/src/src/smtp_in.c
index 3c6339c82..9b60702c1 100644
--- a/src/src/smtp_in.c
+++ b/src/src/smtp_in.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* Functions for handling an incoming SMTP call. */

diff --git a/src/src/smtp_out.c b/src/src/smtp_out.c
index db39dcab5..e705965ba 100644
--- a/src/src/smtp_out.c
+++ b/src/src/smtp_out.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* A number of functions for driving outgoing SMTP calls. */

diff --git a/src/src/spam.c b/src/src/spam.c
index f6575c293..401fdb269 100644
--- a/src/src/spam.c
+++ b/src/src/spam.c
@@ -6,7 +6,7 @@
* Copyright (c) The Exim Maintainers 2016 - 2022
* Copyright (c) Tom Kistner <tom@???> 2003 - 2015
* License: GPL
- * SPDX-License-Identifier: GPL-2.0-only
+ * SPDX-License-Identifier: GPL-2.0-or-later
*/

/* Code for calling spamassassin's spamd. Called from acl.c. */
diff --git a/src/src/spam.h b/src/src/spam.h
index c410198d7..0362e49dd 100644
--- a/src/src/spam.h
+++ b/src/src/spam.h
@@ -5,7 +5,7 @@
/* Copyright (c) Tom Kistner <tom@???> 2003 - 2015 */
/* Copyright (c) The Exim Maintainers 2021 */
/* License: GPL */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* spam defines */

diff --git a/src/src/spf.c b/src/src/spf.c
index a94bc9677..6f0917a9c 100644
--- a/src/src/spf.c
+++ b/src/src/spf.c
@@ -6,7 +6,7 @@
    Copyright (c) The Exim Maintainers 2015 - 2022
    Copyright (c) Tom Kistner <tom@???> 2004 - 2014
    License: GPL
-   SPDX-License-Identifier: GPL-2.0-only
+   SPDX-License-Identifier: GPL-2.0-or-later
 */


 /* Code for calling spf checks via libspf-alt. Called from acl.c. */
diff --git a/src/src/spf.h b/src/src/spf.h
index 8fb7b04cb..76c7522bd 100644
--- a/src/src/spf.h
+++ b/src/src/spf.h
@@ -6,7 +6,7 @@
    Copyright (c) The Exim Maintainers 2016 - 2022
    Copyright (c) Tom Kistner <tom@???> 2004
    License: GPL
-   SPDX-License-Identifier: GPL-2.0-only
+   SPDX-License-Identifier: GPL-2.0-or-later
 */


#ifdef SUPPORT_SPF
diff --git a/src/src/spool_in.c b/src/src/spool_in.c
index 82d11bf65..6d6651f57 100644
--- a/src/src/spool_in.c
+++ b/src/src/spool_in.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* Functions for reading spool files. When compiling for a utility (eximon),
not all are needed, and some functionality can be cut out. */
diff --git a/src/src/spool_mbox.c b/src/src/spool_mbox.c
index d9767ec3c..7ea565a58 100644
--- a/src/src/spool_mbox.c
+++ b/src/src/spool_mbox.c
@@ -5,7 +5,7 @@
/* Copyright (c) Tom Kistner <tom@???> 2003 - 2015
* License: GPL
* Copyright (c) The Exim Maintainers 2016 - 2021
- * SPDX-License-Identifier: GPL-2.0-only
+ * SPDX-License-Identifier: GPL-2.0-or-later
*/

/* Code for setting up a MBOX style spool file inside a /scan/<msgid>
diff --git a/src/src/spool_out.c b/src/src/spool_out.c
index cb409c641..9c5e8eb33 100644
--- a/src/src/spool_out.c
+++ b/src/src/spool_out.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* Functions for writing spool files, and moving them about. */

diff --git a/src/src/std-crypto.c b/src/src/std-crypto.c
index c1eef6c35..29efa6997 100644
--- a/src/src/std-crypto.c
+++ b/src/src/std-crypto.c
@@ -7,7 +7,7 @@
* But almost everything here is fixed published constants from RFCs, so also:
* Copyright (C) The Internet Society (2003)
* Copyright (C) The IETF Trust (2008)
- * SPDX-License-Identifier: GPL-2.0-only
+ * SPDX-License-Identifier: GPL-2.0-or-later
*
* Most of the text in RFC referencing comments is copy/paste from RFC,
* as is undoubtedly the intention.
diff --git a/src/src/store.c b/src/src/store.c
index 449fb4ead..9e4536eae 100644
--- a/src/src/store.c
+++ b/src/src/store.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim maintainers 2019 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* Exim gets and frees all its store through these functions. In the original
implementation there was a lot of mallocing and freeing of small bits of store.
diff --git a/src/src/store.h b/src/src/store.h
index 47ed963cd..834457aaa 100644
--- a/src/src/store.h
+++ b/src/src/store.h
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2009 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* Header for Exim's memory allocation functions */

diff --git a/src/src/string.c b/src/src/string.c
index ff4180b2b..2cb419517 100644
--- a/src/src/string.c
+++ b/src/src/string.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* Miscellaneous string-handling functions. Some are not required for
utilities and tests, and are cut out by the COMPILE_UTILITY macro. */
diff --git a/src/src/structs.h b/src/src/structs.h
index 1cb69236e..e1d93a943 100644
--- a/src/src/structs.h
+++ b/src/src/structs.h
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


/* Definitions of various structures. In addition, those that are visible for
diff --git a/src/src/tls-cipher-stdname.c b/src/src/tls-cipher-stdname.c
index fe442a050..ef3de99cb 100644
--- a/src/src/tls-cipher-stdname.c
+++ b/src/src/tls-cipher-stdname.c
@@ -4,7 +4,7 @@

/* Copyright (c) Jeremy Harris 2019 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* Translate an IETF TLS ciphersuite code to an IETF ciphersuite name,
for use when the TLS library do not provide such names.
diff --git a/src/src/tls-gnu.c b/src/src/tls-gnu.c
index c98760202..703a0a4ca 100644
--- a/src/src/tls-gnu.c
+++ b/src/src/tls-gnu.c
@@ -6,7 +6,7 @@
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* Copyright (c) Phil Pennock 2012 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* This file provides TLS/SSL support for Exim using the GnuTLS library,
one of the available supported implementations. This file is #included into
diff --git a/src/src/tls-openssl.c b/src/src/tls-openssl.c
index 052d8161d..2b3f02712 100644
--- a/src/src/tls-openssl.c
+++ b/src/src/tls-openssl.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2019 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* Portions Copyright (c) The OpenSSL Project 1999 */

diff --git a/src/src/tls.c b/src/src/tls.c
index 9e20b5bca..4a23aaae9 100644
--- a/src/src/tls.c
+++ b/src/src/tls.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* This module provides TLS (aka SSL) support for Exim. The code for OpenSSL is
based on a patch that was originally contributed by Steve Haslam. It was
diff --git a/src/src/tlscert-gnu.c b/src/src/tlscert-gnu.c
index 8840d5cfd..a3f6d4434 100644
--- a/src/src/tlscert-gnu.c
+++ b/src/src/tlscert-gnu.c
@@ -4,7 +4,7 @@

/* Copyright (c) The Exim Maintainers 2021 - 2022 */
/* Copyright (c) Jeremy Harris 2014 - 2018 */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* This file provides TLS/SSL support for Exim using the GnuTLS library,
one of the available supported implementations. This file is #included into
diff --git a/src/src/tlscert-openssl.c b/src/src/tlscert-openssl.c
index a4c3d19fa..32177ea81 100644
--- a/src/src/tlscert-openssl.c
+++ b/src/src/tlscert-openssl.c
@@ -4,7 +4,7 @@

/* Copyright (c) The Exim Maintainers 2022 */
/* Copyright (c) Jeremy Harris 2014 - 2019 */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* This module provides TLS (aka SSL) support for Exim using the OpenSSL
library. It is #included into the tls.c file when that library is used.
diff --git a/src/src/tod.c b/src/src/tod.c
index ac4ed35b9..364703d53 100644
--- a/src/src/tod.c
+++ b/src/src/tod.c
@@ -5,7 +5,7 @@
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* Copyright (c) The Exim Maintainers 2020 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* A function for returning the time of day in various formats */

diff --git a/src/src/transport.c b/src/src/transport.c
index ff2e0b1d4..d04ea516a 100644
--- a/src/src/transport.c
+++ b/src/src/transport.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* General functions concerned with transportation, and generic options for all
transports. */
diff --git a/src/src/transports/appendfile.c b/src/src/transports/appendfile.c
index 18badde86..c39c07c9f 100644
--- a/src/src/transports/appendfile.c
+++ b/src/src/transports/appendfile.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2020 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


#include "../exim.h"
diff --git a/src/src/transports/appendfile.h b/src/src/transports/appendfile.h
index 108114905..c3b7c59c4 100644
--- a/src/src/transports/appendfile.h
+++ b/src/src/transports/appendfile.h
@@ -5,7 +5,7 @@
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* Copyright (c) The Exim Maintainers 2021 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* Private structure for the private options. */

diff --git a/src/src/transports/autoreply.c b/src/src/transports/autoreply.c
index eff1a3792..fa884cec4 100644
--- a/src/src/transports/autoreply.c
+++ b/src/src/transports/autoreply.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


#include "../exim.h"
diff --git a/src/src/transports/autoreply.h b/src/src/transports/autoreply.h
index 5f278a51e..83061719c 100644
--- a/src/src/transports/autoreply.h
+++ b/src/src/transports/autoreply.h
@@ -4,7 +4,7 @@

/* Copyright (c) University of Cambridge 1995 - 2009 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* Private structure for the private options. */

diff --git a/src/src/transports/lmtp.c b/src/src/transports/lmtp.c
index c734c3a26..e04c991ab 100644
--- a/src/src/transports/lmtp.c
+++ b/src/src/transports/lmtp.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


#include "../exim.h"
diff --git a/src/src/transports/lmtp.h b/src/src/transports/lmtp.h
index 71fd77f26..fe51b18cc 100644
--- a/src/src/transports/lmtp.h
+++ b/src/src/transports/lmtp.h
@@ -4,7 +4,7 @@

/* Copyright (c) University of Cambridge 1995 - 2009 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* Private structure for the private options. */

diff --git a/src/src/transports/pipe.c b/src/src/transports/pipe.c
index b8103e2f6..c3547eefe 100644
--- a/src/src/transports/pipe.c
+++ b/src/src/transports/pipe.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


#include "../exim.h"
diff --git a/src/src/transports/pipe.h b/src/src/transports/pipe.h
index 416569608..be5ec3424 100644
--- a/src/src/transports/pipe.h
+++ b/src/src/transports/pipe.h
@@ -4,7 +4,7 @@

/* Copyright (c) University of Cambridge 1995 - 2014 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* Private structure for the private options. */

diff --git a/src/src/transports/queuefile.c b/src/src/transports/queuefile.c
index 3a2bae22f..b6511133c 100644
--- a/src/src/transports/queuefile.c
+++ b/src/src/transports/queuefile.c
@@ -6,7 +6,7 @@
/* Copyright (c) University of Cambridge 2016 */
/* Copyright (c) The Exim Maintainers 1995 - 2021 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */



diff --git a/src/src/transports/queuefile.h b/src/src/transports/queuefile.h
index 22759a7f7..f5362515b 100644
--- a/src/src/transports/queuefile.h
+++ b/src/src/transports/queuefile.h
@@ -5,7 +5,7 @@
/* Copyright (c) Andrew Colin Kissa <andrew@???> 2016 */
/* Copyright (c) University of Cambridge 2016 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* Private structure for the private options. */

diff --git a/src/src/transports/smtp.c b/src/src/transports/smtp.c
index 2d2db1b10..1183fa478 100644
--- a/src/src/transports/smtp.c
+++ b/src/src/transports/smtp.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

#include "../exim.h"
#include "smtp.h"
diff --git a/src/src/transports/smtp.h b/src/src/transports/smtp.h
index 8793ece4f..cb1d72625 100644
--- a/src/src/transports/smtp.h
+++ b/src/src/transports/smtp.h
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

#define DELIVER_BUFFER_SIZE 4096

diff --git a/src/src/transports/smtp_socks.c b/src/src/transports/smtp_socks.c
index 353a69618..22ee74bd8 100644
--- a/src/src/transports/smtp_socks.c
+++ b/src/src/transports/smtp_socks.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2021 - 2022 */
/* Copyright (c) Jeremy Harris 2015 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* SOCKS version 5 proxy, client-mode */

diff --git a/src/src/transports/tf_maildir.c b/src/src/transports/tf_maildir.c
index 925b8fac0..df932b13e 100644
--- a/src/src/transports/tf_maildir.c
+++ b/src/src/transports/tf_maildir.c
@@ -5,7 +5,7 @@
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* Copyright (c) The Exim Maintainers 2020 - 2021 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* Functions in support of the use of maildirsize files for handling quotas in
maildir directories. Some of the rules are a bit baroque:
diff --git a/src/src/transports/tf_maildir.h b/src/src/transports/tf_maildir.h
index d314c3203..9f2f0e3f8 100644
--- a/src/src/transports/tf_maildir.h
+++ b/src/src/transports/tf_maildir.h
@@ -5,7 +5,7 @@
/* Copyright (c) University of Cambridge 1995 - 2009 */
/* Copyright (c) The Exim Maintainers 2021 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* Header file for the functions that are used to support the use of
maildirsize files for quota handling in maildir directories. */
diff --git a/src/src/tree.c b/src/src/tree.c
index e340d986a..13fc28cc2 100644
--- a/src/src/tree.c
+++ b/src/src/tree.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2021 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2015 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* Functions for maintaining binary balanced trees and some associated
functions as well. */
diff --git a/src/src/utf8.c b/src/src/utf8.c
index 6604727ff..c05853838 100644
--- a/src/src/utf8.c
+++ b/src/src/utf8.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2022 */
/* Copyright (c) Jeremy Harris 2015 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */


#include "exim.h"
diff --git a/src/src/verify.c b/src/src/verify.c
index 3a8914e38..0ca096130 100644
--- a/src/src/verify.c
+++ b/src/src/verify.c
@@ -5,7 +5,7 @@
/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* Functions concerned with verifying things. The original code for callout
caching was contributed by Kevin Fleming (but I hacked it around a bit). */
diff --git a/src/src/version.c b/src/src/version.c
index cbaaef24b..2637ee94a 100644
--- a/src/src/version.c
+++ b/src/src/version.c
@@ -5,7 +5,7 @@
/* Copyright (c) University of Cambridge 1995 - 2009 */
/* Copyright (c) The Exim Maintainers 2010 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: GPL-2.0-or-later */

/* Function for setting up the version string. */

diff --git a/src/util/chunking_fixqueue_finalnewlines.pl b/src/util/chunking_fixqueue_finalnewlines.pl
index b8ab17bd7..832b6a71f 100755
--- a/src/util/chunking_fixqueue_finalnewlines.pl
+++ b/src/util/chunking_fixqueue_finalnewlines.pl
@@ -1,5 +1,6 @@
#!/usr/bin/env perl
-# SPDX-License-Identifier: GPL-2.0-only
+# Copyright (c) The Exim Maintainers 2022
+# SPDX-License-Identifier: GPL-2.0-or-later

use warnings;
use strict;
diff --git a/src/util/cramtest.pl b/src/util/cramtest.pl
index a6124628b..9fc797ba2 100755
--- a/src/util/cramtest.pl
+++ b/src/util/cramtest.pl
@@ -1,5 +1,6 @@
#!/usr/bin/perl
-# SPDX-License-Identifier: GPL-2.0-only
+# Copyright (c) The Exim Maintainers 2022
+# SPDX-License-Identifier: GPL-2.0-or-later

# This script is contributed by Vadim Vygonets to aid in debugging CRAM-MD5
# authentication.
diff --git a/src/util/gen_pkcs3.c b/src/util/gen_pkcs3.c
index 3ef3110de..c5a4453cb 100644
--- a/src/util/gen_pkcs3.c
+++ b/src/util/gen_pkcs3.c
@@ -2,7 +2,7 @@
* Copyright (c) The Exim Maintainers 2021
* This is distributed as part of Exim and licensed under the GPL.
* See the file "NOTICE" for more details.
- * SPDX-License-Identifier: GPL-2.0-only
+ * SPDX-License-Identifier: GPL-2.0-or-later
*/

/* Build with:
diff --git a/src/util/logargs.sh b/src/util/logargs.sh
index 814228d10..782ff8566 100755
--- a/src/util/logargs.sh
+++ b/src/util/logargs.sh
@@ -1,5 +1,6 @@
#! /bin/sh
-# SPDX-License-Identifier: GPL-2.0-only
+# Copyright (c) The Exim Maintainers 2022
+# SPDX-License-Identifier: GPL-2.0-or-later

 # This script can be interposed between a calling program and another
 # program, in order to log the arguments which are being used. This can
diff --git a/src/util/mkcdb.pl b/src/util/mkcdb.pl
index e2b5931e7..3a438182c 100755
--- a/src/util/mkcdb.pl
+++ b/src/util/mkcdb.pl
@@ -1,5 +1,6 @@
 #!/usr/bin/perl -wT
-# SPDX-License-Identifier: GPL-2.0-only
+# Copyright (c) The Exim Maintainers 2022
+# SPDX-License-Identifier: GPL-2.0-or-later
 #
 # Create cdb file from flat alias file. DPC: 15/10/98.
 # Args:      source  (may be relative or absolute)
diff --git a/src/util/ocsp_fetch.pl b/src/util/ocsp_fetch.pl
index 2afbdbdac..9255311a4 100755
--- a/src/util/ocsp_fetch.pl
+++ b/src/util/ocsp_fetch.pl
@@ -1,7 +1,7 @@
 #!/usr/bin/perl
 # Copyright (C) 2012 Wizards Internet Ltd
 # License GPLv2: GNU GPL version 2 <http://www.gnu.org/licenses/old-licenses/gpl-2.0.html>
-# SPDX-License-Identifier: GPL-2.0-only
+# SPDX-License-Identifier: GPL-2.0-or-later


use strict;
BEGIN { pop @INC if $INC[-1] eq '.' };
diff --git a/src/util/proxy_protocol_client.pl b/src/util/proxy_protocol_client.pl
index 8b4311b64..8253fc4ac 100644
--- a/src/util/proxy_protocol_client.pl
+++ b/src/util/proxy_protocol_client.pl
@@ -3,7 +3,7 @@
# Copyright (C) 2014 Todd Lyons
# License GPLv2: GNU GPL version 2
# <http://www.gnu.org/licenses/old-licenses/gpl-2.0.html>
-# SPDX-License-Identifier: GPL-2.0-only
+# SPDX-License-Identifier: GPL-2.0-or-later
#
# This script emulates a proxy which uses Proxy Protocol to communicate
# to a backend server. It should be run from an IP which is configured
diff --git a/src/util/ratelimit.pl b/src/util/ratelimit.pl
index 2ceeebbfa..ce54fe6c3 100644
--- a/src/util/ratelimit.pl
+++ b/src/util/ratelimit.pl
@@ -1,5 +1,6 @@
#!/usr/bin/perl -wT
-# SPDX-License-Identifier: GPL-2.0-only
+# Copyright (c) The Exim Maintainers 2022
+# SPDX-License-Identifier: GPL-2.0-or-later

use strict;

diff --git a/src/util/renew-opendmarc-tlds.sh b/src/util/renew-opendmarc-tlds.sh
index 583dc0e40..d626aac37 100755
--- a/src/util/renew-opendmarc-tlds.sh
+++ b/src/util/renew-opendmarc-tlds.sh
@@ -1,5 +1,6 @@
#!/bin/sh -eu
-# SPDX-License-Identifier: GPL-2.0-only
+# Copyright (c) The Exim Maintainers 2022
+# SPDX-License-Identifier: GPL-2.0-or-later
#
# Short version of this script:
# curl -f -o /var/cache/exim/opendmarc.tlds https://publicsuffix.org/list/public_suffix_list.dat
diff --git a/src/util/unknownuser.sh b/src/util/unknownuser.sh
index 01e617978..a57a84bba 100755
--- a/src/util/unknownuser.sh
+++ b/src/util/unknownuser.sh
@@ -1,5 +1,6 @@
#! /bin/sh
-# SPDX-License-Identifier: GPL-2.0-only
+# Copyright (c) The Exim Maintainers 2022
+# SPDX-License-Identifier: GPL-2.0-or-later

# This is a sample script for demonstrating how to handle unknown users in
# a more friendly way than just returning a "user unknown" error. It can