You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							320 lines
						
					
					
						
							11 KiB
						
					
					
				
			
		
		
	
	
							320 lines
						
					
					
						
							11 KiB
						
					
					
				#! /bin/sh /usr/share/dpatch/dpatch-run | 
						|
# --- SDE-COPYRIGHT-NOTE-BEGIN --- | 
						|
# This copyright note is auto-generated by ./scripts/Create-CopyPatch. | 
						|
# | 
						|
# Filename: package/.../libdkim/fix-warnings.patch | 
						|
# Copyright (C) 2009 The OpenSDE Project | 
						|
# | 
						|
# More information can be found in the files COPYING and README. | 
						|
# | 
						|
# This patch file is dual-licensed. It is available under the license the | 
						|
# patched project is licensed under, as long as it is an OpenSource license | 
						|
# as defined at http://www.opensource.org/ (e.g. BSD, X11) or 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. | 
						|
# --- SDE-COPYRIGHT-NOTE-END --- | 
						|
 | 
						|
## 02_fix_warnings.dpatch by Russell Coker <[email protected]> | 
						|
## | 
						|
## 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 | 
						|
--- ./dkim.cpp	2008-05-12 20:07:32.000000000 +1000 | 
						|
+++ ./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 | 
						|
--- ./dkim.h	2009-04-15 19:37:48.000000000 +1000 | 
						|
+++ ./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 | 
						|
--- ./dkimbase.cpp	2008-05-12 20:07:36.000000000 +1000 | 
						|
+++ ./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 | 
						|
--- ./dkimbase.h	2008-05-12 20:07:24.000000000 +1000 | 
						|
+++ ./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 | 
						|
--- ./dkimsign.cpp	2008-05-12 20:07:46.000000000 +1000 | 
						|
+++ ./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 | 
						|
--- ./dkimsign.h	2008-05-12 20:07:58.000000000 +1000 | 
						|
+++ ./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 | 
						|
--- ./dkimverify.cpp	2009-04-15 19:37:48.000000000 +1000 | 
						|
+++ ./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]) | 
						|
 			{ | 
						|
@@ -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.orig/src/libdkimtest.cpp libdkim-1.0.19/src/libdkimtest.cpp | 
						|
--- ./libdkimtest.cpp	2008-05-12 20:08:54.000000000 +1000 | 
						|
+++ ./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];
 | 
						|
 |