aports/main/postfix/postfix-redis.patch
2022-06-30 14:49:04 +00:00

137 lines
6.6 KiB
Diff

diff -Nurp a/conf/dynamicmaps.cf b/conf/dynamicmaps.cf
--- a/conf/dynamicmaps.cf 2014-05-30 12:38:33.000000000 +0100
+++ b/conf/dynamicmaps.cf 2020-08-15 08:59:29.358727776 +0100
@@ -5,5 +5,6 @@ lmdb ${LIB_PREFIX}lmdb${LIB_SUFFIX} dict
mysql ${LIB_PREFIX}mysql${LIB_SUFFIX} dict_mysql_open
pcre ${LIB_PREFIX}pcre${LIB_SUFFIX} dict_pcre_open
pgsql ${LIB_PREFIX}pgsql${LIB_SUFFIX} dict_pgsql_open
+redis ${LIB_PREFIX}redis${LIB_SUFFIX} dict_redis_open
sdbm ${LIB_PREFIX}sdbm${LIB_SUFFIX} dict_sdbm_open mkmap_sdbm_open
sqlite ${LIB_PREFIX}sqlite${LIB_SUFFIX} dict_sqlite_open
diff -Nurp a/conf/postfix-files b/conf/postfix-files
--- a/conf/postfix-files 2019-01-29 22:24:42.000000000 +0000
+++ b/conf/postfix-files 2020-08-15 08:59:59.590574025 +0100
@@ -78,6 +78,7 @@ $shlib_directory/${LIB_PREFIX}lmdb${LIB_
$shlib_directory/${LIB_PREFIX}mysql${LIB_SUFFIX}:f:root:-:755
$shlib_directory/${LIB_PREFIX}pcre${LIB_SUFFIX}:f:root:-:755
$shlib_directory/${LIB_PREFIX}pgsql${LIB_SUFFIX}:f:root:-:755
+$shlib_directory/${LIB_PREFIX}redis${LIB_SUFFIX}:f:root:-:755
$shlib_directory/${LIB_PREFIX}sdbm${LIB_SUFFIX}:f:root:-:755
$shlib_directory/${LIB_PREFIX}sqlite${LIB_SUFFIX}:f:root:-:755
$meta_directory/dynamicmaps.cf.d:d:root:-:755
diff -Nurp a/makedefs b/makedefs
--- a/makedefs 2020-05-06 15:10:47.000000000 +0100
+++ b/makedefs 2020-08-15 09:02:11.765901819 +0100
@@ -1167,7 +1167,7 @@ DEFINED_MAP_TYPES=`
# Propagate AUXLIBS_FOO or merge them into global AUXLIBS (i.e. SYSLIBS).
-PLUGGABLE_MAPS="CDB LDAP LMDB MYSQL PCRE PGSQL SDBM SQLITE"
+PLUGGABLE_MAPS="CDB LDAP LMDB MYSQL PCRE PGSQL REDIS SDBM SQLITE"
case "$dynamicmaps" in
yes) for name in $PLUGGABLE_MAPS
diff -Nurp a/src/global/mail_dict.c b/src/global/mail_dict.c
--- a/src/global/mail_dict.c 2014-06-22 01:42:55.000000000 +0100
+++ b/src/global/mail_dict.c 2020-08-15 09:03:33.445486419 +0100
@@ -45,6 +45,7 @@
#include <dict_ldap.h>
#include <dict_mysql.h>
#include <dict_pgsql.h>
+#include <dict_redis.h>
#include <dict_sqlite.h>
#include <dict_memcache.h>
#include <mail_dict.h>
@@ -68,6 +69,9 @@ static const DICT_OPEN_INFO dict_open_in
#ifdef HAS_PGSQL
DICT_TYPE_PGSQL, dict_pgsql_open,
#endif
+#ifdef HAS_REDIS
+ DICT_TYPE_REDIS, dict_redis_open,
+#endif
#ifdef HAS_SQLITE
DICT_TYPE_SQLITE, dict_sqlite_open,
#endif
diff -Nurp a/src/global/Makefile.in b/src/global/Makefile.in
--- a/src/global/Makefile.in 2020-01-12 13:50:56.000000000 +0000
+++ b/src/global/Makefile.in 2020-08-15 09:12:53.593101032 +0100
@@ -3,7 +3,7 @@ SRCS = abounce.c anvil_clnt.c been_here.
canon_addr.c cfg_parser.c cleanup_strerror.c cleanup_strflags.c \
clnt_stream.c conv_time.c db_common.c debug_peer.c debug_process.c \
defer.c deliver_completed.c deliver_flock.c deliver_pass.c \
- deliver_request.c dict_ldap.c dict_mysql.c dict_pgsql.c \
+ deliver_request.c dict_ldap.c dict_mysql.c dict_pgsql.c dict_redis.c \
dict_proxy.c dict_sqlite.c domain_list.c dot_lockfile.c dot_lockfile_as.c \
dsb_scan.c dsn.c dsn_buf.c dsn_mask.c dsn_print.c dsn_util.c \
ehlo_mask.c ext_prop.c file_id.c flush_clnt.c header_opts.c \
@@ -78,13 +78,13 @@ OBJS = abounce.o anvil_clnt.o been_here.
# MAP_OBJ is for maps that may be dynamically loaded with dynamicmaps.cf.
# When hard-linking these maps, makedefs sets NON_PLUGIN_MAP_OBJ=$(MAP_OBJ),
# otherwise it sets the PLUGIN_* macros.
-MAP_OBJ = dict_ldap.o dict_mysql.o dict_pgsql.o dict_sqlite.o mkmap_cdb.o \
+MAP_OBJ = dict_ldap.o dict_mysql.o dict_pgsql.o dict_redis.o dict_sqlite.o mkmap_cdb.o \
mkmap_lmdb.o mkmap_sdbm.o
HDRS = abounce.h anvil_clnt.h been_here.h bounce.h bounce_log.h \
canon_addr.h cfg_parser.h cleanup_user.h clnt_stream.h config.h \
conv_time.h db_common.h debug_peer.h debug_process.h defer.h \
deliver_completed.h deliver_flock.h deliver_pass.h deliver_request.h \
- dict_ldap.h dict_mysql.h dict_pgsql.h dict_proxy.h dict_sqlite.h domain_list.h \
+ dict_ldap.h dict_mysql.h dict_pgsql.h dict_redis.h dict_proxy.h dict_sqlite.h domain_list.h \
dot_lockfile.h dot_lockfile_as.h dsb_scan.h dsn.h dsn_buf.h \
dsn_mask.h dsn_print.h dsn_util.h ehlo_mask.h ext_prop.h \
file_id.h flush_clnt.h header_opts.h header_token.h input_transp.h \
@@ -131,7 +131,7 @@ LIBS = ../../lib/lib$(LIB_PREFIX)util$(L
LIB_DIR = ../../lib
INC_DIR = ../../include
PLUGIN_MAP_SO = $(LIB_PREFIX)ldap$(LIB_SUFFIX) $(LIB_PREFIX)mysql$(LIB_SUFFIX) \
- $(LIB_PREFIX)pgsql$(LIB_SUFFIX) $(LIB_PREFIX)sqlite$(LIB_SUFFIX) \
+ $(LIB_PREFIX)pgsql$(LIB_SUFFIX) $(LIB_PREFIX)redis$(LIB_SUFFIX) $(LIB_PREFIX)sqlite$(LIB_SUFFIX) \
$(LIB_PREFIX)lmdb$(LIB_SUFFIX) $(LIB_PREFIX)cdb$(LIB_SUFFIX) \
$(LIB_PREFIX)sdbm$(LIB_SUFFIX)
MAKES =
@@ -167,6 +167,9 @@ $(LIB_PREFIX)mysql$(LIB_SUFFIX): dict_my
$(LIB_PREFIX)pgsql$(LIB_SUFFIX): dict_pgsql.o
$(PLUGIN_LD) $(SHLIB_RPATH) -o $@ dict_pgsql.o $(AUXLIBS_PGSQL)
+$(LIB_PREFIX)redis$(LIB_SUFFIX): dict_redis.o
+ $(PLUGIN_LD) $(SHLIB_RPATH) -o $@ dict_redis.o $(AUXLIBS_REDIS)
+
$(LIB_PREFIX)sqlite$(LIB_SUFFIX): dict_sqlite.o
$(PLUGIN_LD) $(SHLIB_RPATH) -o $@ dict_sqlite.o $(AUXLIBS_SQLITE)
@@ -521,6 +524,8 @@ surrogate_test: mail_dict surrogate.ref
echo get foo| $(SHLIB_ENV) $(VALGRIND) ./mail_dict mysql:/xx read >>surrogate.tmp 2>&1
echo get foo| $(SHLIB_ENV) $(VALGRIND) ./mail_dict pgsql:/xx write >>surrogate.tmp 2>&1
echo get foo| $(SHLIB_ENV) $(VALGRIND) ./mail_dict pgsql:/xx read >>surrogate.tmp 2>&1
+ echo get foo| $(SHLIB_ENV) $(VALGRIND) ./mail_dict redis:/xx write >>surrogate.tmp 2>&1
+ echo get foo| $(SHLIB_ENV) $(VALGRIND) ./mail_dict redis:/xx read >>surrogate.tmp 2>&1
echo get foo| $(SHLIB_ENV) $(VALGRIND) ./mail_dict sqlite:/xx write >>surrogate.tmp 2>&1
echo get foo| $(SHLIB_ENV) $(VALGRIND) ./mail_dict sqlite:/xx read >>surrogate.tmp 2>&1
echo get foo| $(SHLIB_ENV) $(VALGRIND) ./mail_dict memcache:/xx read >>surrogate.tmp 2>&1
@@ -1183,6 +1188,17 @@ dict_pgsql.o: db_common.h
dict_pgsql.o: dict_pgsql.c
dict_pgsql.o: dict_pgsql.h
dict_pgsql.o: string_list.h
+dict_redis.o: ../../include/dict.h
+dict_redis.o: ../../include/msg.h
+dict_redis.o: ../../include/mymalloc.h
+dict_redis.o: ../../include/vbuf.h
+dict_redis.o: ../../include/vstream.h
+dict_redis.o: ../../include/vstring.h
+dict_redis.o: ../../include/stringops.h
+dict_redis.o: ../../include/sys_defs.h
+dict_redis.o: cfg_parser.h
+dict_redis.o: dict_redis.c
+dict_redis.o: dict_redis.h
dict_proxy.o: ../../include/argv.h
dict_proxy.o: ../../include/attr.h
dict_proxy.o: ../../include/check_arg.h
@@ -1768,6 +1784,7 @@ mail_dict.o: dict_ldap.h
mail_dict.o: dict_memcache.h
mail_dict.o: dict_mysql.h
mail_dict.o: dict_pgsql.h
+mail_dict.o: dict_redis.h
mail_dict.o: dict_proxy.h
mail_dict.o: dict_sqlite.h
mail_dict.o: dynamicmaps.h