mirror of
https://gitlab.kit.edu/kit/scc/sys/mail/exim-encrypt-dlfunc.git
synced 2025-12-06 09:43:55 +01:00
Switched build system to meson.
This commit is contained in:
4
src/config.h.in
Normal file
4
src/config.h.in
Normal file
@ -0,0 +1,4 @@
|
||||
#pragma once
|
||||
|
||||
#define LOCAL_SCAN_VERSION @local_scan_version@
|
||||
|
||||
@ -1,3 +1,5 @@
|
||||
#include "config.h"
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <strings.h>
|
||||
@ -6,8 +8,10 @@
|
||||
#include <sys/types.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#define LOCAL_SCAN
|
||||
#define DLFUNC_IMPL
|
||||
/* Exim4 dlfunc API header */
|
||||
#include <local_scan.h>
|
||||
#include <exim4/local_scan.h>
|
||||
|
||||
/*
|
||||
* This is a set of workarounds for the different exim local_scan ABI versions, distribution patches and missing
|
||||
@ -21,26 +25,14 @@
|
||||
* 3.1 Ubuntu 20-04 (Focal)
|
||||
*/
|
||||
|
||||
// local_scan ABI version < 3
|
||||
#if LOCAL_SCAN_ABI_VERSION_MAJOR < 3
|
||||
#define LOCAL_SCAN
|
||||
#if LOCAL_SCAN_VERSION < 3
|
||||
#define store_get_untainted(size) store_get(size)
|
||||
#define store_get_tainted(size) store_get(size)
|
||||
|
||||
// local_scan ABI version == 3
|
||||
#elif LOCAL_SCAN_ABI_VERSION_MAJOR == 3
|
||||
#define DLFUNC_IMPL
|
||||
#elif LOCAL_SCAN_VERSION >= 3
|
||||
#define store_get_untainted(size) store_get(size, FALSE)
|
||||
#define store_get_tainted(size) store_get(size, TRUE)
|
||||
|
||||
# define string_copy(s) string_copy_function(s)
|
||||
extern uschar * string_copy_function(const uschar *);
|
||||
|
||||
// local_scan ABI version > 3
|
||||
#else
|
||||
#define DLFUNC_IMPL
|
||||
#define store_get_untainted(size) store_get(size, FALSE)
|
||||
#define store_get_tainted(size) store_get(size, TRUE)
|
||||
#error "exim4 local version"
|
||||
#endif
|
||||
|
||||
/*
|
||||
@ -329,4 +321,4 @@ int sodium_crypto_box_seal_open(uschar **yield, int argc, uschar *argv[]) {
|
||||
// return cleartext
|
||||
*yield = string_copy(cleartext);
|
||||
return OK;
|
||||
}
|
||||
}
|
||||
|
||||
14
src/meson.build
Normal file
14
src/meson.build
Normal file
@ -0,0 +1,14 @@
|
||||
configure_file(input: 'config.h.in',
|
||||
output: 'config.h',
|
||||
configuration: conf_data)
|
||||
|
||||
executable('genkey', 'genkey.c', dependencies : [ sodium_deps ] )
|
||||
|
||||
shared_library('exim-encrypt-dlfunc', 'libexim-encrypt-dlfunc.c',
|
||||
dependencies : [ sodium_deps ],
|
||||
install: true)
|
||||
|
||||
|
||||
simple_exim_test = find_program('simple_exim_test.sh')
|
||||
test('simple test', simple_exim_test)
|
||||
|
||||
@ -2,8 +2,10 @@
|
||||
|
||||
set -e
|
||||
|
||||
PATH=/sbin:/usr/sbin:$PATH
|
||||
|
||||
# copy to /tmp to keep call to exim under 256 chars (prevent problems on Ubuntu)
|
||||
install -t /tmp libexim-encrypt-dlfunc.so
|
||||
install -t /tmp src/libexim-encrypt-dlfunc.so
|
||||
|
||||
LIB=/tmp/libexim-encrypt-dlfunc.so
|
||||
CLEARTEXT="127.88.99.23" # keep short; see above
|
||||
|
||||
Reference in New Issue
Block a user