Subversion Repositories libdkim

Compare Revisions

Ignore whitespace Rev 49 → Rev 50

/trunk/debian/README.source
File deleted
/trunk/debian/control
1,7 → 1,7
Source: libdkim
Priority: optional
Maintainer: Magnus Holmgren <holmgren@debian.org>
Build-Depends: debhelper (>= 5), autoconf, libssl-dev, pkg-config, dpatch
Build-Depends: debhelper (>= 5), autoconf, libssl-dev, pkg-config
Standards-Version: 3.8.3
Section: libs
Homepage: http://libdkim.sourceforge.net
/trunk/debian/patches/01_strtok_r.dpatch
File deleted
/trunk/debian/patches/fix_warnings.dpatch
File deleted
/trunk/debian/patches/00list
File deleted
/trunk/debian/patches/strtok_r.patch
0,0 → 1,119
#! /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
--- libdkim-1.0.19/src/dkimverify.cpp 2008-05-12 20:08:06.000000000 +1000
+++ libdkim-1.0.19-new/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);
}
}
/trunk/debian/patches/series
0,0 → 1,2
strtok_r.patch
fix_warnings.patch
/trunk/debian/patches/fix_warnings.patch
0,0 → 1,293
#! /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 libdkim-1.0.19.orig/src/dkim.cpp libdkim-1.0.19/src/dkim.cpp
--- libdkim-1.0.19.orig/src/dkim.cpp 2008-05-12 20:07:32.000000000 +1000
+++ libdkim-1.0.19/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 libdkim-1.0.19.orig/src/dkim.h libdkim-1.0.19/src/dkim.h
--- libdkim-1.0.19.orig/src/dkim.h 2009-04-15 19:37:48.000000000 +1000
+++ libdkim-1.0.19/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 libdkim-1.0.19.orig/src/dkimbase.cpp libdkim-1.0.19/src/dkimbase.cpp
--- libdkim-1.0.19.orig/src/dkimbase.cpp 2008-05-12 20:07:36.000000000 +1000
+++ libdkim-1.0.19/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 libdkim-1.0.19.orig/src/dkimbase.h libdkim-1.0.19/src/dkimbase.h
--- libdkim-1.0.19.orig/src/dkimbase.h 2008-05-12 20:07:24.000000000 +1000
+++ libdkim-1.0.19/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 libdkim-1.0.19.orig/src/dkimsign.cpp libdkim-1.0.19/src/dkimsign.cpp
--- libdkim-1.0.19.orig/src/dkimsign.cpp 2008-05-12 20:07:46.000000000 +1000
+++ libdkim-1.0.19/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 libdkim-1.0.19.orig/src/dkimsign.h libdkim-1.0.19/src/dkimsign.h
--- libdkim-1.0.19.orig/src/dkimsign.h 2008-05-12 20:07:58.000000000 +1000
+++ libdkim-1.0.19/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 libdkim-1.0.19.orig/src/dkimverify.cpp libdkim-1.0.19/src/dkimverify.cpp
--- libdkim-1.0.19.orig/src/dkimverify.cpp 2009-04-15 19:37:48.000000000 +1000
+++ libdkim-1.0.19/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 libdkim-1.0.19.orig/src/libdkimtest.cpp libdkim-1.0.19/src/libdkimtest.cpp
--- libdkim-1.0.19.orig/src/libdkimtest.cpp 2008-05-12 20:08:54.000000000 +1000
+++ libdkim-1.0.19/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];
/trunk/debian/changelog
2,8 → 2,9
 
* debian/Makefile.in: Correct order of object files and libraries when
linking so that --as-needed will work (Closes: #627387).
* Convert to source package version 3.0 (quilt).
 
-- Magnus Holmgren <holmgren@debian.org> Sun, 12 Jun 2011 00:30:27 +0200
-- Magnus Holmgren <holmgren@debian.org> Sun, 12 Jun 2011 01:07:06 +0200
 
libdkim (1:1.0.21-1) unstable; urgency=low
 
/trunk/debian/rules
9,8 → 9,6
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
 
include /usr/share/dpatch/dpatch.make
 
export CXXFLAGS = -Wall -g
 
ifneq (,$(filter noopt,$(DEB_BUILD_OPTIONS)))
20,7 → 18,7
endif
 
configure: config.status
config.status: $(DPATCH_STAMPFN) debian/configure.ac
config.status: debian/configure.ac
dh_testdir
ln -sf $(CURDIR)/debian/*.in src/
cd debian && autoconf
34,8 → 32,7
 
touch $@
 
clean: clean-patched unpatch
clean-patched:
clean:
dh_testdir
dh_testroot
rm -f build-stamp configure-stamp
/trunk/debian/source/format
0,0 → 1,0
3.0 (quilt)