]> Pileus Git - ~andy/sunrise/commitdiff
mail-filter/libdkim: New Ebuild for bug 262919 thanks to hwoarang, Tommy[D]
authorBrandon Turner (bltcoder) <bturner@bltweb.net>
Thu, 19 Mar 2009 18:49:57 +0000 (18:49 +0000)
committerBrandon Turner (bltcoder) <bturner@bltweb.net>
Thu, 19 Mar 2009 18:49:57 +0000 (18:49 +0000)
svn path=/sunrise/; revision=8115

mail-filter/libdkim/ChangeLog [new file with mode: 0644]
mail-filter/libdkim/Manifest [new file with mode: 0644]
mail-filter/libdkim/files/libdkim-extra-options.patch [new file with mode: 0644]
mail-filter/libdkim/files/libdkim-gentoo.patch [new file with mode: 0644]
mail-filter/libdkim/libdkim-1.0.19.ebuild [new file with mode: 0644]
mail-filter/libdkim/metadata.xml [new file with mode: 0644]

diff --git a/mail-filter/libdkim/ChangeLog b/mail-filter/libdkim/ChangeLog
new file mode 100644 (file)
index 0000000..f2482b5
--- /dev/null
@@ -0,0 +1,9 @@
+# ChangeLog for mail-filter/libdkim
+# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
+# $Header: $
+
+  19 Mar 2009; Brandon Turner (bltcoder) <bturner@bltweb.net>
+  +libdkim-1.0.19.ebuild, +files/libdkim-extra-options.patch,
+  +files/libdkim-gentoo.patch, +metadata.xml:
+  New Ebuild for bug 262919 thanks to hwoarang, Tommy[D]
+
diff --git a/mail-filter/libdkim/Manifest b/mail-filter/libdkim/Manifest
new file mode 100644 (file)
index 0000000..1366fb4
--- /dev/null
@@ -0,0 +1,6 @@
+AUX libdkim-extra-options.patch 2614 RMD160 e17fc80897d3918b306b63761b2b59296f71c8ba SHA1 42fe6b1ff66fad250abdd5c9ae0d57a91eff00b0 SHA256 4cc9eed6273fab56b29aede8235ead9a9441e9b2d0309a08e412d79ff9bfdc9f
+AUX libdkim-gentoo.patch 3172 RMD160 cad99f5e7ba6b607376d1836c1d961c3d7b869bf SHA1 3777a5d105a755e3bde9723e79dcaeb2a435c91f SHA256 6e456e58b8c6ea30330508e72b5a1e01260839d05dc7008f397297e75407ac30
+DIST libdkim-1.0.19.zip 55566 RMD160 33ef76ccfb7ef1cb682e2abdf1423beecf8bf180 SHA1 8704ea1b62d7dd61c4d8e96e03a7f05aa34fe675 SHA256 1935c88ea3d053ec2039114d900ac9eb5962adee10e0ec163777dfa5f3bd4eed
+EBUILD libdkim-1.0.19.ebuild 779 RMD160 be003f0292a7c59d51bd438da1bfe9b897c8ad5c SHA1 903a647a7fe0666a5fecb18fc320e54271c99b49 SHA256 260784c1ae9c0e4675c340bb85fda241afafec2db6f8d1395a32afb0cd34c6f2
+MISC ChangeLog 348 RMD160 dc811132d46370a0b8093cdae5c0c8100583a5d4 SHA1 f1de24bda34bb6bae7909dddc519697b016eb037 SHA256 b1c15326e6a386469f27302307583018d82f7148fb4faa1c40b885ca92eaff68
+MISC metadata.xml 170 RMD160 645927a396fdc21cdeb089fe42c5397332420ea6 SHA1 ac7f48a14fec325926f9ce1be8fbf1f311b4f2e4 SHA256 d797a2ec6f9dc516c9f9c1a758ee87ad3e8c43101b5dc76c2f872d5bd4639b42
diff --git a/mail-filter/libdkim/files/libdkim-extra-options.patch b/mail-filter/libdkim/files/libdkim-extra-options.patch
new file mode 100644 (file)
index 0000000..5c8a240
--- /dev/null
@@ -0,0 +1,87 @@
+diff -Naur libdkim.orig/src/libdkimtest.cpp libdkim/src/libdkimtest.cpp
+--- libdkim.orig/src/libdkimtest.cpp   2009-03-13 16:17:45.000000000 -0500
++++ libdkim/src/libdkimtest.cpp        2009-03-13 16:26:02.000000000 -0500
+@@ -55,8 +55,23 @@
+       return 0;\r
+ }\r
\r
++void usage()\r
++{\r
\r
+-\r
++      printf( "usage: libdkimtest [-b<allman|ietf|both>] [-c<r|s|t|u>] [-d<domain>] [-l] [-h] [-i<you@yourdomain.com>] [-q] [-s] [-t] [-v] [-x<expire time>] [-z<hash>] <msgfile> <privkeyfile> <outfile>\n");\r
++      printf( "-b<standard> allman , ietf or both\n");\r
++      printf( "-c<canonicalization> r for relaxed [DEFAULT], s - simple, t relaxed/simple, u - simple/relaxed\n");\r
++      printf( "-d<domain> the domain tag, if not provided it will be determined from the sender/from header\n");\r
++      printf( "-l include body length tag\n");\r
++      printf( "-h this help\n");\r
++      printf( "-i<identity> the identity, if not provided it will not be included\n");\r
++      printf( "-s sign the message\n");\r
++      printf( "-t include a timestamp tag\n");\r
++      printf( "-v verify the message\n");\r
++      printf( "-x<expire_time> the expire time in seconds since epoch ( DEFAULT = current time + 604800)\n\t if set to - then it will not be included");\r
++      printf( "-z<hash>  1 for sha1, 2 for sha256, 3 for both\n");\r
++      printf( "-y<selector> the selector tag DEFAULT=MDaemon\n");\r
++}\r
+ int main(int argc, char* argv[])\r
+ {\r
+       int n;\r
+@@ -77,7 +92,7 @@
+       time(&t);\r
\r
+       opts.nCanon = DKIM_SIGN_RELAXED;\r
+-      opts.nIncludeBodyLengthTag = 1;\r
++      opts.nIncludeBodyLengthTag = 0;\r
+       opts.nIncludeQueryMethod = 0;\r
+       opts.nIncludeTimeStamp = 0;\r
+       opts.expireTime = t + 604800;           // expires in 1 week\r
+@@ -92,6 +107,11 @@
+       int nArgParseState = 0;\r
+       bool bSign = true;\r
\r
++      if(argc<2){\r
++              usage();\r
++              exit(1);\r
++      }\r
++\r
+       for( n = 1; n < argc; n++ )\r
+       {\r
+               if( argv[n][0] == '-' && strlen(argv[n]) > 1 )\r
+@@ -121,14 +141,16 @@
+                               }\r
+                               break;\r
\r
+-\r
++                      case 'd': \r
++                              strncpy(opts.szDomain,(const char*)(argv[n]+2),sizeof(opts.szDomain)-1);\r
++                              break;\r
+                       case 'l':               // body length tag\r
+                               opts.nIncludeBodyLengthTag = 1;\r
+                               break;\r
\r
\r
+                       case 'h':\r
+-                              printf( "usage: \n" );\r
++                              usage();        \r
+                               return 0;\r
\r
+                       case 'i':               // identity \r
+@@ -138,7 +160,7 @@
+                               }\r
+                               else\r
+                               {\r
+-                                      strcpy( opts.szIdentity, argv[n] + 2 );\r
++                                      strncpy( opts.szIdentity, argv[n] + 2,sizeof(opts.szIdentity)-1 );\r
+                               }\r
+                               break;\r
\r
+@@ -169,6 +191,9 @@
+                               }\r
+                               break;\r
\r
++                      case 'y':\r
++                              strncpy( opts.szSelector, argv[n]+2, sizeof(opts.szSelector)-1);\r
++                              break;\r
\r
+                       case 'z':               // sign w/ sha1, sha256 or both \r
+                               opts.nHash = atoi( &argv[n][2] );\r
diff --git a/mail-filter/libdkim/files/libdkim-gentoo.patch b/mail-filter/libdkim/files/libdkim-gentoo.patch
new file mode 100644 (file)
index 0000000..a4437b6
--- /dev/null
@@ -0,0 +1,120 @@
+diff -Naur libdkim.orig/src/Makefile libdkim/src/Makefile
+--- libdkim.orig/src/Makefile  2009-03-17 17:06:24.000000000 -0500
++++ libdkim/src/Makefile       2009-03-17 17:07:12.000000000 -0500
+@@ -1,15 +1,10 @@
+ # libdkim makefile for UNIX\r
+ #\r
\r
+-#ifdef LINUX\r
+-CFLAGS  = -c\r
+-LFLAGS  = \r
++DESTDIR ?= /\r
++\r
++CFLAGS  += -fPIC\r
+ LIBS    = -lcrypto -lresolv\r
+-#else\r
+-CFLAGS  = -c\r
+-LFLAGS  = \r
+-LIBS    = -lcrypto \r
+-#endif\r
\r
+ INCL  =  -I /usr/include/openssl/\r
\r
+@@ -19,23 +14,34 @@
\r
+ HDRS = dkim.h dns.h dkimbase.h dkimsign.h dkimverify.h\r
\r
+-all: libdkim.a libdkimtest\r
++all: libdkim.so.1 libdkimtest\r
\r
+ libdkim.a: $(OBJS)\r
+       rm -f libdkim.a\r
+       ar cr libdkim.a $(OBJS)\r
+       ranlib libdkim.a\r
\r
+-libdkimtest : libdkim.a libdkimtest.o\r
+-      g++ -olibdkimtest $(LFLAGS) \\r
+-             -L . libdkimtest.o $(LIBS) -ldkim\r
++libdkim.so.1: $(OBJS)\r
++      $(CXX) -shared -Wl,-soname,$@.1 $(LDFLAGS) $(OBJS) -o $@ $(LIBS)\r
++      ln -s $@ libdkim.so\r
++\r
++.cpp.o:\r
++      $(CXX) $(CFLAGS) -c $<\r
++\r
++libdkimtest : libdkim.so.1 libdkimtest.o\r
++      $(CXX) -o$@ $(LDFLAGS) \\r
++             -L. libdkimtest.o $(LIBS) -ldkim\r
+       \r
+ libdkimtest.o: libdkimtest.cpp $(HDRS)\r
\r
+-.cpp.o:\r
+-      g++ $(CFLAGS) -c $<\r
\r
+ clean:\r
+-      rm  *.o libdkim.lib libdkimtest\r
++      rm -f *.o libdkim.{a,so,so.1} libdkimtest\r
++\r
++install: all\r
++      install -D -m 0755 libdkim.so.1 $(DESTDIR)/usr/lib/libdkim.so.1\r
++      ln -s libdkim.so.1 $(DESTDIR)/usr/lib/libdkim.so\r
++      install -D -m 0644 dkim.h $(DESTDIR)/usr/include/dkim.h\r
++      install -D -m 0755 libdkimtest $(DESTDIR)/usr/bin/libdkimtest\r
\r
\r
+diff -Naur libdkim.orig/src/dkim.h libdkim/src/dkim.h
+--- libdkim.orig/src/dkim.h    2009-03-17 17:06:24.000000000 -0500
++++ libdkim/src/dkim.h 2009-03-17 17:06:53.000000000 -0500
+@@ -22,7 +22,6 @@
+ #define DKIM_CALL     WINAPI\r
+ #else\r
+ #define DKIM_CALL\r
+-#define MAKELONG(a,b) ((long)(((unsigned)(a) & 0xffff) | (((unsigned)(b) & 0xffff) << 16)))\r
+ #endif\r
\r
\r
+@@ -162,6 +161,32 @@
\r
+ char *DKIM_CALL DKIMGetErrorString( int ErrorCode );\r
\r
++#ifndef _WIN32\r
++/*\r
++ * macros.h:  Useful macros\r
++ *\r
++ * Author:\r
++ *    Dick Porter (dick@ximian.com)\r
++ *\r
++ * (C) 2002 Ximian, Inc.\r
++ */\r
++#ifndef _WAPI_MACROS_H_\r
++#define _WAPI_MACROS_H_\r
++\r
++#include <sys/types.h>\r
++\r
++#define MAKEWORD(low, high) ((__uint16_t)(((__uint8_t)(low)) | \\r
++                                     ((__uint16_t)((__uint8_t)(high))) << 8))\r
++#define MAKELONG(low, high) ((__uint32_t)(((__uint16_t)(low)) | \\r
++                                     ((__uint32_t)((__uint16_t)(high))) << 16))\r
++#define LOWORD(i32) ((__uint16_t)((i32) & 0xFFFF))\r
++#define HIWORD(i32) ((__uint16_t)(((__uint32_t)(i32) >> 16) & 0xFFFF))\r
++#define LOBYTE(i16) ((__uint8_t)((i16) & 0xFF))\r
++#define HIBYTE(i16) ((__uint8_t)(((__uint16_t)(i16) >> 8) & 0xFF))\r
++\r
++#endif /* _WAPI_MACROS_H_ */\r
++#endif\r
++\r
+ #ifdef __cplusplus\r
+ }\r
+ #endif\r
+diff -Naur libdkim.orig/src/dkimsign.cpp libdkim/src/dkimsign.cpp
+--- libdkim.orig/src/dkimsign.cpp      2009-03-17 17:06:24.000000000 -0500
++++ libdkim/src/dkimsign.cpp   2009-03-17 17:06:53.000000000 -0500
+@@ -25,8 +25,6 @@
+ #else\r
+ #define _strnicmp strncasecmp \r
+ #define _stricmp strcasecmp \r
+-#define LOWORD(l) ((unsigned)(l) & 0xffff)\r
+-#define HIWORD(l) ((unsigned)(l) >> 16)\r
+ #endif\r
\r
+ #include <string.h>\r
diff --git a/mail-filter/libdkim/libdkim-1.0.19.ebuild b/mail-filter/libdkim/libdkim-1.0.19.ebuild
new file mode 100644 (file)
index 0000000..5764f52
--- /dev/null
@@ -0,0 +1,34 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI="2"
+
+inherit eutils
+
+DESCRIPTION="a library to verify and create signatures of e-mail headers"
+HOMEPAGE="http://libdkim.sourceforge.net"
+SRC_URI="mirror://sourceforge/${PN}/${P}.zip"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-libs/openssl
+       app-arch/unzip"
+RDEPEND="!mail-filter/libdkim-exim
+       dev-libs/openssl"
+
+S=${WORKDIR}/${PN}/src
+
+src_prepare() {
+       # upstream claims to be portable, but isn't very
+       epatch "${FILESDIR}/${PN}-gentoo.patch" \
+              "${FILESDIR}/${PN}-extra-options.patch"
+}
+
+src_install() {
+       emake DESTDIR="${D}" install || die "emake install failed"
+       dodoc ../README || die "Install README failed"
+}
diff --git a/mail-filter/libdkim/metadata.xml b/mail-filter/libdkim/metadata.xml
new file mode 100644 (file)
index 0000000..7e32869
--- /dev/null
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>maintainer-wanted</herd>
+</pkgmetadata>