mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-08-24 06:48:18 -07:00
mail-filter/libdkim: Remove last-rited pkg
Closes: https://bugs.gentoo.org/674892 Signed-off-by: Michał Górny <mgorny@gentoo.org>
This commit is contained in:
@@ -1 +0,0 @@
|
||||
DIST libdkim-1.0.21.zip 55049 BLAKE2B f7481bc41a2f43357a67aa9f6e251634f1c2850fd1dfe3c4a4e0ea64341a3625ff0e393e039d679784c8c1ce349ee7063511f988ff6cf6d5b7acfc7c9633f9da SHA512 3996c64398151dc9c07d357e8f3ac9b94e3c8d06ce5d83ebbe546416f361349d869b0b73216f28d0b732319731f31e61afd9eab0f540471760b944a90130a094
|
||||
@@ -1,93 +0,0 @@
|
||||
# libdkim makefile for UNIX
|
||||
#
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
prefix = @prefix@
|
||||
exec_prefix = @exec_prefix@
|
||||
bindir = @bindir@
|
||||
libdir = @libdir@
|
||||
includedir = @includedir@
|
||||
|
||||
OBJEXT = @OBJEXT@
|
||||
LIBS = @LIBS@ @libcrypto_LIBS@
|
||||
|
||||
CC = @CC@
|
||||
CXX = @CXX@
|
||||
|
||||
CFLAGS = @CFLAGS@
|
||||
CXXFLAGS = @CXXFLAGS@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
|
||||
INCL =
|
||||
LDFLAGS = @LDFLAGS@
|
||||
|
||||
libdkim_SOURCES = dkim.cpp dns.cpp dkimbase.cpp dkimsign.cpp dkimverify.cpp
|
||||
HEADERS = dkim.h dns.h dkimbase.h dkimsign.h dkimverify.h
|
||||
|
||||
libdkim_OBJS = $(libdkim_SOURCES:.cpp=.$(OBJEXT))
|
||||
libdkim_PURE_OBJS = $(libdkim_SOURCES:.cpp=.p$(OBJEXT))
|
||||
|
||||
libdkimtest_SOURCES = libdkimtest.cpp
|
||||
libdkimtest_OBJS = libdkimtest.$(OBJEXT)
|
||||
|
||||
SHLIBFORLINK = libdkim.so
|
||||
SHLIBSONAME = $(SHLIBFORLINK).$(SHLIBMAJOR)
|
||||
SHLIBTARGET = $(SHLIBFORLINK)
|
||||
SHLIBLINK = $(CXX) $(LDFLAGS) -shared -Wl,-soname=$(SHLIBSONAME) -Wl,-version-script=libdkim.ver
|
||||
SHLIBMAJOR = 1d
|
||||
SHLIBMINOR = 1
|
||||
SHLIBFILE = $(SHLIBSONAME).$(SHLIBMINOR)
|
||||
SHLIBCFLAGS = -fPIC
|
||||
|
||||
ARFLAGS = crs
|
||||
|
||||
TARGETS = libdkim.a $(SHLIBTARGET) libdkimtest
|
||||
|
||||
all: $(TARGETS)
|
||||
|
||||
libdkim.a: $(libdkim_OBJS)
|
||||
-rm -f $@
|
||||
$(AR) $(ARFLAGS) $@ $(libdkim_OBJS)
|
||||
|
||||
$(SHLIBFORLINK): $(libdkim_PURE_OBJS)
|
||||
$(SHLIBLINK) -o $@ $(libdkim_PURE_OBJS) $(LIBS)
|
||||
-mkdir .lib 2>/dev/null
|
||||
[ -z "$(SHLIBSONAME)" ] || (cd .lib \
|
||||
&& ln -sf ../$(SHLIBFORLINK) $(SHLIBSONAME))
|
||||
|
||||
libdkimtest: $(libdkimtest_OBJS) $(SHLIBFORLINK)
|
||||
$(CXX) ${LDFLAGS} -L. -o $@ libdkimtest.o -ldkim $(LIBS)
|
||||
|
||||
libdkimtest.o: $(libdkimtest_SOURCES) $(HDRS)
|
||||
$(CXX) $(CXXFLAGS) -o $@ -c $<
|
||||
|
||||
%.$(OBJEXT): %.cpp $(HDRS)
|
||||
$(CXX) $(CXXFLAGS) -o $@ -c $<
|
||||
|
||||
%.p$(OBJEXT): %.cpp $(HDRS)
|
||||
$(CXX) $(SHLIBCFLAGS) $(CXXFLAGS) -o $@ -c $<
|
||||
|
||||
clean:
|
||||
-rm -f *.$(OBJEXT) *.p$(OBJEXT) $(TARGETS)
|
||||
-rm -rf .lib
|
||||
|
||||
distclean: clean
|
||||
-rm -f config.status config.log Makefile libdkim.pc
|
||||
|
||||
install: all
|
||||
install -m 755 -d $(DESTDIR)$(libdir)
|
||||
install -m 755 -d $(DESTDIR)$(libdir)/pkgconfig
|
||||
install -m 755 -d $(DESTDIR)$(includedir)
|
||||
install -m 644 libdkim.a $(DESTDIR)$(libdir)
|
||||
install -m 755 $(SHLIBFORLINK) $(DESTDIR)$(libdir)/$(SHLIBFILE)
|
||||
[ -z "$(SHLIBSONAME)" ] \
|
||||
|| (cd $(DESTDIR)$(libdir) \
|
||||
&& ln -sf $(SHLIBFILE) $(SHLIBSONAME) \
|
||||
&& ln -sf $(SHLIBFILE) $(SHLIBFORLINK) )
|
||||
install -m 644 $(srcdir)/dkim.h $(DESTDIR)$(includedir)
|
||||
install -m 644 libdkim.pc $(DESTDIR)$(libdir)/pkgconfig
|
||||
install -m 755 -d $(DESTDIR)$(bindir)
|
||||
install -m 755 libdkimtest $(DESTDIR)$(bindir)
|
||||
|
||||
.PHONY: all install clean distclean
|
||||
171
mail-filter/libdkim/files/debianize/aclocal.m4
vendored
171
mail-filter/libdkim/files/debianize/aclocal.m4
vendored
@@ -1,171 +0,0 @@
|
||||
# generated automatically by aclocal 1.9.6 -*- Autoconf -*-
|
||||
|
||||
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
|
||||
# 2005 Free Software Foundation, Inc.
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
|
||||
#
|
||||
# Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
#
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
# configuration script generated by Autoconf, you may include it under
|
||||
# the same distribution terms that you use for the rest of that program.
|
||||
|
||||
# PKG_PROG_PKG_CONFIG([MIN-VERSION])
|
||||
# ----------------------------------
|
||||
AC_DEFUN([PKG_PROG_PKG_CONFIG],
|
||||
[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
|
||||
m4_pattern_allow([^PKG_CONFIG(_PATH)?$])
|
||||
AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl
|
||||
if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
|
||||
AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
|
||||
fi
|
||||
if test -n "$PKG_CONFIG"; then
|
||||
_pkg_min_version=m4_default([$1], [0.9.0])
|
||||
AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
|
||||
if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
|
||||
AC_MSG_RESULT([yes])
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
PKG_CONFIG=""
|
||||
fi
|
||||
|
||||
fi[]dnl
|
||||
])# PKG_PROG_PKG_CONFIG
|
||||
|
||||
# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
|
||||
#
|
||||
# Check to see whether a particular set of modules exists. Similar
|
||||
# to PKG_CHECK_MODULES(), but does not set variables or print errors.
|
||||
#
|
||||
#
|
||||
# Similar to PKG_CHECK_MODULES, make sure that the first instance of
|
||||
# this or PKG_CHECK_MODULES is called, or make sure to call
|
||||
# PKG_CHECK_EXISTS manually
|
||||
# --------------------------------------------------------------
|
||||
AC_DEFUN([PKG_CHECK_EXISTS],
|
||||
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
|
||||
if test -n "$PKG_CONFIG" && \
|
||||
AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
|
||||
m4_ifval([$2], [$2], [:])
|
||||
m4_ifvaln([$3], [else
|
||||
$3])dnl
|
||||
fi])
|
||||
|
||||
|
||||
# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
|
||||
# ---------------------------------------------
|
||||
m4_define([_PKG_CONFIG],
|
||||
[if test -n "$PKG_CONFIG"; then
|
||||
if test -n "$$1"; then
|
||||
pkg_cv_[]$1="$$1"
|
||||
else
|
||||
PKG_CHECK_EXISTS([$3],
|
||||
[pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
|
||||
[pkg_failed=yes])
|
||||
fi
|
||||
else
|
||||
pkg_failed=untried
|
||||
fi[]dnl
|
||||
])# _PKG_CONFIG
|
||||
|
||||
# _PKG_SHORT_ERRORS_SUPPORTED
|
||||
# -----------------------------
|
||||
AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
|
||||
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
|
||||
if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
|
||||
_pkg_short_errors_supported=yes
|
||||
else
|
||||
_pkg_short_errors_supported=no
|
||||
fi[]dnl
|
||||
])# _PKG_SHORT_ERRORS_SUPPORTED
|
||||
|
||||
|
||||
# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
|
||||
# [ACTION-IF-NOT-FOUND])
|
||||
#
|
||||
#
|
||||
# Note that if there is a possibility the first call to
|
||||
# PKG_CHECK_MODULES might not happen, you should be sure to include an
|
||||
# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
|
||||
#
|
||||
#
|
||||
# --------------------------------------------------------------
|
||||
AC_DEFUN([PKG_CHECK_MODULES],
|
||||
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
|
||||
AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
|
||||
AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
|
||||
|
||||
pkg_failed=no
|
||||
AC_MSG_CHECKING([for $1])
|
||||
|
||||
_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
|
||||
_PKG_CONFIG([$1][_LIBS], [libs], [$2])
|
||||
|
||||
m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
|
||||
and $1[]_LIBS to avoid the need to call pkg-config.
|
||||
See the pkg-config man page for more details.])
|
||||
|
||||
if test $pkg_failed = yes; then
|
||||
_PKG_SHORT_ERRORS_SUPPORTED
|
||||
if test $_pkg_short_errors_supported = yes; then
|
||||
$1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"`
|
||||
else
|
||||
$1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
|
||||
fi
|
||||
# Put the nasty error message in config.log where it belongs
|
||||
echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
|
||||
|
||||
ifelse([$4], , [AC_MSG_ERROR(dnl
|
||||
[Package requirements ($2) were not met:
|
||||
|
||||
$$1_PKG_ERRORS
|
||||
|
||||
Consider adjusting the PKG_CONFIG_PATH environment variable if you
|
||||
installed software in a non-standard prefix.
|
||||
|
||||
_PKG_TEXT
|
||||
])],
|
||||
[AC_MSG_RESULT([no])
|
||||
$4])
|
||||
elif test $pkg_failed = untried; then
|
||||
ifelse([$4], , [AC_MSG_FAILURE(dnl
|
||||
[The pkg-config script could not be found or is too old. Make sure it
|
||||
is in your PATH or set the PKG_CONFIG environment variable to the full
|
||||
path to pkg-config.
|
||||
|
||||
_PKG_TEXT
|
||||
|
||||
To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>.])],
|
||||
[$4])
|
||||
else
|
||||
$1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
|
||||
$1[]_LIBS=$pkg_cv_[]$1[]_LIBS
|
||||
AC_MSG_RESULT([yes])
|
||||
ifelse([$3], , :, [$3])
|
||||
fi[]dnl
|
||||
])# PKG_CHECK_MODULES
|
||||
|
||||
@@ -1,39 +0,0 @@
|
||||
# -*- Autoconf -*-
|
||||
# Process this file with autoconf to produce a configure script.
|
||||
|
||||
AC_PREREQ(2.61)
|
||||
AC_INIT(libdkim, 1.0.21)
|
||||
LT_INIT
|
||||
AC_CONFIG_SRCDIR([dkim.cpp])
|
||||
##AC_CONFIG_HEADER([config.h])
|
||||
|
||||
# Checks for programs.
|
||||
AC_PROG_CXX
|
||||
PKG_PROG_PKG_CONFIG
|
||||
|
||||
# Checks for libraries.
|
||||
#AC_CHECK_LIB([crypto], [PEM_read_PrivateKey])
|
||||
PKG_CHECK_MODULES([libcrypto], [libcrypto])
|
||||
AC_SEARCH_LIBS([res_query], [resolv c],,
|
||||
[AC_SEARCH_LIBS(__res_query,resolv bind)])
|
||||
|
||||
# Checks for header files.
|
||||
AC_HEADER_RESOLV
|
||||
AC_HEADER_STDC
|
||||
AC_CHECK_HEADERS([netdb.h netinet/in.h inttypes.h stdlib.h string.h])
|
||||
|
||||
# Checks for typedefs, structures, and compiler characteristics.
|
||||
AC_HEADER_STDBOOL
|
||||
AC_C_CONST
|
||||
AC_C_INLINE
|
||||
AC_HEADER_TIME
|
||||
AC_TYPE_UINT16_T
|
||||
AC_TYPE_UINT32_T
|
||||
|
||||
# Checks for library functions.
|
||||
AC_FUNC_MEMCMP
|
||||
AC_FUNC_SELECT_ARGTYPES
|
||||
AC_CHECK_FUNCS([select socket strchr])
|
||||
|
||||
AC_CONFIG_FILES([Makefile libdkim.pc])
|
||||
AC_OUTPUT
|
||||
@@ -1,12 +0,0 @@
|
||||
prefix=@prefix@
|
||||
exec_prefix=@exec_prefix@
|
||||
libdir=@libdir@
|
||||
includedir=@includedir@
|
||||
|
||||
Name: @PACKAGE_NAME@
|
||||
Description: DomainKeys Identified Mail library from Alt-N Inc.
|
||||
Version: @PACKAGE_VERSION@
|
||||
Requires.private: libcrypto
|
||||
Libs: -L${libdir} -ldkim
|
||||
Libs.private: @LIBS@
|
||||
Cflags: -I${includedir}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
global: DKIM*;
|
||||
local: *;
|
||||
};
|
||||
@@ -1,25 +0,0 @@
|
||||
--- src/dkimverify.cpp
|
||||
+++ src/dkimverify.cpp
|
||||
@@ -211,14 +211,14 @@
|
||||
unsigned DecodeBase64(char *ptr)
|
||||
{
|
||||
static const unsigned char base64_table[256] = {
|
||||
- -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
|
||||
- -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,-1,-1,-1,
|
||||
- -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,
|
||||
- -1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,-1,-1,-1,-1,-1,
|
||||
- -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
|
||||
- -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
|
||||
- -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
|
||||
- -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1};
|
||||
+ (unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,
|
||||
+ (unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,62,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,63,52,53,54,55,56,57,58,59,60,61,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,
|
||||
+ (unsigned char) -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,
|
||||
+ (unsigned char) -1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,
|
||||
+ (unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,
|
||||
+ (unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,
|
||||
+ (unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,
|
||||
+ (unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1};
|
||||
|
||||
unsigned char *s = (unsigned char *)ptr;
|
||||
unsigned char *d = (unsigned char *)ptr;
|
||||
@@ -1,87 +0,0 @@
|
||||
diff -Naur libdkim.orig/src/libdkimtest.cpp libdkim/src/libdkimtest.cpp
|
||||
--- src/libdkimtest.cpp 2009-03-13 16:17:45.000000000 -0500
|
||||
+++ src/libdkimtest.cpp 2009-03-13 16:26:02.000000000 -0500
|
||||
@@ -55,8 +55,23 @@
|
||||
return 0;
|
||||
}
|
||||
|
||||
+void usage()
|
||||
+{
|
||||
|
||||
-
|
||||
+ 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");
|
||||
+ printf( "-b<standard> 1=allman, 2=ietf or 3=both\n");
|
||||
+ printf( "-c<canonicalization> r=relaxed [DEFAULT], s=simple, t=relaxed/simple, u=simple/relaxed\n");
|
||||
+ printf( "-d<domain> the domain tag, if not provided it will be determined from the sender/from header\n");
|
||||
+ printf( "-l include body length tag\n");
|
||||
+ printf( "-h this help\n");
|
||||
+ printf( "-i<identity> the identity, if not provided it will not be included\n");
|
||||
+ printf( "-s sign the message\n");
|
||||
+ printf( "-t include a timestamp tag\n");
|
||||
+ printf( "-v verify the message\n");
|
||||
+ printf( "-x<expire_time> the expire time in seconds since epoch ( DEFAULT = current time + 604800)\n\t\t if set to - then it will not be included\n");
|
||||
+ printf( "-z<hash> 1=sha1, 2=sha256, 3=both\n");
|
||||
+ printf( "-y<selector> selector tag DEFAULT=default\n");
|
||||
+}
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
int n;
|
||||
@@ -77,7 +92,7 @@
|
||||
time(&t);
|
||||
|
||||
opts.nCanon = DKIM_SIGN_RELAXED;
|
||||
- opts.nIncludeBodyLengthTag = 1;
|
||||
+ opts.nIncludeBodyLengthTag = 0;
|
||||
opts.nIncludeQueryMethod = 0;
|
||||
opts.nIncludeTimeStamp = 0;
|
||||
opts.expireTime = t + 604800; // expires in 1 week
|
||||
@@ -92,6 +107,11 @@
|
||||
int nArgParseState = 0;
|
||||
bool bSign = true;
|
||||
|
||||
+ if(argc<2){
|
||||
+ usage();
|
||||
+ exit(1);
|
||||
+ }
|
||||
+
|
||||
for( n = 1; n < argc; n++ )
|
||||
{
|
||||
if( argv[n][0] == '-' && strlen(argv[n]) > 1 )
|
||||
@@ -121,14 +141,16 @@
|
||||
}
|
||||
break;
|
||||
|
||||
-
|
||||
+ case 'd':
|
||||
+ strncpy(opts.szDomain,(const char*)(argv[n]+2),sizeof(opts.szDomain)-1);
|
||||
+ break;
|
||||
case 'l': // body length tag
|
||||
opts.nIncludeBodyLengthTag = 1;
|
||||
break;
|
||||
|
||||
|
||||
case 'h':
|
||||
- printf( "usage: \n" );
|
||||
+ usage();
|
||||
return 0;
|
||||
|
||||
case 'i': // identity
|
||||
@@ -138,7 +160,7 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
- strcpy( opts.szIdentity, argv[n] + 2 );
|
||||
+ strncpy( opts.szIdentity, argv[n] + 2,sizeof(opts.szIdentity)-1 );
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -169,6 +191,9 @@
|
||||
}
|
||||
break;
|
||||
|
||||
+ case 'y':
|
||||
+ strncpy( opts.szSelector, argv[n]+2, sizeof(opts.szSelector)-1);
|
||||
+ break;
|
||||
|
||||
case 'z': // sign w/ sha1, sha256 or both
|
||||
opts.nHash = atoi( &argv[n][2] );
|
||||
@@ -1,87 +0,0 @@
|
||||
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;
|
||||
}
|
||||
|
||||
+void usage()
|
||||
+{
|
||||
|
||||
-
|
||||
+ 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");
|
||||
+ printf( "-b<standard> allman , ietf or both\n");
|
||||
+ printf( "-c<canonicalization> r for relaxed [DEFAULT], s - simple, t relaxed/simple, u - simple/relaxed\n");
|
||||
+ printf( "-d<domain> the domain tag, if not provided it will be determined from the sender/from header\n");
|
||||
+ printf( "-l include body length tag\n");
|
||||
+ printf( "-h this help\n");
|
||||
+ printf( "-i<identity> the identity, if not provided it will not be included\n");
|
||||
+ printf( "-s sign the message\n");
|
||||
+ printf( "-t include a timestamp tag\n");
|
||||
+ printf( "-v verify the message\n");
|
||||
+ 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");
|
||||
+ printf( "-z<hash> 1 for sha1, 2 for sha256, 3 for both\n");
|
||||
+ printf( "-y<selector> the selector tag DEFAULT=MDaemon\n");
|
||||
+}
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
int n;
|
||||
@@ -77,7 +92,7 @@
|
||||
time(&t);
|
||||
|
||||
opts.nCanon = DKIM_SIGN_RELAXED;
|
||||
- opts.nIncludeBodyLengthTag = 1;
|
||||
+ opts.nIncludeBodyLengthTag = 0;
|
||||
opts.nIncludeQueryMethod = 0;
|
||||
opts.nIncludeTimeStamp = 0;
|
||||
opts.expireTime = t + 604800; // expires in 1 week
|
||||
@@ -92,6 +107,11 @@
|
||||
int nArgParseState = 0;
|
||||
bool bSign = true;
|
||||
|
||||
+ if(argc<2){
|
||||
+ usage();
|
||||
+ exit(1);
|
||||
+ }
|
||||
+
|
||||
for( n = 1; n < argc; n++ )
|
||||
{
|
||||
if( argv[n][0] == '-' && strlen(argv[n]) > 1 )
|
||||
@@ -121,14 +141,16 @@
|
||||
}
|
||||
break;
|
||||
|
||||
-
|
||||
+ case 'd':
|
||||
+ strncpy(opts.szDomain,(const char*)(argv[n]+2),sizeof(opts.szDomain)-1);
|
||||
+ break;
|
||||
case 'l': // body length tag
|
||||
opts.nIncludeBodyLengthTag = 1;
|
||||
break;
|
||||
|
||||
|
||||
case 'h':
|
||||
- printf( "usage: \n" );
|
||||
+ usage();
|
||||
return 0;
|
||||
|
||||
case 'i': // identity
|
||||
@@ -138,7 +160,7 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
- strcpy( opts.szIdentity, argv[n] + 2 );
|
||||
+ strncpy( opts.szIdentity, argv[n] + 2,sizeof(opts.szIdentity)-1 );
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -169,6 +191,9 @@
|
||||
}
|
||||
break;
|
||||
|
||||
+ case 'y':
|
||||
+ strncpy( opts.szSelector, argv[n]+2, sizeof(opts.szSelector)-1);
|
||||
+ break;
|
||||
|
||||
case 'z': // sign w/ sha1, sha256 or both
|
||||
opts.nHash = atoi( &argv[n][2] );
|
||||
@@ -1,293 +0,0 @@
|
||||
#! /bin/sh /usr/share/dpatch/dpatch-run
|
||||
## 02_fix_warnings.dpatch by Russell Coker <russell@coker.com.au>
|
||||
##
|
||||
## DP: Get rid of warnings through the use of const and more correct types
|
||||
|
||||
@DPATCH@
|
||||
|
||||
diff -ru src/dkim.cpp src/dkim.cpp
|
||||
--- src/dkim.cpp 2008-05-12 20:07:32.000000000 +1000
|
||||
+++ src/dkim.cpp 2009-04-15 19:38:08.000000000 +1000
|
||||
@@ -172,7 +172,7 @@
|
||||
}
|
||||
|
||||
|
||||
-int DKIM_CALL DKIMVerifyProcess( DKIMContext* pVerifyContext, char* szBuffer, int nBufLength )
|
||||
+int DKIM_CALL DKIMVerifyProcess( DKIMContext* pVerifyContext, const char* const szBuffer, int nBufLength )
|
||||
{
|
||||
CDKIMVerify* pVerify = (CDKIMVerify*)ValidateContext( pVerifyContext, false );
|
||||
|
||||
@@ -226,13 +226,13 @@
|
||||
}
|
||||
|
||||
|
||||
-char* DKIM_CALL DKIMVersion()
|
||||
+const char* DKIM_CALL DKIMVersion()
|
||||
{
|
||||
return VERSION_STRING;
|
||||
}
|
||||
|
||||
|
||||
-static char* DKIMErrorStrings[-1-DKIM_MAX_ERROR] = {
|
||||
+static const char* DKIMErrorStrings[-1-DKIM_MAX_ERROR] = {
|
||||
"DKIM_FAIL",
|
||||
"DKIM_BAD_SYNTAX",
|
||||
"DKIM_SIGNATURE_BAD",
|
||||
@@ -254,7 +254,7 @@
|
||||
};
|
||||
|
||||
|
||||
-char* DKIM_CALL DKIMGetErrorString( int ErrorCode )
|
||||
+const char* DKIM_CALL DKIMGetErrorString( int ErrorCode )
|
||||
{
|
||||
if (ErrorCode >= 0 || ErrorCode <= DKIM_MAX_ERROR)
|
||||
return "Unknown";
|
||||
diff -ru src/dkim.h src/dkim.h
|
||||
--- src/dkim.h 2009-04-15 19:37:48.000000000 +1000
|
||||
+++ src/dkim.h 2009-04-15 19:38:08.000000000 +1000
|
||||
@@ -155,14 +155,14 @@
|
||||
void DKIM_CALL DKIMSignFree( DKIMContext* pSignContext );
|
||||
|
||||
int DKIM_CALL DKIMVerifyInit( DKIMContext* pVerifyContext, DKIMVerifyOptions* pOptions );
|
||||
-int DKIM_CALL DKIMVerifyProcess( DKIMContext* pVerifyContext, char* szBuffer, int nBufLength );
|
||||
+int DKIM_CALL DKIMVerifyProcess( DKIMContext* pVerifyContext, const char* szBuffer, int nBufLength );
|
||||
int DKIM_CALL DKIMVerifyResults( DKIMContext* pVerifyContext );
|
||||
int DKIM_CALL DKIMVerifyGetDetails( DKIMContext* pVerifyContext, int* nSigCount, DKIMVerifyDetails** pDetails, char* szPractices );
|
||||
void DKIM_CALL DKIMVerifyFree( DKIMContext* pVerifyContext );
|
||||
|
||||
-char *DKIM_CALL DKIMVersion();
|
||||
+const char *DKIM_CALL DKIMVersion();
|
||||
|
||||
-char *DKIM_CALL DKIMGetErrorString( int ErrorCode );
|
||||
+const char *DKIM_CALL DKIMGetErrorString( int ErrorCode );
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
diff -ru src/dkimbase.cpp src/dkimbase.cpp
|
||||
--- src/dkimbase.cpp 2008-05-12 20:07:36.000000000 +1000
|
||||
+++ src/dkimbase.cpp 2009-04-15 19:49:32.000000000 +1000
|
||||
@@ -118,10 +118,10 @@
|
||||
// Process - split buffers into lines without any CRs or LFs at the end.
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
-int CDKIMBase::Process( char* szBuffer, int nBufLength, bool bEOF )
|
||||
+int CDKIMBase::Process( const char* szBuffer, int nBufLength, bool bEOF )
|
||||
{
|
||||
- char* p = szBuffer;
|
||||
- char* e = szBuffer + nBufLength;
|
||||
+ const char* p = szBuffer;
|
||||
+ const char* e = szBuffer + nBufLength;
|
||||
|
||||
while( p < e )
|
||||
{
|
||||
@@ -208,7 +208,8 @@
|
||||
{
|
||||
m_InHeaders = false;
|
||||
ProcessHeaders();
|
||||
- ProcessBody("", 0, true);
|
||||
+ /* type conversion should be safe as length is zero */
|
||||
+ ProcessBody((char *)"", 0, true);
|
||||
}
|
||||
|
||||
return DKIM_SUCCESS;
|
||||
@@ -338,9 +339,9 @@
|
||||
|
||||
CompressSWSP(sTemp);
|
||||
|
||||
- unsigned cpos = sTemp.find(':');
|
||||
+ string::size_type cpos = sTemp.find(':');
|
||||
|
||||
- if (cpos == -1)
|
||||
+ if (cpos == string::npos)
|
||||
{
|
||||
// no colon?!
|
||||
}
|
||||
diff -ru src/dkimbase.h src/dkimbase.h
|
||||
--- src/dkimbase.h 2008-05-12 20:07:24.000000000 +1000
|
||||
+++ src/dkimbase.h 2009-04-15 19:49:32.000000000 +1000
|
||||
@@ -41,7 +41,7 @@
|
||||
|
||||
int Init(void);
|
||||
|
||||
- int Process( char* szBuffer, int nBufLength, bool bEOF );
|
||||
+ int Process( const char* szBuffer, int nBufLength, bool bEOF );
|
||||
int ProcessFinal(void);
|
||||
|
||||
int Alloc( char*& szBuffer, int nRequiredSize );
|
||||
diff -ru src/dkimsign.cpp src/dkimsign.cpp
|
||||
--- src/dkimsign.cpp 2008-05-12 20:07:46.000000000 +1000
|
||||
+++ src/dkimsign.cpp 2009-04-15 19:49:32.000000000 +1000
|
||||
@@ -144,7 +144,7 @@
|
||||
|
||||
fwrite( szBuffer, 1, nBufLength, fpdebug );
|
||||
|
||||
- /** END DEBUG CODE **/
|
||||
+ ** END DEBUG CODE **/
|
||||
|
||||
if( bAllmanOnly )
|
||||
{
|
||||
@@ -555,7 +555,7 @@
|
||||
// if bFold, fold at cbrk char
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
-void CDKIMSign::AddTagToSig( char* Tag, const string &sValue, char cbrk, bool bFold )
|
||||
+void CDKIMSign::AddTagToSig( const char* const Tag, const string &sValue, char cbrk, bool bFold )
|
||||
{
|
||||
int nTagLen = strlen(Tag);
|
||||
|
||||
@@ -583,10 +583,10 @@
|
||||
// AddTagToSig - add tag and numeric value to signature folding if necessary
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
-void CDKIMSign::AddTagToSig( char* Tag, unsigned long nValue )
|
||||
+void CDKIMSign::AddTagToSig( const char* const Tag, unsigned long nValue )
|
||||
{
|
||||
char szValue[64];
|
||||
- sprintf( szValue, "%u", nValue );
|
||||
+ sprintf( szValue, "%lu", nValue );
|
||||
AddTagToSig( Tag, szValue, 0, false );
|
||||
}
|
||||
|
||||
@@ -686,7 +686,7 @@
|
||||
// GetSig - compute hash and return signature header in szSignature
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
-int CDKIMSign::GetSig( char* szPrivKey, char* szSignature, int nSigLength )
|
||||
+int CDKIMSign::GetSig( char* szPrivKey, char* szSignature, unsigned nSigLength )
|
||||
{
|
||||
if( szPrivKey == NULL )
|
||||
{
|
||||
@@ -794,7 +794,6 @@
|
||||
int size;
|
||||
int len;
|
||||
char* buf;
|
||||
- int pos = 0;
|
||||
|
||||
// construct the DKIM-Signature: header and add to hash
|
||||
InitSig();
|
||||
@@ -879,7 +878,7 @@
|
||||
}
|
||||
BIO_set_flags(b64, BIO_FLAGS_BASE64_NO_NL);
|
||||
BIO_push(b64, bio);
|
||||
- if (BIO_write(b64, Hash, nHashLen) < nHashLen)
|
||||
+ if (BIO_write(b64, Hash, nHashLen) < (int)nHashLen)
|
||||
{
|
||||
BIO_free_all(b64);
|
||||
return DKIM_OUT_OF_MEMORY;
|
||||
@@ -993,7 +992,7 @@
|
||||
}
|
||||
BIO_set_flags(b64, BIO_FLAGS_BASE64_NO_NL);
|
||||
BIO_push(b64, bio);
|
||||
- if (BIO_write(b64, sig, siglen) < siglen)
|
||||
+ if (BIO_write(b64, sig, siglen) < (int)siglen)
|
||||
{
|
||||
OPENSSL_free(sig);
|
||||
BIO_free_all(b64);
|
||||
diff -ru src/dkimsign.h src/dkimsign.h
|
||||
--- src/dkimsign.h 2008-05-12 20:07:58.000000000 +1000
|
||||
+++ src/dkimsign.h 2009-04-15 19:49:32.000000000 +1000
|
||||
@@ -32,7 +32,7 @@
|
||||
|
||||
int Init( DKIMSignOptions* pOptions );
|
||||
|
||||
- int GetSig( char* szPrivKey, char* szSignature, int nSigLength );
|
||||
+ int GetSig( char* szPrivKey, char* szSignature, unsigned nSigLength );
|
||||
int GetSig2( char* szPrivKey, char** pszSignature );
|
||||
|
||||
virtual int ProcessHeaders(void);
|
||||
@@ -50,8 +50,8 @@
|
||||
bool ParseFromAddress( void );
|
||||
|
||||
void InitSig(void);
|
||||
- void AddTagToSig( char* Tag, const string &sValue, char cbrk, bool bFold );
|
||||
- void AddTagToSig( char* Tag, unsigned long nValue );
|
||||
+ void AddTagToSig( const char* const Tag, const string &sValue, char cbrk, bool bFold );
|
||||
+ void AddTagToSig( const char* const Tag, unsigned long nValue );
|
||||
void AddInterTagSpace( int nSizeOfNextTag );
|
||||
void AddFoldedValueToSig( const string &sValue, char cbrk );
|
||||
|
||||
diff -ru src/dkimverify.cpp src/dkimverify.cpp
|
||||
--- src/dkimverify.cpp 2009-04-15 19:37:48.000000000 +1000
|
||||
+++ src/dkimverify.cpp 2009-04-15 19:49:32.000000000 +1000
|
||||
@@ -440,7 +440,7 @@
|
||||
{
|
||||
ProcessFinal();
|
||||
|
||||
- int SuccessCount=0;
|
||||
+ unsigned int SuccessCount=0;
|
||||
int TestingFailures=0;
|
||||
int RealFailures=0;
|
||||
|
||||
@@ -646,7 +646,7 @@
|
||||
/** END DEBUG CODE **/
|
||||
#endif
|
||||
|
||||
- if (IsBody && BodyLength != -1)
|
||||
+ if (IsBody && BodyLength != (unsigned)-1)
|
||||
{
|
||||
VerifiedBodyCount += nBufLength;
|
||||
if (VerifiedBodyCount > BodyLength)
|
||||
@@ -1019,7 +1019,7 @@
|
||||
// body count
|
||||
if (values[8] == NULL || !m_HonorBodyLengthTag)
|
||||
{
|
||||
- sig.BodyLength = -1;
|
||||
+ sig.BodyLength = (unsigned)-1;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1057,17 +1057,17 @@
|
||||
// expiration time
|
||||
if (values[11] == NULL)
|
||||
{
|
||||
- sig.ExpireTime = -1;
|
||||
+ sig.ExpireTime = (unsigned)-1;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!ParseUnsigned(values[11], &sig.ExpireTime))
|
||||
return DKIM_BAD_SYNTAX;
|
||||
|
||||
- if (sig.ExpireTime != -1)
|
||||
+ if (sig.ExpireTime != (unsigned)-1)
|
||||
{
|
||||
// the value of x= MUST be greater than the value of t= if both are present
|
||||
- if (SignedTime != -1 && sig.ExpireTime <= SignedTime)
|
||||
+ if (SignedTime != (unsigned)-1 && sig.ExpireTime <= SignedTime)
|
||||
return DKIM_BAD_SYNTAX;
|
||||
|
||||
// todo: if possible, use the received date/time instead of the current time
|
||||
@@ -1169,7 +1169,7 @@
|
||||
}
|
||||
|
||||
|
||||
-SelectorInfo::SelectorInfo(const string &sSelector, const string &sDomain) : Selector(sSelector), Domain(sDomain)
|
||||
+SelectorInfo::SelectorInfo(const string &sSelector, const string &sDomain) : Domain(sDomain), Selector(sSelector)
|
||||
{
|
||||
AllowSHA1 = true;
|
||||
AllowSHA256 = true;
|
||||
@@ -1207,7 +1207,7 @@
|
||||
return DKIM_SELECTOR_INVALID; // todo: maybe create a new error code for unsupported selector version
|
||||
|
||||
// make sure v= is the first tag in the response // todo: maybe don't enforce this, it seems unnecessary
|
||||
- for (int j=1; j<sizeof(values)/sizeof(values[0]); j++)
|
||||
+ for (unsigned j=1; j<sizeof(values)/sizeof(values[0]); j++)
|
||||
{
|
||||
if (values[j] != NULL && values[j] < values[0])
|
||||
{
|
||||
diff -ru src/libdkimtest.cpp src/libdkimtest.cpp
|
||||
--- src/libdkimtest.cpp 2008-05-12 20:08:54.000000000 +1000
|
||||
+++ src/libdkimtest.cpp 2009-04-15 19:38:08.000000000 +1000
|
||||
@@ -60,9 +60,9 @@
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
int n;
|
||||
- char* PrivKeyFile = "test.pem";
|
||||
- char* MsgFile = "test.msg";
|
||||
- char* OutFile = "signed.msg";
|
||||
+ const char* PrivKeyFile = "test.pem";
|
||||
+ const char* MsgFile = "test.msg";
|
||||
+ const char* OutFile = "signed.msg";
|
||||
int nPrivKeyLen;
|
||||
char PrivKey[2048];
|
||||
char Buffer[1024];
|
||||
@@ -1,2 +0,0 @@
|
||||
strtok_r.patch
|
||||
fix_warnings.patch
|
||||
@@ -1,119 +0,0 @@
|
||||
#! /bin/sh /usr/share/dpatch/dpatch-run
|
||||
## 01_strtok_r.dpatch by Russell Coker <russell@coker.com.au>
|
||||
##
|
||||
## DP: Use strtok_r() instead of strtok().
|
||||
|
||||
@DPATCH@
|
||||
|
||||
diff -ru libdkim-1.0.19/src/dkimverify.cpp libdkim-1.0.19-new/src/dkimverify.cpp
|
||||
--- src/dkimverify.cpp 2008-05-12 20:08:06.000000000 +1000
|
||||
+++ src/dkimverify.cpp 2009-06-11 18:28:10.000000000 +1000
|
||||
@@ -855,6 +855,9 @@
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
int CDKIMVerify::ParseDKIMSignature( const string& sHeader, SignatureInfo &sig )
|
||||
{
|
||||
+ // for strtok_r()
|
||||
+ char *saveptr;
|
||||
+
|
||||
// save header for later
|
||||
sig.Header = sHeader;
|
||||
|
||||
@@ -1032,7 +1035,7 @@
|
||||
{
|
||||
// make sure "dns" is in the list
|
||||
bool HasDNS = false;
|
||||
- char *s = strtok(values[9], ":");
|
||||
+ char *s = strtok_r(values[9], ":", &saveptr);
|
||||
while (s != NULL)
|
||||
{
|
||||
if (strncmp(s, "dns", 3) == 0 && (s[3] == '\0' || s[3] == '/'))
|
||||
@@ -1040,7 +1043,7 @@
|
||||
HasDNS = true;
|
||||
break;
|
||||
}
|
||||
- s = strtok(NULL, ": \t");
|
||||
+ s = strtok_r(NULL, ": \t", &saveptr);
|
||||
}
|
||||
if (!HasDNS)
|
||||
return DKIM_BAD_SYNTAX; // todo: maybe create a new error code for unknown query method
|
||||
@@ -1080,7 +1083,7 @@
|
||||
// parse the signed headers list
|
||||
bool HasFrom = false, HasSubject = false;
|
||||
RemoveSWSP(values[4]); // header names shouldn't have spaces in them so this should be ok...
|
||||
- char *s = strtok(values[4], ":");
|
||||
+ char *s = strtok_r(values[4], ":", &saveptr);
|
||||
while (s != NULL)
|
||||
{
|
||||
if (_stricmp(s, "From") == 0)
|
||||
@@ -1090,7 +1093,7 @@
|
||||
|
||||
sig.SignedHeaders.push_back(s);
|
||||
|
||||
- s = strtok(NULL, ":");
|
||||
+ s = strtok_r(NULL, ":", &saveptr);
|
||||
}
|
||||
|
||||
if (!HasFrom)
|
||||
@@ -1194,6 +1197,9 @@
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
int SelectorInfo::Parse( char* Buffer )
|
||||
{
|
||||
+ // for strtok_r()
|
||||
+ char *saveptr;
|
||||
+
|
||||
static const char *tags[] = {"v","g","h","k","p","s","t","n",NULL};
|
||||
char *values[sizeof(tags)/sizeof(tags[0])] = {NULL};
|
||||
|
||||
@@ -1235,14 +1241,14 @@
|
||||
else
|
||||
{
|
||||
// MUST include "sha1" or "sha256"
|
||||
- char *s = strtok(values[2], ":");
|
||||
+ char *s = strtok_r(values[2], ":", &saveptr);
|
||||
while (s != NULL)
|
||||
{
|
||||
if (strcmp(s, "sha1") == 0)
|
||||
AllowSHA1 = true;
|
||||
else if (strcmp(s, "sha256") == 0)
|
||||
AllowSHA256 = true;
|
||||
- s = strtok(NULL, ":");
|
||||
+ s = strtok_r(NULL, ":", &saveptr);
|
||||
}
|
||||
if ( !(AllowSHA1 || AllowSHA256) )
|
||||
return DKIM_SELECTOR_INVALID; // todo: maybe create a new error code for unsupported hash algorithm
|
||||
@@ -1261,7 +1267,7 @@
|
||||
{
|
||||
// make sure "*" or "email" is in the list
|
||||
bool ServiceTypeMatch = false;
|
||||
- char *s = strtok(values[5], ":");
|
||||
+ char *s = strtok_r(values[5], ":", &saveptr);
|
||||
while (s != NULL)
|
||||
{
|
||||
if (strcmp(s, "*") == 0 || strcmp(s, "email") == 0)
|
||||
@@ -1269,7 +1275,7 @@
|
||||
ServiceTypeMatch = true;
|
||||
break;
|
||||
}
|
||||
- s = strtok(NULL, ":");
|
||||
+ s = strtok_r(NULL, ":", &saveptr);
|
||||
}
|
||||
if (!ServiceTypeMatch)
|
||||
return DKIM_SELECTOR_INVALID;
|
||||
@@ -1278,7 +1284,7 @@
|
||||
// flags
|
||||
if (values[6] != NULL)
|
||||
{
|
||||
- char *s = strtok(values[6], ":");
|
||||
+ char *s = strtok_r(values[6], ":", &saveptr);
|
||||
while (s != NULL)
|
||||
{
|
||||
if (strcmp(s, "y") == 0)
|
||||
@@ -1289,7 +1295,7 @@
|
||||
{
|
||||
SameDomain = true;
|
||||
}
|
||||
- s = strtok(NULL, ":");
|
||||
+ s = strtok_r(NULL, ":", &saveptr);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,54 +0,0 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="5"
|
||||
|
||||
AUTOTOOLS_AUTORECONF=1
|
||||
AUTOTOOLS_IN_SOURCE_BUILD=1
|
||||
|
||||
inherit autotools-utils eutils toolchain-funcs
|
||||
|
||||
DESCRIPTION="DomainKeys Identified Mail library from Alt-N Inc"
|
||||
HOMEPAGE="http://libdkim.sourceforge.net"
|
||||
SRC_URI="mirror://sourceforge/${PN}/${P}.zip"
|
||||
|
||||
LICENSE="Apache-2.0 yahoo-patent-license-1.2"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 x86"
|
||||
IUSE="libressl static-libs"
|
||||
|
||||
DEPEND="
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
libressl? ( dev-libs/libressl )
|
||||
app-arch/unzip"
|
||||
RDEPEND="
|
||||
!mail-filter/libdkim-exim
|
||||
dev-libs/openssl"
|
||||
|
||||
S="${WORKDIR}/${PN}/src"
|
||||
|
||||
src_prepare() {
|
||||
ecvs_clean
|
||||
cp "${FILESDIR}"/debianize/* "${S}" || die
|
||||
epatch "${FILESDIR}"/patches/*.patch
|
||||
epatch "${FILESDIR}"/libdkim-extra-options.patch
|
||||
epatch "${FILESDIR}"/${P}-gcc6.patch
|
||||
|
||||
# Bug 476772
|
||||
if ! use static-libs; then
|
||||
sed -i \
|
||||
-e '/^TARGETS/s/libdkim.a//' \
|
||||
-e '/install -m 644 libdkim.a/d' \
|
||||
Makefile.in || die 'sed on Makefile.in failed'
|
||||
fi
|
||||
|
||||
# Bug 476770
|
||||
tc-export AR
|
||||
|
||||
autotools-utils_src_prepare
|
||||
}
|
||||
|
||||
src_install() {
|
||||
autotools-utils_src_install
|
||||
dodoc ../README
|
||||
}
|
||||
@@ -1,53 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
inherit autotools toolchain-funcs vcs-clean
|
||||
|
||||
DESCRIPTION="DomainKeys Identified Mail library from Alt-N Inc"
|
||||
HOMEPAGE="http://libdkim.sourceforge.net"
|
||||
SRC_URI="mirror://sourceforge/${PN}/${P}.zip"
|
||||
|
||||
LICENSE="Apache-2.0 yahoo-patent-license-1.2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="libressl static-libs"
|
||||
|
||||
RDEPEND="
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
libressl? ( dev-libs/libressl:0= )
|
||||
!mail-filter/libdkim-exim
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
app-arch/unzip
|
||||
"
|
||||
|
||||
S="${WORKDIR}/${PN}/src"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
ecvs_clean
|
||||
cp "${FILESDIR}"/debianize/* "${S}" || die
|
||||
eapply "${FILESDIR}"/patches/*.patch
|
||||
eapply "${FILESDIR}"/libdkim-extra-options-r1.patch
|
||||
eapply "${FILESDIR}"/${P}-gcc6.patch
|
||||
|
||||
# Bug 476772
|
||||
if ! use static-libs; then
|
||||
sed -i \
|
||||
-e '/^TARGETS/s/libdkim.a//' \
|
||||
-e '/install -m 644 libdkim.a/d' \
|
||||
Makefile.in || die 'sed on Makefile.in failed'
|
||||
fi
|
||||
|
||||
# Bug 476770
|
||||
tc-export AR
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
dodoc ../README
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<!-- maintainer-needed -->
|
||||
<upstream>
|
||||
<remote-id type="sourceforge">libdkim</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
@@ -611,7 +611,6 @@ x11-libs/hippo-canvas
|
||||
# games-util/gtkevemon: #675988, upstream API shut down
|
||||
# mail-client/nail: #676008, last commit in 2010, also #508480
|
||||
# mail-client/nmh: #676938, needs bump, 2014, also #676938, #680596
|
||||
# mail-filter/libdkim: #674892, no revdeps, last release in 2010
|
||||
#
|
||||
# Removal in 30 days.
|
||||
app-crypt/keynote
|
||||
@@ -620,7 +619,6 @@ dev-util/wsta
|
||||
games-util/gtkevemon
|
||||
mail-client/nail
|
||||
mail-client/nmh
|
||||
mail-filter/libdkim
|
||||
|
||||
# Miroslav Šulc <fordfrog@gentoo.org> (19 Mar 2019)
|
||||
# Depends on >=virtual/{jdk,jre}-11 which is masked
|
||||
|
||||
Reference in New Issue
Block a user