1 diff -durN postfix-2.1.3.orig/src/dns/Makefile.in postfix-2.1.3/src/dns/Makefile.in
2 --- postfix-2.1.3.orig/src/dns/Makefile.in 2004-04-22 21:37:34.000000000 +0200
3 +++ postfix-2.1.3/src/dns/Makefile.in 2004-06-22 15:39:24.242860389 +0200
6 INC_DIR = ../../include
8 -.c.o:; $(CC) $(CFLAGS) -c $*.c
9 +.c.o:; $(CC) -fPIC $(CFLAGS) -c $*.c
17 - $(AR) $(ARFL) $(LIB) $?
19 + gcc -shared -Wl,-soname,libpostfix-dns.so.1 -o $(LIB) $(OBJS)
21 $(LIB_DIR)/$(LIB): $(LIB)
23 - $(RANLIB) $(LIB_DIR)/$(LIB)
25 update: $(LIB_DIR)/$(LIB) $(HDRS)
27 diff -durN postfix-2.1.3.orig/src/global/Makefile.in postfix-2.1.3/src/global/Makefile.in
28 --- postfix-2.1.3.orig/src/global/Makefile.in 2004-06-22 15:38:56.931476412 +0200
29 +++ postfix-2.1.3/src/global/Makefile.in 2004-06-22 15:39:56.167971280 +0200
31 canon_addr.o cfg_parser.o cleanup_strerror.o cleanup_strflags.o \
32 clnt_stream.o debug_peer.o debug_process.o defer.o \
33 deliver_completed.o deliver_flock.o deliver_pass.o deliver_request.o \
34 - dict_ldap.o dict_mysql.o dict_pgsql.o dict_proxy.o domain_list.o \
35 + dict_proxy.o domain_list.o \
36 dot_lockfile.o dot_lockfile_as.o ext_prop.o file_id.o flush_clnt.o \
37 header_opts.o header_token.o hold_message.o input_transp.o \
38 is_header.o log_adhoc.o mail_addr.o mail_addr_crunch.o \
41 INC_DIR = ../../include
43 +LDAPSO = dict_ldap.so
44 +MYSQLSO = dict_mysql.so
45 +PGSQLSO = dict_pgsql.so
47 -.c.o:; $(CC) $(CFLAGS) -c $*.c
48 +.c.o:; $(CC) -fPIC $(CFLAGS) -c $*.c
56 - $(AR) $(ARFL) $(LIB) $?
58 + gcc -shared -Wl,-soname,libpostfix-global.so.1 -o $(LIB) $(OBJS)
60 +$(LDAPSO): dict_ldap.o
61 + gcc -shared -Wl,-soname,dict_ldap.so -o $@ $? -lldap -llber -L../../lib -lutil -L. -lglobal
63 +$(MYSQLSO): dict_mysql.o
64 + gcc -shared -Wl,-soname,dict_ldap.so -o $@ $? -lmysqlclient -L../../lib -lutil -L. -lglobal
66 +$(PGSQLSO): dict_pgsql.o
67 + gcc -shared -Wl,-soname,dict_ldap.so -o $@ $? -lpq -L../../lib -lutil -L. -lglobal
69 $(LIB_DIR)/$(LIB): $(LIB)
71 - $(RANLIB) $(LIB_DIR)/$(LIB)
73 -update: $(LIB_DIR)/$(LIB) $(HDRS)
74 +$(LIB_DIR)/$(LDAPSO): $(LDAPSO)
75 + cp $(LDAPSO) $(LIB_DIR)
77 +$(LIB_DIR)/$(MYSQLSO): $(MYSQLSO)
78 + cp $(MYSQLSO) $(LIB_DIR)
80 +$(LIB_DIR)/$(PGSQLSO): $(PGSQLSO)
81 + cp $(PGSQLSO) $(LIB_DIR)
83 +update: $(LIB_DIR)/$(LIB) $(LIB_DIR)/${LDAPSO} $(LIB_DIR)/${MYSQLSO} $(LIB_DIR)/${PGSQLSO} $(HDRS)
86 cmp -s $$i $(INC_DIR)/$$i 2>/dev/null || cp $$i $(INC_DIR); \
88 lint $(DEFS) $(SRCS) $(LINTFIX)
91 - rm -f *.o $(LIB) *core $(TESTPROG) junk
92 + rm -f *.o $(LIB) $(LDAPSO) $(MYSQLSO) $(PGSQLSO) *core $(TESTPROG) junk
97 dict_proxy.o: mail_params.h
98 dict_proxy.o: clnt_stream.h
99 dict_proxy.o: dict_proxy.h
100 +dict_ldap.o: dict_ldap.c
101 +dict_ldap.o: ../../include/sys_defs.h
102 domain_list.o: domain_list.c
103 domain_list.o: ../../include/sys_defs.h
104 domain_list.o: ../../include/match_list.h
105 diff -durN postfix-2.1.3.orig/src/global/mail_conf.c postfix-2.1.3/src/global/mail_conf.c
106 --- postfix-2.1.3.orig/src/global/mail_conf.c 2004-04-10 16:52:51.000000000 +0200
107 +++ postfix-2.1.3/src/global/mail_conf.c 2004-06-22 15:39:24.247860093 +0200
109 path = concatenate(var_config_dir, "/", "main.cf", (char *) 0);
110 dict_load_file(CONFIG_DICT, path);
113 +#ifndef NO_DYNAMIC_MAPS
114 + path = concatenate(var_config_dir, "/", "dynamicmaps.cf", (char *) 0);
115 + dict_open_dlinfo(path);
121 /* mail_conf_eval - expand macros in string */
122 diff -durN postfix-2.1.3.orig/src/global/mail_params.c postfix-2.1.3/src/global/mail_params.c
123 --- postfix-2.1.3.orig/src/global/mail_params.c 2004-06-22 15:38:57.219459372 +0200
124 +++ postfix-2.1.3/src/global/mail_params.c 2004-06-22 15:39:24.248860034 +0200
129 +#include <safe_open.h>
130 +#include <mymalloc.h>
132 /* Global library. */
135 char *var_debug_peer_list;
136 int var_debug_peer_level;
137 char *var_reject_reply_msg_access_denied;
138 +int var_command_maxtime;
139 int var_fault_inj_code;
140 char *var_bounce_service;
141 char *var_cleanup_service;
143 (long) var_sgid_gid);
146 +static char *read_file(const char *name)
149 + VSTRING *why=vstring_alloc(1);
150 + VSTRING *new_name=vstring_alloc(1);
151 + VSTREAM *vp=safe_open(name, O_RDONLY, 0, NULL, -1, -1, why);
154 + * Ugly macros to make complex expressions less unreadable.
156 +#define SKIP(start, var, cond) \
157 + for (var = start; *var && (cond); var++);
161 + for (p = (s) + strlen(s); p > (s) && ISSPACE(p[-1]); p--); \
166 + msg_fatal("%s: unable to open: %s",name,vstring_str(why));
168 + vstring_get_nonl(new_name,vp);
169 + vstream_fclose(vp);
170 + SKIP(vstring_str(new_name),ret,ISSPACE(*ret));
174 + vstring_free(new_name);
178 /* mail_params_init - configure built-in parameters */
180 void mail_params_init()
182 * Variables that are needed by almost every program.
184 get_mail_conf_str_table(other_str_defaults);
185 + if (*var_myorigin=='/') {
186 + var_myorigin=read_file(var_myorigin);
188 get_mail_conf_int_table(other_int_defaults);
189 get_mail_conf_bool_table(bool_defaults);
190 get_mail_conf_time_table(time_defaults);
191 diff -durN postfix-2.1.3.orig/src/master/Makefile.in postfix-2.1.3/src/master/Makefile.in
192 --- postfix-2.1.3.orig/src/master/Makefile.in 2004-04-22 21:37:35.000000000 +0200
193 +++ postfix-2.1.3/src/master/Makefile.in 2004-06-22 15:39:24.249859975 +0200
195 INC_DIR = ../../include
196 BIN_DIR = ../../libexec
198 -.c.o:; $(CC) $(CFLAGS) -c $*.c
199 +.c.o:; $(CC) `for i in $(LIB_OBJ); do [ $$i = $@ ] && echo -fPIC; done` $(CFLAGS) -c $*.c
207 - $(AR) $(ARFL) $(LIB) $?
209 + gcc -shared -Wl,-soname,libpostfix-master.so.1 -o $(LIB) $(LIB_OBJ)
211 $(LIB_DIR)/$(LIB): $(LIB)
212 cp $(LIB) $(LIB_DIR)/$(LIB)
213 - $(RANLIB) $(LIB_DIR)/$(LIB)
215 $(BIN_DIR)/$(PROG): $(PROG)
216 cp $(PROG) $(BIN_DIR)
217 --- postfix-2.2.2/src/util/Makefile.in.orig 2005-03-11 16:14:00.000000000 +0100
218 +++ postfix-2.2.2/src/util/Makefile.in 2005-04-26 11:45:19.000000000 +0200
220 attr_print_plain.c sane_connect.c neuter.c name_code.c \
221 uppercase.c unix_recv_fd.c stream_recv_fd.c unix_send_fd.c \
222 stream_send_fd.c dict_sdbm.c hex_code.c dummy_read.c dummy_write.c \
223 - myaddrinfo.c sock_addr.c inet_proto.c cidr_match.c mask_addr.c
224 + myaddrinfo.c sock_addr.c inet_proto.c cidr_match.c mask_addr.c load_lib.c
225 OBJS = alldig.o argv.o argv_split.o attr_print0.o attr_print64.o \
226 attr_scan0.o attr_scan64.o base64_code.o basename.o binhash.o \
227 chroot_uid.o clean_env.o close_on_exec.o concatenate.o ctable.o \
228 dict.o dict_alloc.o dict_db.o dict_cdb.o dict_dbm.o dict_debug.o dict_env.o \
229 dict_cidr.o dict_ht.o dict_ni.o dict_nis.o \
230 - dict_nisplus.o dict_open.o dict_pcre.o dict_regexp.o \
231 + dict_nisplus.o dict_open.o dict_regexp.o \
232 dict_static.o dict_tcp.o dict_unix.o dir_forest.o doze.o \
233 duplex_pipe.o environ.o events.o exec_command.o fifo_listen.o \
234 fifo_trigger.o file_limit.o find_inet.o fsspace.o fullname.o \
236 attr_print_plain.o sane_connect.o $(STRCASE) neuter.o name_code.o \
237 uppercase.o unix_recv_fd.o stream_recv_fd.o unix_send_fd.o \
238 stream_send_fd.o dict_sdbm.o hex_code.o dummy_read.o dummy_write.o \
239 - myaddrinfo.o sock_addr.o inet_proto.o cidr_match.o mask_addr.o
240 + myaddrinfo.o sock_addr.o inet_proto.o cidr_match.o mask_addr.o load_lib.o
241 HDRS = argv.h attr.h base64_code.h binhash.h chroot_uid.h clean_env.h \
242 connect.h ctable.h dict.h dict_db.h dict_cdb.h dict_dbm.h dict_env.h \
243 dict_cidr.h dict_ht.h dict_ni.h dict_nis.h \
245 vbuf_print.h vstream.h vstring.h vstring_vstream.h watchdog.h \
246 auto_clnt.h attr_clnt.h sane_connect.h name_code.h dict_sdbm.h \
247 hex_code.h myaddrinfo.h sock_addr.h inet_proto.h cidr_match.h \
249 + mask_addr.h load_lib.h
250 TESTSRC = fifo_open.c fifo_rdwr_bug.c fifo_rdonly_bug.c select_bug.c \
251 stream_test.c dup2_pass_on_exec.c
252 DEFS = -I. -D$(SYSTYPE)
253 CFLAGS = $(DEBUG) $(OPT) $(DEFS)
254 FILES = Makefile $(SRCS) $(HDRS)
256 +PCRESO = dict_pcre.so
258 TESTPROG= dict_open dup2_pass_on_exec events exec_command fifo_open \
259 fifo_rdonly_bug fifo_rdwr_bug fifo_trigger fsspace fullname \
263 INC_DIR = ../../include
264 +LIBS = $(LIB_DIR)/$(LIB) $(LIB_DIR)/$(PCRESO)
266 -.c.o:; $(CC) $(CFLAGS) -c $*.c
267 +.c.o:; $(CC) -fPIC $(CFLAGS) -c $*.c
271 @@ -114,15 +116,19 @@
275 +$(PCRESO): dict_pcre.o
276 + gcc -shared -Wl,-soname,dict_pcre.so -o $@ $? -lpcre -L. -lutil
279 - $(AR) $(ARFL) $(LIB) $?
281 + gcc -shared -Wl,-soname,libpostfix-util.so.1 -o $(LIB) $(OBJS) -ldl
283 $(LIB_DIR)/$(LIB): $(LIB)
285 - $(RANLIB) $(LIB_DIR)/$(LIB)
287 -update: $(LIB_DIR)/$(LIB) $(HDRS)
288 +$(LIB_DIR)/$(PCRESO): $(PCRESO)
289 + cp $(PCRESO) $(LIB_DIR)
291 +update: $(LIBS) $(HDRS)
294 cmp -s $$i $(INC_DIR)/$$i 2>/dev/null || cp $$i $(INC_DIR); \
299 - rm -f *.o $(LIB) *core $(TESTPROG) junk $(MAKES) *.tmp
300 + rm -f *.o $(LIB) $(PCRESO) *core $(TESTPROG) \
301 + junk $(MAKES) *.tmp
305 diff -durN postfix-2.1.3.orig/src/util/dict.h postfix-2.1.3/src/util/dict.h
306 --- postfix-2.1.3.orig/src/util/dict.h 2003-07-03 17:04:13.000000000 +0200
307 +++ postfix-2.1.3/src/util/dict.h 2004-06-22 15:39:24.253859738 +0200
310 extern ARGV *dict_mapnames(void);
312 +#ifndef NO_DYNAMIC_MAPS
314 + * Interface for dynamic map loading.
317 + const char *pattern;
318 + const char *soname;
319 + const char *openfunc;
322 +extern void dict_open_dlinfo(const char *path);
323 +extern DLINFO *dict_open_dlfind(const char *type);
327 * High-level interface, with logical dictionary names.
329 diff -durN postfix-2.1.3.orig/src/util/dict_open.c postfix-2.1.3/src/util/dict_open.c
330 --- postfix-2.1.3.orig/src/util/dict_open.c 2004-06-22 15:38:57.069468247 +0200
331 +++ postfix-2.1.3/src/util/dict_open.c 2004-06-22 15:39:24.254859679 +0200
336 +#include <sys/stat.h>
339 /* Utility library. */
343 #include <split_at.h>
346 +#ifndef NO_DYNAMIC_MAPS
347 +#include <load_lib.h>
348 +#include <vstring.h>
349 +#include <vstream.h>
350 +#include <vstring_vstream.h>
355 * lookup table for available map types.
359 DICT_TYPE_NETINFO, dict_ni_open,
361 +#ifndef MAX_DYNAMIC_MAPS
363 DICT_TYPE_PCRE, dict_pcre_open,
365 +#endif /* MAX_DYNAMIC_MAPS */
366 #ifdef HAS_POSIX_REGEXP
367 DICT_TYPE_REGEXP, dict_regexp_open,
371 if (dict_open_hash == 0)
373 - if ((dp = (DICT_OPEN_INFO *) htable_find(dict_open_hash, dict_type)) == 0)
374 - msg_fatal("unsupported dictionary type: %s", dict_type);
375 + if ((dp = (DICT_OPEN_INFO *) htable_find(dict_open_hash, dict_type)) == 0) {
376 +#ifndef NO_DYNAMIC_MAPS
378 + VSTRING *lib, *func;
380 + DICT *(*open) (const char *, int, int);
381 + DLINFO *dl=dict_open_dlfind(dict_type);
384 + msg_fatal("%s: unsupported dictionary type: %s", myname, dict_type);
385 +#ifndef NO_DYNAMIC_MAPS
386 + lib=vstring_alloc(1);
387 + vstring_sprintf(lib,dl->soname,dict_type);
388 + if (stat(vstring_str(lib),&st) < 0) {
389 + msg_fatal("%s: unsupported dictionary type: %s (%s not found. Is the postfix-%s package installed?)",
390 + myname, dict_type, vstring_str(lib), dict_type);
392 + func=vstring_alloc(1);
393 + vstring_sprintf(func,dl->openfunc,dict_type);
394 + fn[0].name = vstring_str(func);
395 + fn[0].ptr = (void**)&open;
397 + load_library_symbols(vstring_str(lib), fn, NULL);
398 + dict_open_register(dict_type, open);
399 + dp = (DICT_OPEN_INFO *) htable_find(dict_open_hash, dict_type);
401 + vstring_free(func);
404 + if (msg_verbose>1) {
405 + msg_info("%s: calling %s open routine",myname,dict_type);
407 if ((dict = dp->open(dict_name, open_flags, dict_flags)) == 0)
408 msg_fatal("opening %s:%s %m", dict_type, dict_name);
414 +#ifndef NO_DYNAMIC_MAPS
415 +static DLINFO *dict_dlinfo;
417 +void dict_open_dlinfo(const char *path)
419 + char *myname="dict_open_dlinfo";
420 + VSTREAM *conf_fp=vstream_fopen(path,O_RDONLY,0);
421 + VSTRING *buf = vstring_alloc(100);
428 + dict_dlinfo=(DLINFO*)mvect_alloc(&vector,sizeof(DLINFO),3,NULL,NULL);
431 + msg_warn("%s: cannot open %s. No dynamic maps will be allowed.",
434 + while (vstring_get_nonl(buf,conf_fp) != VSTREAM_EOF) {
435 + cp = vstring_str(buf);
437 + if (*cp == '#' || *cp == '\0')
439 + argv = argv_split(cp, " \t");
440 + if (argv->argc != 3) {
441 + msg_fatal("%s: Expected \"pattern .so-name function\" at line %d",
444 + if (argv->argv[1][0] != '/') {
445 + msg_fatal("%s: .so name must begin with a \"/\" at line %d",
448 + if (nelm >= vector.nelm) {
449 + dict_dlinfo=(DLINFO*)mvect_realloc(&vector,vector.nelm+3);
451 + dict_dlinfo[nelm].pattern = mystrdup(argv->argv[0]);
452 + dict_dlinfo[nelm].soname = mystrdup(argv->argv[1]);
453 + dict_dlinfo[nelm].openfunc = mystrdup(argv->argv[2]);
458 + if (nelm >= vector.nelm) {
459 + dict_dlinfo=(DLINFO*)mvect_realloc(&vector,vector.nelm+1);
461 + dict_dlinfo[nelm].pattern = NULL;
462 + dict_dlinfo[nelm].soname = NULL;
463 + dict_dlinfo[nelm].openfunc = NULL;
465 + vstream_fclose(conf_fp);
469 +DLINFO *dict_open_dlfind(const char *type)
476 + for (dp=dict_dlinfo; dp->pattern; dp++) {
477 + if (strcmp(dp->pattern,type)==0 || strcmp(dp->pattern,"*")==0)
482 +#endif /* !NO_DYNAMIC_MAPS */
487 diff -durN postfix-2.1.3.orig/src/util/load_lib.c postfix-2.1.3/src/util/load_lib.c
488 --- postfix-2.1.3.orig/src/util/load_lib.c 1970-01-01 01:00:00.000000000 +0100
489 +++ postfix-2.1.3/src/util/load_lib.c 2004-06-22 15:39:24.257859501 +0200
495 +/* library loading wrappers
497 +/* #include <load_lib.h>
499 +/* extern int load_library_symbols(const char *, LIB_FN *, LIB_FN *);
500 +/* const char *libname;
501 +/* LIB_FN *libfuncs;
505 +/* This module loads functions from libraries, returnine pointers
506 +/* to the named functions.
508 +/* load_library_symbols() loads all of the desired functions, and
509 +/* returns zero for success, or exits via msg_fatal().
512 +/* msg(3) diagnostics interface
514 +/* Problems are reported via the msg(3) diagnostics routines:
515 +/* library not found, symbols not found, other fatal errors.
519 +/* The Secure Mailer license must be distributed with this software.
522 +/* Hewlett-Packard Company
523 +/* 3404 Harmony Road
524 +/* Fort Collins, CO 80528, USA
527 +/* IBM T.J. Watson Research
529 +/* Yorktown Heights, NY 10598, USA
532 +/* System libraries. */
534 +#include "sys_defs.h"
538 +#if defined(HAS_DLOPEN)
540 +#elif defined(HAS_SHL_LOAD)
544 +/* Application-specific. */
547 +#include "load_lib.h"
549 +extern int load_library_symbols(const char * libname, LIB_FN * libfuncs, LIB_FN * libdata)
551 + char *myname = "load_library_symbols";
554 +#if defined(HAS_DLOPEN)
558 + handle=dlopen(libname,RTLD_NOW);
561 + msg_fatal("%s: dlopen failure loading %s: %s", myname, libname, emsg);
565 + for (fn=libfuncs; fn->name; fn++) {
566 + *(fn->ptr) = dlsym(handle,fn->name);
569 + msg_fatal("%s: dlsym failure looking up %s in %s: %s", myname,
570 + fn->name, libname, emsg);
572 + if (msg_verbose>1) {
573 + msg_info("loaded %s = %lx",fn->name, *((long*)(fn->ptr)));
579 + for (fn=libdata; fn->name; fn++) {
580 + *(fn->ptr) = dlsym(handle,fn->name);
583 + msg_fatal("%s: dlsym failure looking up %s in %s: %s", myname,
584 + fn->name, libname, emsg);
586 + if (msg_verbose>1) {
587 + msg_info("loaded %s = %lx",fn->name, *((long*)(fn->ptr)));
591 +#elif defined(HAS_SHL_LOAD)
594 + handle = shl_load(libname,BIND_IMMEDIATE,0);
597 + for (fn=libfuncs; fn->name; fn++) {
598 + if (shl_findsym(&handle,fn->name,TYPE_PROCEDURE,fn->ptr) != 0) {
599 + msg_fatal("%s: shl_findsym failure looking up %s in %s: %m",
600 + myname, fn->name, libname);
602 + if (msg_verbose>1) {
603 + msg_info("loaded %s = %x",fn->name, *((long*)(fn->ptr)));
609 + for (fn=libdata; fn->name; fn++) {
610 + if (shl_findsym(&handle,fn->name,TYPE_DATA,fn->ptr) != 0) {
611 + msg_fatal("%s: shl_findsym failure looking up %s in %s: %m",
612 + myname, fn->name, libname);
614 + if (msg_verbose>1) {
615 + msg_info("loaded %s = %x",fn->name, *((long*)(fn->ptr)));
621 + msg_fatal("%s: need dlopen or shl_load support for dynamic libraries",
626 diff -durN postfix-2.1.3.orig/src/util/load_lib.h postfix-2.1.3/src/util/load_lib.h
627 --- postfix-2.1.3.orig/src/util/load_lib.h 1970-01-01 01:00:00.000000000 +0100
628 +++ postfix-2.1.3/src/util/load_lib.h 2004-06-22 15:39:24.257859501 +0200
630 +#ifndef _LOAD_LIB_H_INCLUDED_
631 +#define _LOAD_LIB_H_INCLUDED_
637 +/* library loading wrappers
639 +/* #include "load_lib.h"
644 + * External interface.
646 +/* NULL name terminates list */
647 +typedef struct LIB_FN {
652 +extern int load_library_symbols(const char *, LIB_FN *, LIB_FN *);
657 +/* The Secure Mailer license must be distributed with this software.
660 +/* Hewlett-Packard Company
661 +/* 3404 Harmony Road
662 +/* Fort Collins, CO 80528, USA
665 +/* IBM T.J. Watson Research
667 +/* Yorktown Heights, NY 10598, USA
671 diff -durN postfix-2.1.3.orig/src/util/sys_defs.h postfix-2.1.3/src/util/sys_defs.h
672 --- postfix-2.1.3.orig/src/util/sys_defs.h 2004-06-22 15:38:57.190461088 +0200
673 +++ postfix-2.1.3/src/util/sys_defs.h 2004-06-22 15:39:24.255859620 +0200
675 #define UNIX_DOMAIN_CONNECT_BLOCKS_FOR_ACCEPT
676 #define PREPEND_PLUS_TO_OPTSTRING
677 #define HAS_POSIX_REGEXP
679 #define NATIVE_SENDMAIL_PATH "/usr/sbin/sendmail"
680 #define NATIVE_MAILQ_PATH "/usr/bin/mailq"
681 #define NATIVE_NEWALIAS_PATH "/usr/bin/newaliases"
683 #define UNIX_DOMAIN_CONNECT_BLOCKS_FOR_ACCEPT /* unverified */
684 #define PREPEND_PLUS_TO_OPTSTRING
685 #define HAS_POSIX_REGEXP
687 #define NATIVE_SENDMAIL_PATH "/usr/sbin/sendmail"
688 #define NATIVE_MAILQ_PATH "/usr/bin/mailq"
689 #define NATIVE_NEWALIAS_PATH "/usr/bin/newaliases"
692 #define STATFS_IN_SYS_VFS_H
693 #define HAS_POSIX_REGEXP
694 +#define HAS_SHL_LOAD
695 #define NATIVE_SENDMAIL_PATH "/usr/sbin/sendmail"
696 #define NATIVE_MAILQ_PATH "/usr/bin/mailq"
697 #define NATIVE_NEWALIAS_PATH "/usr/bin/newaliases"
700 #define STATFS_IN_SYS_VFS_H
701 #define HAS_POSIX_REGEXP
702 +#define HAS_SHL_LOAD
703 #define NATIVE_SENDMAIL_PATH "/usr/sbin/sendmail"
704 #define NATIVE_MAILQ_PATH "/usr/bin/mailq"
705 #define NATIVE_NEWALIAS_PATH "/usr/bin/newaliases"
706 diff -dur postfix-2.1.3.orig/src/global/mail_dict.c postfix-2.1.3/src/global/mail_dict.c
707 --- postfix-2.1.3.orig/src/global/mail_dict.c 2004-01-04 19:53:27.000000000 +0100
708 +++ postfix-2.1.3/src/global/mail_dict.c 2004-06-22 15:47:45.259202712 +0200
711 static DICT_OPEN_INFO dict_open_info[] = {
712 DICT_TYPE_PROXY, dict_proxy_open,
714 - DICT_TYPE_LDAP, dict_ldap_open,
717 - DICT_TYPE_MYSQL, dict_mysql_open,
720 - DICT_TYPE_PGSQL, dict_pgsql_open,
726 --- postfix-2.0.16.orig/conf/dynamicmaps.cf 1970-01-01 01:00:00.000000000 +0100
727 +++ postfix-2.0.16/conf/dynamicmaps.cf 2003-11-08 19:52:14.000000000 +0100
729 +# Postfix dynamic maps configuration file.
731 +# The first match found is the one that is used. The only wildcard
732 +# allowed is '*', which matches everything. The first %s is expanded
735 +#type location of .so file name of open function
736 +#==== ================================ =====================
737 +* /usr/lib/postfix/dict_%s.so dict_%s_open