]> git.pld-linux.org Git - packages/postfix.git/blobdiff - postfix-dynamicmaps.patch
This commit was manufactured by cvs2git to create branch 'AC-branch'.
[packages/postfix.git] / postfix-dynamicmaps.patch
diff --git a/postfix-dynamicmaps.patch b/postfix-dynamicmaps.patch
deleted file mode 100644 (file)
index dc38322..0000000
+++ /dev/null
@@ -1,709 +0,0 @@
---- postfix-2.0.16.orig/conf/dynamicmaps.cf    1970-01-01 01:00:00.000000000 +0100
-+++ postfix-2.0.16/conf/dynamicmaps.cf 2003-11-08 19:52:14.000000000 +0100
-@@ -0,0 +1,9 @@
-+# Postfix dynamic maps configuration file.
-+#
-+# The first match found is the one that is used.  The only wildcard
-+# allowed is '*', which matches everything.  The first %s is expanded
-+# to the map type.
-+#
-+#type location of .so file                    name of open function
-+#==== ================================        =====================
-+*     /usr/lib/postfix/dict_%s.so             dict_%s_open
---- postfix-2.0.16.orig/src/dns/Makefile.in    2003-09-14 02:03:59.000000000 +0200
-+++ postfix-2.0.16/src/dns/Makefile.in 2003-11-08 19:52:14.000000000 +0100
-@@ -15,7 +15,7 @@
- LIB_DIR       = ../../lib
- INC_DIR       = ../../include
--.c.o:;        $(CC) $(CFLAGS) -c $*.c
-+.c.o:;        $(CC) -fPIC $(CFLAGS) -c $*.c
- all: $(LIB)
-@@ -27,12 +27,10 @@
- tests:        test
- $(LIB):       $(OBJS)
--      $(AR) $(ARFL) $(LIB) $?
--      $(RANLIB) $(LIB)
-+      gcc -shared -Wl,-soname,libpostfix-dns.so.1 -o $(LIB) $(OBJS)
- $(LIB_DIR)/$(LIB): $(LIB)
-       cp $(LIB) $(LIB_DIR)
--      $(RANLIB) $(LIB_DIR)/$(LIB)
- update: $(LIB_DIR)/$(LIB) $(HDRS)
-       -for i in $(HDRS); \
---- postfix-2.0.16.orig/src/global/mail_conf.c 2002-01-14 17:24:35.000000000 +0100
-+++ postfix-2.0.16/src/global/mail_conf.c      2003-11-08 19:52:14.000000000 +0100
-@@ -175,6 +175,13 @@
-     path = concatenate(var_config_dir, "/", "main.cf", (char *) 0);
-     dict_load_file(CONFIG_DICT, path);
-     myfree(path);
-+
-+#ifndef NO_DYNAMIC_MAPS
-+    path = concatenate(var_config_dir, "/", "dynamicmaps.cf", (char *) 0);
-+    dict_open_dlinfo(path);
-+    myfree(path);
-+#endif
-+
- }
- /* mail_conf_eval - expand macros in string */
---- postfix-2.0.16.orig/src/global/mail_params.c       2003-11-08 19:49:41.000000000 +0100
-+++ postfix-2.0.16/src/global/mail_params.c    2003-11-08 19:52:14.000000000 +0100
-@@ -148,6 +148,8 @@
- #ifdef HAS_DB
- #include <dict_db.h>
- #endif
-+#include <safe_open.h>
-+#include <mymalloc.h>
- /* Global library. */
-@@ -257,6 +259,7 @@
- char   *var_debug_peer_list;
- int     var_debug_peer_level;
- char   *var_reject_reply_msg_access_denied;
-+int     var_command_maxtime;
- int     var_fault_inj_code;
- char   *var_bounce_service;
- char   *var_cleanup_service;
-@@ -439,6 +442,38 @@
-                 (long) var_sgid_gid);
- }
-+static char *read_file(const char *name)
-+{
-+    char *ret;
-+    VSTRING *why=vstring_alloc(1);
-+    VSTRING *new_name=vstring_alloc(1);
-+    VSTREAM *vp=safe_open(name, O_RDONLY, 0, NULL, -1, -1, why);
-+
-+    /*
-+     * Ugly macros to make complex expressions less unreadable.
-+     */
-+#define SKIP(start, var, cond) \
-+      for (var = start; *var && (cond); var++);
-+
-+#define TRIM(s) { \
-+      char *p; \
-+      for (p = (s) + strlen(s); p > (s) && ISSPACE(p[-1]); p--); \
-+      *p = 0; \
-+    }
-+
-+    if (!vp) {
-+      msg_fatal("%s: unable to open: %s",name,vstring_str(why));
-+    }
-+    vstring_get_nonl(new_name,vp);
-+    vstream_fclose(vp);
-+    SKIP(vstring_str(new_name),ret,ISSPACE(*ret));
-+    ret=mystrdup(ret);
-+    TRIM(ret);
-+    vstring_free(why);
-+    vstring_free(new_name);
-+    return ret;
-+}
-+
- /* mail_params_init - configure built-in parameters */
- void    mail_params_init()
-@@ -601,6 +636,9 @@
-      * Variables that are needed by almost every program.
-      */
-     get_mail_conf_str_table(other_str_defaults);
-+    if (*var_myorigin=='/') {
-+      var_myorigin=read_file(var_myorigin);
-+    }
-     get_mail_conf_int_table(other_int_defaults);
-     get_mail_conf_bool_table(bool_defaults);
-     get_mail_conf_time_table(time_defaults);
---- postfix-2.0.16.orig/src/global/Makefile.in 2003-11-08 19:49:41.000000000 +0100
-+++ postfix-2.0.16/src/global/Makefile.in      2003-11-08 19:52:14.000000000 +0100
-@@ -83,8 +83,9 @@
- LIB_DIR       = ../../lib
- INC_DIR       = ../../include
- MAKES =
-+LDAPSO  = dict_ldap.so
--.c.o:;        $(CC) $(CFLAGS) -c $*.c
-+.c.o:;        $(CC) -fPIC $(CFLAGS) -c $*.c
- all: $(LIB)
-@@ -94,14 +95,21 @@
- test: $(TESTPROG)
- $(LIB):       $(OBJS)
--      $(AR) $(ARFL) $(LIB) $?
--      $(RANLIB) $(LIB)
-+      gcc -shared -Wl,-soname,libpostfix-global.so.1 -o $(LIB) $(OBJS)
-+
-+$(LDAPSO): dict_ldap.o
-+      gcc -shared -Wl,-soname,dict_ldap.so -o $@ $? -lldap -llber -L../../lib -lutil -L. -lglobal
-+
-+dict_ldap.c:  ../util/dict_ldap.c
-+      ln -f $? $@
- $(LIB_DIR)/$(LIB): $(LIB)
-       cp $(LIB) $(LIB_DIR)
--      $(RANLIB) $(LIB_DIR)/$(LIB)
--update: $(LIB_DIR)/$(LIB) $(HDRS)
-+$(LIB_DIR)/$(LDAPSO): $(LDAPSO)
-+      cp $(LDAPSO) $(LIB_DIR)
-+
-+update: $(LIB_DIR)/$(LIB) $(LIB_DIR)/${LDAPSO} $(HDRS)
-       -for i in $(HDRS); \
-       do \
-         cmp -s $$i $(INC_DIR)/$$i 2>/dev/null || cp $$i $(INC_DIR); \
-@@ -333,7 +341,7 @@
-       lint $(DEFS) $(SRCS) $(LINTFIX)
- clean:
--      rm -f *.o $(LIB) *core $(TESTPROG) junk
-+      rm -f *.o $(LIB) $(LDAPSO) dict_ldap.c *core $(TESTPROG) junk
-       rm -rf printfck
- tidy: clean
-@@ -508,6 +516,8 @@
- dict_proxy.o: mail_params.h
- dict_proxy.o: clnt_stream.h
- dict_proxy.o: dict_proxy.h
-+dict_ldap.o: dict_ldap.c
-+dict_ldap.o: ../../include/sys_defs.h
- domain_list.o: domain_list.c
- domain_list.o: ../../include/sys_defs.h
- domain_list.o: ../../include/match_list.h
---- postfix-2.0.16.orig/src/master/Makefile.in 2003-09-14 02:04:02.000000000 +0200
-+++ postfix-2.0.16/src/master/Makefile.in      2003-11-08 19:52:14.000000000 +0100
-@@ -23,7 +23,7 @@
- INC_DIR       = ../../include
- BIN_DIR       = ../../libexec
--.c.o:;        $(CC) $(CFLAGS) -c $*.c
-+.c.o:;        $(CC) `for i in $(LIB_OBJ); do [ $$i = $@ ] && echo -fPIC; done` $(CFLAGS) -c $*.c
- all:  $(PROG) $(LIB)
-@@ -38,12 +38,10 @@
- tests:        test
- $(LIB):       $(LIB_OBJ)
--      $(AR) $(ARFL) $(LIB) $?
--      $(RANLIB) $(LIB)
-+      gcc -shared -Wl,-soname,libpostfix-master.so.1 -o $(LIB) $(LIB_OBJ)
- $(LIB_DIR)/$(LIB): $(LIB)
-       cp $(LIB) $(LIB_DIR)/$(LIB)
--      $(RANLIB) $(LIB_DIR)/$(LIB)
- $(BIN_DIR)/$(PROG): $(PROG)
-        cp $(PROG) $(BIN_DIR)
---- postfix-2.0.16.orig/src/util/dict.h        2003-01-05 02:03:28.000000000 +0100
-+++ postfix-2.0.16/src/util/dict.h     2003-11-08 19:52:14.000000000 +0100
-@@ -80,6 +80,20 @@
-   */
- extern ARGV *dict_mapnames(void);
-+#ifndef NO_DYNAMIC_MAPS
-+ /*
-+  * Interface for dynamic map loading.
-+  */
-+typedef struct {
-+    const char  *pattern;
-+    const char  *soname;
-+    const char  *openfunc;
-+} DLINFO;
-+
-+extern void dict_open_dlinfo(const char *path);
-+extern DLINFO *dict_open_dlfind(const char *type);
-+#endif
-+
-  /*
-   * High-level interface, with logical dictionary names.
-   */
---- postfix-2.0.16.orig/src/util/dict_open.c   2003-11-08 19:49:41.000000000 +0100
-+++ postfix-2.0.16/src/util/dict_open.c        2003-11-08 19:52:14.000000000 +0100
-@@ -158,6 +158,9 @@
- #include <strings.h>
- #endif
-+#include <sys/stat.h>
-+#include <unistd.h>
-+
- /* Utility library. */
- #include <argv.h>
-@@ -182,6 +185,14 @@
- #include <split_at.h>
- #include <htable.h>
-+#ifndef NO_DYNAMIC_MAPS
-+#include <load_lib.h>
-+#include <vstring.h>
-+#include <vstream.h>
-+#include <vstring_vstream.h>
-+#include <mvect.h>
-+#endif
-+
-  /*
-   * lookup table for available map types.
-   */
-@@ -213,6 +224,7 @@
- #ifdef HAS_NETINFO
-     DICT_TYPE_NETINFO, dict_ni_open,
- #endif
-+#ifndef MAX_DYNAMIC_MAPS
- #ifdef HAS_LDAP
-     DICT_TYPE_LDAP, dict_ldap_open,
- #endif
-@@ -222,6 +234,7 @@
- #ifdef HAS_PCRE
-     DICT_TYPE_PCRE, dict_pcre_open,
- #endif
-+#endif /* MAX_DYNAMIC_MAPS */
- #ifdef HAS_POSIX_REGEXP
-     DICT_TYPE_REGEXP, dict_regexp_open,
- #endif
-@@ -275,8 +288,38 @@
-     if (dict_open_hash == 0)
-       dict_open_init();
--    if ((dp = (DICT_OPEN_INFO *) htable_find(dict_open_hash, dict_type)) == 0)
--      msg_fatal("unsupported dictionary type: %s", dict_type);
-+    if ((dp = (DICT_OPEN_INFO *) htable_find(dict_open_hash, dict_type)) == 0) {
-+#ifndef NO_DYNAMIC_MAPS
-+      struct stat st;
-+      VSTRING *lib, *func;
-+      LIB_FN fn[2];
-+      DICT *(*open) (const char *, int, int);
-+      DLINFO *dl=dict_open_dlfind(dict_type);
-+      if (!dl)
-+#endif
-+          msg_fatal("%s: unsupported dictionary type: %s", myname, dict_type);
-+#ifndef NO_DYNAMIC_MAPS
-+      lib=vstring_alloc(1);
-+      vstring_sprintf(lib,dl->soname,dict_type);
-+      if (stat(vstring_str(lib),&st) < 0) {
-+          msg_fatal("%s: unsupported dictionary type: %s (%s not found.  Is the postfix-%s package installed?)",
-+              myname, dict_type, vstring_str(lib), dict_type);
-+      }
-+      func=vstring_alloc(1);
-+      vstring_sprintf(func,dl->openfunc,dict_type);
-+      fn[0].name = vstring_str(func);
-+      fn[0].ptr  = (void**)&open;
-+      fn[1].name = NULL;
-+      load_library_symbols(vstring_str(lib), fn, NULL);
-+      dict_open_register(dict_type, open);
-+      dp = (DICT_OPEN_INFO *) htable_find(dict_open_hash, dict_type);
-+      vstring_free(lib);
-+      vstring_free(func);
-+#endif
-+    }
-+    if (msg_verbose>1) {
-+      msg_info("%s: calling %s open routine",myname,dict_type);
-+    }
-     if ((dict = dp->open(dict_name, open_flags, dict_flags)) == 0)
-       msg_fatal("opening %s:%s %m", dict_type, dict_name);
-     if (msg_verbose)
-@@ -323,6 +366,76 @@
-     return mapnames;
- }
-+#ifndef NO_DYNAMIC_MAPS
-+static DLINFO  *dict_dlinfo;
-+
-+void dict_open_dlinfo(const char *path)
-+{
-+    char    *myname="dict_open_dlinfo";
-+    VSTREAM *conf_fp=vstream_fopen(path,O_RDONLY,0);
-+    VSTRING *buf = vstring_alloc(100);
-+    char    *cp;
-+    ARGV    *argv;
-+    MVECT    vector;
-+    int      nelm=0;
-+    int      linenum=0;
-+
-+    dict_dlinfo=(DLINFO*)mvect_alloc(&vector,sizeof(DLINFO),3,NULL,NULL);
-+
-+    if (!conf_fp) {
-+      msg_warn("%s: cannot open %s.  No dynamic maps will be allowed.",
-+              myname, path);
-+    } else {
-+      while (vstring_get_nonl(buf,conf_fp) != VSTREAM_EOF) {
-+          cp = vstring_str(buf);
-+          linenum++;
-+          if (*cp == '#' || *cp == '\0')
-+              continue;
-+          argv = argv_split(cp, " \t");
-+          if (argv->argc != 3) {
-+              msg_fatal("%s: Expected \"pattern .so-name function\" at line %d",
-+                        myname, linenum);
-+          }
-+          if (argv->argv[1][0] != '/') {
-+              msg_fatal("%s: .so name must begin with a \"/\" at line %d",
-+                        myname, linenum);
-+          }
-+          if (nelm >= vector.nelm) {
-+              dict_dlinfo=(DLINFO*)mvect_realloc(&vector,vector.nelm+3);
-+          }
-+          dict_dlinfo[nelm].pattern  = mystrdup(argv->argv[0]);
-+          dict_dlinfo[nelm].soname   = mystrdup(argv->argv[1]);
-+          dict_dlinfo[nelm].openfunc = mystrdup(argv->argv[2]);
-+          nelm++;
-+          argv_free(argv);
-+      }
-+    }
-+    if (nelm >= vector.nelm) {
-+      dict_dlinfo=(DLINFO*)mvect_realloc(&vector,vector.nelm+1);
-+    }
-+    dict_dlinfo[nelm].pattern  = NULL;
-+    dict_dlinfo[nelm].soname   = NULL;
-+    dict_dlinfo[nelm].openfunc = NULL;
-+    if (conf_fp)
-+      vstream_fclose(conf_fp);
-+    vstring_free(buf);
-+}
-+
-+DLINFO *dict_open_dlfind(const char *type)
-+{
-+    DLINFO *dp;
-+
-+    if (!dict_dlinfo)
-+      return NULL;
-+
-+    for (dp=dict_dlinfo; dp->pattern; dp++) {
-+      if (strcmp(dp->pattern,type)==0 || strcmp(dp->pattern,"*")==0)
-+          return dp;
-+    }
-+    return NULL;
-+}
-+#endif /* !NO_DYNAMIC_MAPS */
-+
- #ifdef TEST
-  /*
---- postfix-2.0.16.orig/src/util/load_lib.c    1970-01-01 01:00:00.000000000 +0100
-+++ postfix-2.0.16/src/util/load_lib.c 2003-11-08 19:52:14.000000000 +0100
-@@ -0,0 +1,135 @@
-+/*++
-+/* NAME
-+/*    load_lib 3
-+/* SUMMARY
-+/*    library loading wrappers
-+/* SYNOPSIS
-+/*    #include <load_lib.h>
-+/*
-+/*    extern int  load_library_symbols(const char *, LIB_FN *, LIB_FN *);
-+/*    const char *libname;
-+/*      LIB_FN     *libfuncs;
-+/*      LIB_FN     *libdata;
-+/*
-+/* DESCRIPTION
-+/*    This module loads functions from libraries, returnine pointers
-+/*    to the named functions.
-+/*
-+/*    load_library_symbols() loads all of the desired functions, and
-+/*    returns zero for success, or exits via msg_fatal().
-+/*
-+/* SEE ALSO
-+/*    msg(3) diagnostics interface
-+/* DIAGNOSTICS
-+/*    Problems are reported via the msg(3) diagnostics routines:
-+/*    library not found, symbols not found, other fatal errors.
-+/* LICENSE
-+/* .ad
-+/* .fi
-+/*    The Secure Mailer license must be distributed with this software.
-+/* AUTHOR(S)
-+/*    LaMont Jones
-+/*    Hewlett-Packard Company
-+/*    3404 Harmony Road
-+/*    Fort Collins, CO 80528, USA
-+/*
-+/*    Wietse Venema
-+/*    IBM T.J. Watson Research
-+/*    P.O. Box 704
-+/*    Yorktown Heights, NY 10598, USA
-+/*--*/
-+
-+/* System libraries. */
-+
-+#include "sys_defs.h"
-+#include <stdlib.h>
-+#include <stddef.h>
-+#include <string.h>
-+#if defined(HAS_DLOPEN)
-+#include <dlfcn.h>
-+#elif defined(HAS_SHL_LOAD)
-+#include <dl.h>
-+#endif
-+
-+/* Application-specific. */
-+
-+#include "msg.h"
-+#include "load_lib.h"
-+
-+extern int  load_library_symbols(const char * libname, LIB_FN * libfuncs, LIB_FN * libdata)
-+{
-+    char   *myname = "load_library_symbols";
-+    LIB_FN *fn;
-+
-+#if defined(HAS_DLOPEN)
-+    void   *handle;
-+    char   *emsg;
-+
-+    handle=dlopen(libname,RTLD_NOW);
-+    emsg=dlerror();
-+    if (emsg) {
-+      msg_fatal("%s: dlopen failure loading %s: %s", myname, libname, emsg);
-+    }
-+
-+    if (libfuncs) {
-+      for (fn=libfuncs; fn->name; fn++) {
-+          *(fn->ptr) = dlsym(handle,fn->name);
-+          emsg=dlerror();
-+          if (emsg) {
-+              msg_fatal("%s: dlsym failure looking up %s in %s: %s", myname,
-+                        fn->name, libname, emsg);
-+          }
-+          if (msg_verbose>1) {
-+              msg_info("loaded %s = %lx",fn->name, *((long*)(fn->ptr)));
-+          }
-+      }
-+    }
-+
-+    if (libdata) {
-+      for (fn=libdata; fn->name; fn++) {
-+          *(fn->ptr) = dlsym(handle,fn->name);
-+          emsg=dlerror();
-+          if (emsg) {
-+              msg_fatal("%s: dlsym failure looking up %s in %s: %s", myname,
-+                        fn->name, libname, emsg);
-+          }
-+          if (msg_verbose>1) {
-+              msg_info("loaded %s = %lx",fn->name, *((long*)(fn->ptr)));
-+          }
-+      }
-+    }
-+#elif defined(HAS_SHL_LOAD)
-+    shl_t   handle;
-+
-+    handle = shl_load(libname,BIND_IMMEDIATE,0);
-+
-+    if (libfuncs) {
-+      for (fn=libfuncs; fn->name; fn++) {
-+          if (shl_findsym(&handle,fn->name,TYPE_PROCEDURE,fn->ptr) != 0) {
-+              msg_fatal("%s: shl_findsym failure looking up %s in %s: %m",
-+                        myname, fn->name, libname);
-+          }
-+          if (msg_verbose>1) {
-+              msg_info("loaded %s = %x",fn->name, *((long*)(fn->ptr)));
-+          }
-+      }
-+    }
-+
-+    if (libdata) {
-+      for (fn=libdata; fn->name; fn++) {
-+          if (shl_findsym(&handle,fn->name,TYPE_DATA,fn->ptr) != 0) {
-+              msg_fatal("%s: shl_findsym failure looking up %s in %s: %m",
-+                        myname, fn->name, libname);
-+          }
-+          if (msg_verbose>1) {
-+              msg_info("loaded %s = %x",fn->name, *((long*)(fn->ptr)));
-+          }
-+      }
-+    }
-+
-+#else
-+    msg_fatal("%s: need dlopen or shl_load support for dynamic libraries",
-+              myname);
-+#endif
-+    return 0;
-+}
---- postfix-2.0.16.orig/src/util/load_lib.h    1970-01-01 01:00:00.000000000 +0100
-+++ postfix-2.0.16/src/util/load_lib.h 2003-11-08 19:52:14.000000000 +0100
-@@ -0,0 +1,41 @@
-+#ifndef _LOAD_LIB_H_INCLUDED_
-+#define _LOAD_LIB_H_INCLUDED_
-+
-+/*++
-+/* NAME
-+/*    load_lib 3h
-+/* SUMMARY
-+/*    library loading wrappers
-+/* SYNOPSIS
-+/*    #include "load_lib.h"
-+/* DESCRIPTION
-+/* .nf
-+
-+ /*
-+  * External interface.
-+  */
-+/* NULL name terminates list */
-+typedef struct LIB_FN {
-+    const char *name;
-+    void       **ptr;
-+} LIB_FN;
-+
-+extern int  load_library_symbols(const char *, LIB_FN *, LIB_FN *);
-+
-+/* LICENSE
-+/* .ad
-+/* .fi
-+/*    The Secure Mailer license must be distributed with this software.
-+/* AUTHOR(S)
-+/*    LaMont Jones
-+/*    Hewlett-Packard Company
-+/*    3404 Harmony Road
-+/*    Fort Collins, CO 80528, USA
-+/*
-+/*    Wietse Venema
-+/*    IBM T.J. Watson Research
-+/*    P.O. Box 704
-+/*    Yorktown Heights, NY 10598, USA
-+/*--*/
-+
-+#endif
---- postfix-2.0.16.orig/src/util/Makefile.in   2003-11-08 19:49:41.000000000 +0100
-+++ postfix-2.0.16/src/util/Makefile.in        2003-11-08 19:55:55.000000000 +0100
-@@ -3,7 +3,7 @@
-       attr_scan0.c attr_scan64.c base64_code.c basename.c binhash.c \
-       chroot_uid.c clean_env.c close_on_exec.c concatenate.c ctable.c \
-       dict.c dict_alloc.c dict_db.c dict_dbm.c dict_debug.c dict_env.c \
--      dict_ht.c dict_ldap.c dict_mysql.c dict_ni.c dict_nis.c \
-+      dict_ht.c dict_mysql.c dict_ni.c dict_nis.c \
-       dict_nisplus.c dict_open.c dict_pcre.c dict_regexp.c dict_static.c \
-       dict_tcp.c dict_unix.c dir_forest.c doze.c duplex_pipe.c \
-       environ.c events.c exec_command.c fifo_listen.c fifo_trigger.c \
-@@ -27,13 +27,13 @@
-       valid_hostname.c vbuf.c vbuf_print.c vstream.c vstream_popen.c \
-       vstring.c vstring_vstream.c watchdog.c writable.c write_buf.c \
-       write_wait.c strcasecmp.c nvtable.c host_port.c sane_connect.c \
--      dict_sdbm.c sdbm.c
-+      dict_sdbm.c sdbm.c load_lib.c
- OBJS  = alldig.o argv.o argv_split.o attr_print0.o attr_print64.o \
-       attr_scan0.o attr_scan64.o base64_code.o basename.o binhash.o \
-       chroot_uid.o clean_env.o close_on_exec.o concatenate.o ctable.o \
-       dict.o dict_alloc.o dict_db.o dict_dbm.o dict_debug.o dict_env.o \
--      dict_ht.o dict_ldap.o dict_mysql.o dict_ni.o dict_nis.o \
--      dict_nisplus.o dict_open.o dict_pcre.o dict_regexp.o dict_static.o \
-+      dict_ht.o dict_ni.o dict_nis.o \
-+      dict_nisplus.o dict_open.o dict_regexp.o dict_static.o \
-       dict_tcp.o dict_unix.o dir_forest.o doze.o duplex_pipe.o \
-       environ.o events.o exec_command.o fifo_listen.o fifo_trigger.o \
-       file_limit.o find_inet.o fsspace.o fullname.o get_domainname.o \
-@@ -56,7 +56,7 @@
-       valid_hostname.o vbuf.o vbuf_print.o vstream.o vstream_popen.o \
-       vstring.o vstring_vstream.o watchdog.o writable.o write_buf.o \
-       write_wait.o nvtable.o host_port.o sane_connect.o $(STRCASE) \
--      dict_sdbm.o sdbm.o
-+      dict_sdbm.o sdbm.o load_lib.o
- HDRS  = argv.h attr.h base64_code.h binhash.h chroot_uid.h clean_env.h \
-       connect.h ctable.h dict.h dict_db.h dict_dbm.h dict_env.h \
-       dict_ht.h dict_ldap.h dict_mysql.h dict_ni.h dict_nis.h \
-@@ -75,7 +75,7 @@
-       timed_wait.h trigger.h username.h valid_hostname.h vbuf.h \
-       vbuf_print.h vstream.h vstring.h vstring_vstream.h watchdog.h \
-       nvtable.h host_port.h sane_connect.h \
--      dict_sdbm.h sdbm.h
-+      dict_sdbm.h sdbm.h load_lib.h
- TESTSRC       = fifo_open.c fifo_rdwr_bug.c fifo_rdonly_bug.c select_bug.c \
-       stream_test.c dup2_pass_on_exec.c
- WARN  = -W -Wformat -Wimplicit -Wmissing-prototypes \
-@@ -84,6 +84,8 @@
- CFLAGS        = $(DEBUG) $(OPT) $(DEFS)
- FILES = Makefile $(SRCS) $(HDRS)
- INCL  =
-+PCRESO  = dict_pcre.so
-+MYSQLSO = dict_mysql.so
- LIB   = libutil.a
- TESTPROG= dict_open dup2_pass_on_exec events exec_command fifo_open \
-       fifo_rdonly_bug fifo_rdwr_bug fifo_trigger fsspace fullname \
-@@ -96,8 +98,9 @@
- LIB_DIR       = ../../lib
- INC_DIR       = ../../include
-+LIBS    = $(LIB_DIR)/$(LIB) $(LIB_DIR)/$(PCRESO) $(LIB_DIR)/$(MYSQLSO)
--.c.o:;        $(CC) $(CFLAGS) -c $*.c
-+.c.o:;        $(CC) -fPIC $(CFLAGS) -c $*.c
- all: $(LIB)
-@@ -106,15 +109,25 @@
- test: $(TESTPROG)
-+$(PCRESO): dict_pcre.o
-+      gcc -shared -Wl,-soname,dict_pcre.so -o $@ $? -lpcre -L. -lutil
-+
-+$(MYSQLSO): dict_mysql.o
-+      gcc -shared -Wl,-soname,dict_mysql.so -o $@ $? -lmysqlclient -L. -lutil
-+
- $(LIB):       $(OBJS)
--      $(AR) $(ARFL) $(LIB) $?
--      $(RANLIB) $(LIB)
-+      gcc -shared -Wl,-soname,libpostfix-util.so.1 -o $(LIB) $(OBJS) -ldl
- $(LIB_DIR)/$(LIB): $(LIB)
-       cp $(LIB) $(LIB_DIR)
--      $(RANLIB) $(LIB_DIR)/$(LIB)
--update: $(LIB_DIR)/$(LIB) $(HDRS)
-+$(LIB_DIR)/$(PCRESO): $(PCRESO)
-+      cp $(PCRESO) $(LIB_DIR)
-+
-+$(LIB_DIR)/$(MYSQLSO): $(MYSQLSO)
-+      cp $(MYSQLSO) $(LIB_DIR)
-+
-+update: $(LIBS) $(HDRS)
-       -for i in $(HDRS); \
-       do \
-         cmp -s $$i $(INC_DIR)/$$i 2>/dev/null || cp $$i $(INC_DIR); \
-@@ -136,7 +149,8 @@
-       lint $(SRCS)
- clean:
--      rm -f *.o $(LIB) *core $(TESTPROG) junk $(MAKES) *.tmp
-+      rm -f *.o $(LIB) $(PCRESO) $(MYSQLSO) *core $(TESTPROG) \
-+              junk $(MAKES) *.tmp
-       rm -rf printfck
- tidy: clean
---- postfix-2.0.16.orig/src/util/sys_defs.h    2003-11-08 19:49:41.000000000 +0100
-+++ postfix-2.0.16/src/util/sys_defs.h 2003-11-08 19:52:14.000000000 +0100
-@@ -501,6 +501,7 @@
- #define UNIX_DOMAIN_CONNECT_BLOCKS_FOR_ACCEPT
- #define PREPEND_PLUS_TO_OPTSTRING
- #define HAS_POSIX_REGEXP
-+#define HAS_DLOPEN
- #define NATIVE_SENDMAIL_PATH "/usr/sbin/sendmail"
- #define NATIVE_MAILQ_PATH "/usr/bin/mailq"
- #define NATIVE_NEWALIAS_PATH "/usr/bin/newaliases"
-@@ -529,6 +530,7 @@
- #define UNIX_DOMAIN_CONNECT_BLOCKS_FOR_ACCEPT /* unverified */
- #define PREPEND_PLUS_TO_OPTSTRING
- #define HAS_POSIX_REGEXP
-+#define HAS_DLOPEN
- #define NATIVE_SENDMAIL_PATH "/usr/sbin/sendmail"
- #define NATIVE_MAILQ_PATH "/usr/bin/mailq"
- #define NATIVE_NEWALIAS_PATH "/usr/bin/newaliases"
-@@ -567,6 +569,7 @@
- #define USE_STATFS
- #define STATFS_IN_SYS_VFS_H
- #define HAS_POSIX_REGEXP
-+#define HAS_SHL_LOAD
- #define NATIVE_SENDMAIL_PATH "/usr/sbin/sendmail"
- #define NATIVE_MAILQ_PATH "/usr/bin/mailq"
- #define NATIVE_NEWALIAS_PATH "/usr/bin/newaliases"
-@@ -602,6 +605,7 @@
- #define USE_STATFS
- #define STATFS_IN_SYS_VFS_H
- #define HAS_POSIX_REGEXP
-+#define HAS_SHL_LOAD
- #define NATIVE_SENDMAIL_PATH "/usr/sbin/sendmail"
- #define NATIVE_MAILQ_PATH "/usr/bin/mailq"
- #define NATIVE_NEWALIAS_PATH "/usr/bin/newaliases"
This page took 0.067923 seconds and 4 git commands to generate.