--- Begin Message ---
Package: libdkim0d
Version: 1:1.0.19-3
Severity: normal
Please apply the following patch to fix the compile warnings and to increase
the use of const.
diff -ru libdkim-1.0.19.bak/src/Makefile libdkim-1.0.19/src/Makefile
--- libdkim-1.0.19.bak/src/Makefile 2008-03-26 01:17:14.000000000 +1100
+++ libdkim-1.0.19/src/Makefile 2009-04-15 09:41:38.000000000 +1000
@@ -2,11 +2,11 @@
#
#ifdef LINUX
-CFLAGS = -c
+CFLAGS = -c -Wall -Werror
LFLAGS =
LIBS = -lcrypto -lresolv
#else
-CFLAGS = -c
+CFLAGS = -c -Wall -Werror
LFLAGS =
LIBS = -lcrypto
#endif
diff -ru libdkim-1.0.19.bak/src/dkim.cpp libdkim-1.0.19/src/dkim.cpp
--- libdkim-1.0.19.bak/src/dkim.cpp 2008-05-12 20:07:32.000000000 +1000
+++ libdkim-1.0.19/src/dkim.cpp 2009-04-15 09:39:32.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.bak/src/dkim.h libdkim-1.0.19/src/dkim.h
--- libdkim-1.0.19.bak/src/dkim.h 2008-05-12 20:07:04.000000000 +1000
+++ libdkim-1.0.19/src/dkim.h 2009-04-15 09:39:08.000000000 +1000
@@ -153,14 +153,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.bak/src/dkimbase.cpp libdkim-1.0.19/src/dkimbase.cpp
--- libdkim-1.0.19.bak/src/dkimbase.cpp 2008-05-12 20:07:36.000000000 +1000
+++ libdkim-1.0.19/src/dkimbase.cpp 2009-04-15 10:00:21.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 )
{
@@ -231,7 +231,7 @@
// ProcessBody - process body line (to be implemented by derived class)
//
////////////////////////////////////////////////////////////////////////////////
-int CDKIMBase::ProcessBody( char* szBuffer, int nBufLength, bool bEOF )
+int CDKIMBase::ProcessBody( const char* szBuffer, int nBufLength, bool bEOF )
{
return DKIM_SUCCESS;
}
@@ -338,9 +338,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.bak/src/dkimbase.h libdkim-1.0.19/src/dkimbase.h
--- libdkim-1.0.19.bak/src/dkimbase.h 2008-05-12 20:07:24.000000000 +1000
+++ libdkim-1.0.19/src/dkimbase.h 2009-04-15 09:40:41.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 );
@@ -58,7 +58,7 @@
static string RelaxHeader( const string& sHeader );
virtual int ProcessHeaders(void);
- virtual int ProcessBody( char* szBuffer, int nBufLength, bool bEOF );
+ virtual int ProcessBody( const char* szBuffer, int nBufLength, bool
bEOF );
protected:
char* m_From;
diff -ru libdkim-1.0.19.bak/src/dkimsign.cpp libdkim-1.0.19/src/dkimsign.cpp
--- libdkim-1.0.19.bak/src/dkimsign.cpp 2008-05-12 20:07:46.000000000 +1000
+++ libdkim-1.0.19/src/dkimsign.cpp 2009-04-15 10:17:45.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.bak/src/dkimsign.h libdkim-1.0.19/src/dkimsign.h
--- libdkim-1.0.19.bak/src/dkimsign.h 2008-05-12 20:07:58.000000000 +1000
+++ libdkim-1.0.19/src/dkimsign.h 2009-04-15 10:17:54.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.bak/src/dkimverify.cpp libdkim-1.0.19/src/dkimverify.cpp
--- libdkim-1.0.19.bak/src/dkimverify.cpp 2008-05-12 20:08:06.000000000
+1000
+++ libdkim-1.0.19/src/dkimverify.cpp 2009-04-15 10:15:49.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])
{
@@ -1411,8 +1411,8 @@
return DKIM_POLICY_DNS_PERM_FAILURE;
}
- unsigned pos = sDomain.find('.');
- if (pos == -1 || sDomain.find('.', pos+1) == -1)
+ string::size_type pos = sDomain.find('.');
+ if (pos == string::npos || sDomain.find('.', pos+1) ==
string::npos)
{
// SSP not found but the domain exists, it's
non-suspicious
iSSP = DKIM_SSP_UNKNOWN;
diff -ru libdkim-1.0.19.bak/src/libdkimtest.cpp
libdkim-1.0.19/src/libdkimtest.cpp
--- libdkim-1.0.19.bak/src/libdkimtest.cpp 2008-05-12 20:08:54.000000000
+1000
+++ libdkim-1.0.19/src/libdkimtest.cpp 2009-04-15 09:41:06.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];
-- System Information:
Debian Release: 5.0.1
APT prefers stable
APT policy: (500, 'stable')
Architecture: i386 (i686)
Kernel: Linux 2.6.26-1-686 (SMP w/1 CPU core)
Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=ANSI_X3.4-1968)
(ignored: LC_ALL set to C)
Shell: /bin/sh linked to /bin/bash
Versions of packages libdkim0d depends on:
ii libc6 2.7-18 GNU C Library: Shared libraries
ii libgcc1 1:4.3.2-1.1 GCC support library
ii libssl0.9.8 0.9.8g-15+lenny1 SSL shared libraries
ii libstdc++6 4.3.2-1.1 The GNU Standard C++ Library v3
libdkim0d recommends no packages.
libdkim0d suggests no packages.
-- no debconf information
--- End Message ---