tom 2009/02/24 13:13:47 GMT
Modified files: (Branch: DEVEL_PDKIM)
exim-src Makefile
exim-src/OS Makefile-Base
exim-src/scripts MakeLinks
Added files: (Branch: DEVEL_PDKIM)
exim-src/src/pdkim Makefile README base64.c base64.h
bignum.c bignum.h bn_mul.h pdkim.c
pdkim.h rsa.c rsa.h sha1.c sha1.h sha2.c
sha2.h
Log:
Adding self-contained DKIM support
Revision Changes Path
1.5.2.1 +1 -1 exim/exim-src/Makefile
1.16.2.1 +13 -6 exim/exim-src/OS/Makefile-Base
1.14.2.1 +20 -0 exim/exim-src/scripts/MakeLinks
1.1.2.1 +22 -0 exim/exim-src/src/pdkim/Makefile (new)
1.1.2.1 +3 -0 exim/exim-src/src/pdkim/README (new)
1.1.2.1 +179 -0 exim/exim-src/src/pdkim/base64.c (new)
1.1.2.1 +74 -0 exim/exim-src/src/pdkim/base64.h (new)
1.1.2.1 +1812 -0 exim/exim-src/src/pdkim/bignum.c (new)
1.1.2.1 +393 -0 exim/exim-src/src/pdkim/bignum.h (new)
1.1.2.1 +717 -0 exim/exim-src/src/pdkim/bn_mul.h (new)
1.1.2.1 +870 -0 exim/exim-src/src/pdkim/pdkim.c (new)
1.1.2.1 +205 -0 exim/exim-src/src/pdkim/pdkim.h (new)
1.1.2.1 +751 -0 exim/exim-src/src/pdkim/rsa.c (new)
1.1.2.1 +353 -0 exim/exim-src/src/pdkim/rsa.h (new)
1.1.2.1 +423 -0 exim/exim-src/src/pdkim/sha1.c (new)
1.1.2.1 +131 -0 exim/exim-src/src/pdkim/sha1.h (new)
1.1.2.1 +430 -0 exim/exim-src/src/pdkim/sha2.c (new)
1.1.2.1 +139 -0 exim/exim-src/src/pdkim/sha2.h (new)
Index: Makefile
===================================================================
RCS file: /home/cvs/exim/exim-src/Makefile,v
retrieving revision 1.5
retrieving revision 1.5.2.1
diff -u -r1.5 -r1.5.2.1
--- Makefile 14 Feb 2008 13:49:35 -0000 1.5
+++ Makefile 24 Feb 2009 13:13:46 -0000 1.5.2.1
@@ -1,4 +1,4 @@
-# $Cambridge: exim/exim-src/Makefile,v 1.5 2008/02/14 13:49:35 fanf2 Exp $
+# $Cambridge: exim/exim-src/Makefile,v 1.5.2.1 2009/02/24 13:13:46 tom Exp $
# Top-level makefile for Exim; handles creating a build directory with
# appropriate links, and then creating and running the main makefile in that
@@ -77,7 +77,7 @@
cd build-$(buildname); \
$(RM_COMMAND) -f *.o lookups/*.o lookups/*.a auths/*.o auths/*.a \
routers/*.o routers/*.a transports/*.o transports/*.a \
- pcre/*.o pcre/*.a
+ pdkim/*.o pdkim/*.a
clean_exim:; cd build-$(buildname); \
$(RM_COMMAND) -f *.o lookups/*.o lookups/*.a auths/*.o auths/*.a \
Index: Makefile-Base
===================================================================
RCS file: /home/cvs/exim/exim-src/OS/Makefile-Base,v
retrieving revision 1.16
retrieving revision 1.16.2.1
diff -u -r1.16 -r1.16.2.1
--- Makefile-Base 20 Jan 2009 16:06:14 -0000 1.16
+++ Makefile-Base 24 Feb 2009 13:13:46 -0000 1.16.2.1
@@ -1,4 +1,4 @@
-# $Cambridge: exim/exim-src/OS/Makefile-Base,v 1.16 2009/01/20 16:06:14 fanf2 Exp $
+# $Cambridge: exim/exim-src/OS/Makefile-Base,v 1.16.2.1 2009/02/24 13:13:46 tom Exp $
# This file is the basis of the main makefile for Exim and friends. The
# makefile at the top level arranges to build the main makefile by calling
@@ -96,7 +96,7 @@
# therefore always be run, even if the files exist. This shouldn't in fact be a
# problem, but it does no harm. Other make programs will just ignore this.
-.PHONY: all allexim buildauths buildlookups buildrouters \
+.PHONY: all allexim buildauths buildlookups buildpdkim buildrouters \
buildtransports checklocalmake clean
@@ -109,7 +109,7 @@
exim_checkaccess \
exim_dbmbuild exim_dumpdb exim_fixdb exim_tidydb exim_lock \
buildlookups buildrouters buildtransports \
- buildauths exim
+ buildauths buildpdkim exim
# Targets for special-purpose configuration header builders
@@ -300,7 +300,7 @@
OBJ_WITH_CONTENT_SCAN = malware.o mime.o regex.o spam.o spool_mbox.o
OBJ_WITH_OLD_DEMIME = demime.o
-OBJ_EXPERIMENTAL = bmi_spam.o spf.o srs.o dk.o dkim-exim.o dcc.o
+OBJ_EXPERIMENTAL = bmi_spam.o spf.o srs.o dk.o dcc.o
# Targets for final binaries; the main one has a build number which is
# updated each time. We don't bother with that for the auxiliaries.
@@ -316,7 +316,7 @@
local_scan.o $(EXIM_PERL) $(OBJ_WITH_CONTENT_SCAN) \
$(OBJ_WITH_OLD_DEMIME) $(OBJ_EXPERIMENTAL)
-exim: lookups/lookups.a auths/auths.a \
+exim: lookups/lookups.a auths/auths.a pdkim/pdkim.a \
routers/routers.a transports/transports.a \
$(OBJ_EXIM) version.c
@echo " "
@@ -328,7 +328,7 @@
@echo "$(LNCC) -o exim"
$(FE)$(PURIFY) $(LNCC) -o exim $(LFLAGS) $(OBJ_EXIM) version.o \
routers/routers.a transports/transports.a lookups/lookups.a \
- auths/auths.a \
+ auths/auths.a pdkim/pdkim.a \
$(LIBRESOLV) $(LIBS) $(LIBS_EXIM) $(IPV6_LIBS) $(EXTRALIBS) \
$(EXTRALIBS_EXIM) $(DBMLIB) $(LOOKUP_LIBS) $(AUTH_LIBS) \
$(PERL_LIBS) $(TLS_LIBS) $(PCRE_LIBS) $(LDFLAGS)
@@ -600,7 +600,6 @@
spf.o: $(HDRS) spf.h spf.c
srs.o: $(HDRS) srs.h srs.c
dk.o: $(HDRS) dk.h dk.c
-dkim-exim.o: $(HDRS) dkim-exim.h dkim-exim.c
dcc.o: $(HDRS) dcc.h dcc.c
# The module containing tables of available lookups, routers, auths, and
@@ -670,6 +669,14 @@
INCLUDE="$(INCLUDE) $(IPV6_INCLUDE) $(TLS_INCLUDE)"; \
echo " "
+# The PDKIM library
+
+buildpdkim pdkim/pdkim.a: config.h
+ @cd pdkim; $(MAKE) SHELL=$(SHELL) AR="$(AR)" $(MFLAGS) CC="$(CC)" CFLAGS="$(CFLAGS)" \
+ FE="$(FE)" RANLIB="$(RANLIB)" RM_COMMAND="$(RM_COMMAND)" HDRS="$(PHDRS)" \
+ INCLUDE="$(INCLUDE) $(IPV6_INCLUDE) $(TLS_INCLUDE)"; \
+ echo " "
+
# The "clean", "install", and "makefile" targets just pass themselves back to
# the main Exim makefile. These targets will be obeyed only if "make" is obeyed
# for them in the build directory.
Index: MakeLinks
===================================================================
RCS file: /home/cvs/exim/exim-src/scripts/MakeLinks,v
retrieving revision 1.14
retrieving revision 1.14.2.1
diff -u -r1.14 -r1.14.2.1
--- MakeLinks 17 Jan 2008 13:03:35 -0000 1.14
+++ MakeLinks 24 Feb 2009 13:13:47 -0000 1.14.2.1
@@ -1,5 +1,5 @@
#!/bin/sh
-# $Cambridge: exim/exim-src/scripts/MakeLinks,v 1.14 2008/01/17 13:03:35 tom Exp $
+# $Cambridge: exim/exim-src/scripts/MakeLinks,v 1.14.2.1 2009/02/24 13:13:47 tom Exp $
# Script to build links for all the exim source files from the system-
# specific build directory. It should be run from within that directory.
@@ -189,6 +189,26 @@
ln -s ../../src/auths/spa.h spa.h
cd ..
+# Likewise for the code for the PDKIM library
+mkdir pdkim
+cd pdkim
+ln -s ../../src/pdkim/README README
+ln -s ../../src/pdkim/Makefile Makefile
+ln -s ../../src/pdkim/base64.c base64.c
+ln -s ../../src/pdkim/base64.h base64.h
+ln -s ../../src/pdkim/bignum.c bignum.c
+ln -s ../../src/pdkim/bignum.h bignum.h
+ln -s ../../src/pdkim/bn_mul.h bn_mul.h
+ln -s ../../src/pdkim/pdkim.c pdkim.c
+ln -s ../../src/pdkim/pdkim.h pdkim.h
+ln -s ../../src/pdkim/rsa.c rsa.c
+ln -s ../../src/pdkim/rsa.h rsa.h
+ln -s ../../src/pdkim/sha1.c sha1.c
+ln -s ../../src/pdkim/sha1.h sha1.h
+ln -s ../../src/pdkim/sha2.c sha2.c
+ln -s ../../src/pdkim/sha2.h sha2.h
+cd ..
+
# The basic source files for Exim and utilities. NB local_scan.h gets linked,
# but local_scan.c does not, because its location is taken from the build-time
# configuration. Likewise for the os.c file, which gets build dynamically.