Age | Commit message (Collapse) | Author |
|
|
|
- accept minor version number
- allow to skip the build-of-documentation step
- allow release of "any" version from anywhere
- avoid calling "old" reversion scripts, create version.sh
|
|
Add keep_environment, add_environment.
Change the working directory to "/" during the early startup
phase.
(cherry picked from commit 2b92b67bfc33efe05e6ff2ea3852731ac2273832)
(cherry picked from commit 14b82c8b736c8ed24eda144f57703cb9feac6323)
(cherry picked from commit 9ca92d0c6e9c6f161bd8111366c6952d3a9315e2)
(cherry picked from commit 0020c6d9ecfd98ed7b2b337ed4f898fdc409784b)
(cherry picked from commit e8f96966360ea8867ad6a8b5affda6c37fa4958c)
(cherry picked from commit ef6fb807c1e1a665f444f644c60c77269f7c5209)
|
|
|
|
versions, using libgcrypt and libtasn1 directly. Bug 1772
|
|
We need an incremental build of the hash, and GnuTLS did not expose the
required interfaces until version 2.10.0
|
|
Bug 1192
|
|
The functions previously in the auth directory, which allocate
exim-standard strings for output, are the main pair. The file-IO
variant decode routine use by mime-handling is brought into
the same new source file. The PDKIM functions are dropped.
|
|
Currently this covers HP-UX and older Solaris.
|
|
|
|
This is intended to be a step towards replacing the PolarSSL code
with either OpenSSL of GnuTLS equivalents.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
If we're configured to use pkg-config (or pcre-config) and the tool is
not available or does not know about the package we ask for, that should
be a fatal configuration error.
We should not silently ignore the missing package, then try to compile,
and have missing header warnings from the compiler. Eg, if we're told
to support GSASL, we'll try to compile the client code, and without
compiler flags, we'll either fail to compile (missing headers) or fail
to link, which obscures the source of the errors.
This change will only break people who had builds set to have Exim
depend upon non-existent packages, and that _needs_ to break.
|
|
The "local" builtin is not part of POSIX. We want it. Try harder to
get a vaguely sane shell, rather than just a POSIX shell.
Also, safeguard to error out more gracefully if invoked from outside the
build process.
|
|
|
|
Can disable PKCS11 in Makefile with AVOID_GNUTLS_PKCS11 build flag.
Rename gnutls_enable_pkcs11 option to gnutls_allow_auto_pkcs11.
Update Changelog
|
|
|
|
Add want_experimental() test in the script to create the lookups
Makefile to ease detection of requested Experimental features, and
simplify the #ifdef guards in the redis.c.
|
|
This is gross hackery and somewhat fragile. A better method would
actuallyt compile the 'C' involved and check programmatically.
|
|
|
|
This was noticable when re-building as a non-privileged user
after installing as root; lookups/Makefile had been rebuilt
by root and when it was rebuilt again by the unprivileged user
`mv` demanded confirmation before overwriting the file.
|
|
Set the POSIX -e option on the #! line invoking /bin/sh.
If any of the sub-commands fail, the Configure as a whole should fail.
|
|
|
|
Remove a couple of stray references to PCRE_CFLAGS too (dating from when PCRE was bundled).
|
|
Also: update EDITME to refer to pkg-config & AUTH_HEIMDAL_GSSAPI.
|
|
Not yet working, failing to set keytab.
Also: support (AUTH|LOOKUP)_*_PC=foo to use `pkg-config foo` for cflags/libs.
|
|
Missing: documentation; tests.
Tested: PLAIN auth.
Status: probably buggy
|
|
syntax error
|
|
|
|
|
|
Tested for version.sh in cwd, but used . to source, assuming that
would pull in file from cwd. True on BSD (checked after $PATH) but
not part of POSIX and not true for bash when in POSIX mode.
|
|
Adapted from git itself via unifdef. This does not (yet) include
the equivalent automation for the doc build.
|
|
|
|
I have also de-CVSed the ABOUT files and cleaned up a few
introductory comments.
|
|
|
|
|
|
It appears some make(1)s are not complaining about variables defined
with leading whitespace on the line. Permit that where we can, for the
lookups, but it's not tenable for CFLAGS_DYNAMIC.
Some people are specifying knobs on the make command-line, so we get
them via the environment.
Tested: indented LOOKUP_CDB and commented out LOOKUP_DNSDB, supplying it
via { make LOOKUP_DNSDB=yes }. { exim -d --version } shows both are
built-in, no results from { fgrep DNSDB build-*/Makefile }.
|
|
|
|
Should not code at 9am when still awake then.
Should sanity-review such code changes before submitting (after sleep).
Should s,/usr/xpg4/bin/sh,/bin/bash, as a convenient test to confirm
what I suspected. But should do so pre-submit.
Doh.
|
|
Don't abort if CFLAGS_DYNAMIC not defined. Oops!
Attempt to get a POSIX environment on Solaris.
Document POSIXy assumptions going forward.
Problems reported by: Dennis Davis
|
|
Debug version display reports library info.
Bumps lookup API magic constant, adds new field to module API.
When invoking { exim -d -bV } we can display more version information.
Show versions for many external libraries, including both compile-time
and run-time information if we can.
Optional for modules, may be NULL. Implemented for MySQL, SQLite &
Whoson lookups. For all lookups, if dynamically loaded, report the
Exim version number from the build. (Packagers will bundle stuff, but
dynamic modules are no longer just available for packagers, so we need
to deal with less managed environments and people forgetting to install
new modules).
Suggest in EDITME that users of modules not using package management
consider embedding a version number in the path to the modules.
Should consider removing the TLS (OpenSSL/GnuTLS) reporting from the
default -bV display and moving it into the debug display. Not done.
Created version.h, now support a version extension string for
distributors who patch heavily. Henceforth release engineer should
change the version in version.h not version.c.
|
|
(1) Commit eec525c43adade97ff94d839810faf7cb35bd87f broke module
support, because we *do* still need some exported variable
definitions, as for a module to actually work, we need the
per-module _INCLUDE/_LIBS settings.
(2) FreeBSD's nsdispatch() will leave dlerror() returning a complaint
about "_nss_cache_cycle_prevention_function"; we need to clear the
error state before the dlsym() call, so that any error found
afterwards must have come from that dlsym() call. Fix is just an
extra call to dlerror(), which should be portable.
I can now use sqlite3 from a module, in FreeBSD.
|
|
When writing the patch, originally nothing other than a cp was needed if
there were no dynamic modules. That changed, but the guard at the top
did not. Remove that check.
bash does not like a block which consists solely of a comment. Provide
a ':' invocation.
Both problems spotted by Simon Arlott -- thanks.
|
|
Document the dynamic lookup module capability in spec.xfpt.
Include a ChangeLog item.
Avoid the GNU-specific "export" make(1) directive.
Build the lookups Makefile using the existing framework.
Build with BSD Make once more.
The src/lookups/Makefile that is used at build time now has the dynamic
content come from scripts/lookups-Makefile.
Add CFLAGS_DYNAMIC support, which can be set in Local/Makefile.
Provide defaults for Linux & FreeBSD.
Ensure that build fails early if a dynamic module is requested but
CFLAGS_DYNAMIC is not defined.
|