summaryrefslogtreecommitdiff
path: root/sqmail-4.3.07/src/dkim.cpp
diff options
context:
space:
mode:
authorJannis Hoffmann <jannis@fehcom.de>2024-07-09 11:44:11 +0200
committerJannis Hoffmann <jannis@fehcom.de>2024-07-09 11:44:11 +0200
commitf1b71c9fe7dbb4886588a036399cf5ebe16b7c47 (patch)
treee07786aa479c9fb6ee3e537078470aaab5454f80 /sqmail-4.3.07/src/dkim.cpp
parenta293489ee83c8b05d845a162dc2a4de026f3775d (diff)
removed top level directory
Diffstat (limited to 'sqmail-4.3.07/src/dkim.cpp')
-rw-r--r--sqmail-4.3.07/src/dkim.cpp197
1 files changed, 0 insertions, 197 deletions
diff --git a/sqmail-4.3.07/src/dkim.cpp b/sqmail-4.3.07/src/dkim.cpp
deleted file mode 100644
index 8f36644..0000000
--- a/sqmail-4.3.07/src/dkim.cpp
+++ /dev/null
@@ -1,197 +0,0 @@
-/*****************************************************************************
-* Copyright 2005 Alt-N Technologies, Ltd.
-*
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* This code incorporates intellectual property owned by Yahoo! and licensed
-* pursuant to the Yahoo! DomainKeys Patent License Agreement.
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*
-* Changes done by ¢feh@fehcom.de obeying the above license
-*
-*****************************************************************************/
-#include <string.h>
-#include "dkim.h"
-#include "dkimsign.h"
-#include "dkimverify.h"
-
-#define DKIMID ('D' | 'K'<<8 | 'I'<<16 | 'M'<<24)
-/* taken from removed file "ressource.h" */
-#ifdef VERSION
-#define VERSION_STRING VERSION
-#else
-#define VERSION_STRING "1.4.0"
-#endif
-
-static void InitContext(DKIMContext* pContext,bool bSign,void* pObject)
-{
- pContext->reserved1 = DKIMID;
- pContext->reserved2 = bSign ? 1 : 0;
- pContext->reserved3 = pObject;
-}
-
-static void* ValidateContext(DKIMContext* pContext,bool bSign)
-{
- if (pContext->reserved1 != DKIMID)
- return NULL;
-
- if (pContext->reserved2 != (unsigned int)(bSign ? 1 : 0))
- return NULL;
-
- return pContext->reserved3;
-}
-
-int DKIM_CALL DKIMSignInit(DKIMContext* pSignContext,DKIMSignOptions* pOptions)
-{
- int nRet = DKIM_OUT_OF_MEMORY;
-
- CDKIMSign* pSign = new CDKIMSign;
-
- if (pSign) {
- nRet = pSign->Init(pOptions);
- if (nRet != DKIM_SUCCESS)
- delete pSign;
- }
-
- if (nRet == DKIM_SUCCESS) { InitContext(pSignContext,true,pSign); }
- return nRet;
-}
-
-int DKIM_CALL DKIMSignProcess(DKIMContext* pSignContext,char* szBuffer,int nBufLength)
-{
- CDKIMSign* pSign = (CDKIMSign*)ValidateContext(pSignContext,true);
-
- if (pSign) { return pSign->Process(szBuffer,nBufLength,false); }
- return DKIM_INVALID_CONTEXT;
-}
-
-int DKIM_CALL DKIMSignGetSig2(DKIMContext* pSignContext,char* szRSAPrivKey,char* szECCPrivKey,char** pszSignature)
-{
- CDKIMSign* pSign = (CDKIMSign*)ValidateContext(pSignContext,true);
-
- if (pSign) { return pSign->GetSig2(szRSAPrivKey,szECCPrivKey,pszSignature); }
- return DKIM_INVALID_CONTEXT;
-}
-
-void DKIM_CALL DKIMSignFree(DKIMContext* pSignContext)
-{
- CDKIMSign* pSign = (CDKIMSign*)ValidateContext(pSignContext,true);
-
- if (pSign) {
- delete pSign;
- pSignContext->reserved3 = NULL;
- }
-}
-
-int DKIM_CALL DKIMVerifyInit(DKIMContext* pVerifyContext,DKIMVerifyOptions* pOptions)
-{
- int nRet = DKIM_OUT_OF_MEMORY;
-
- CDKIMVerify* pVerify = new CDKIMVerify;
-
- if (pVerify) {
- nRet = pVerify->Init(pOptions);
- if (nRet != DKIM_SUCCESS)
- delete pVerify;
- }
-
- if (nRet == DKIM_SUCCESS) {
- InitContext(pVerifyContext,false,pVerify);
- }
-
- return nRet;
-}
-
-
-int DKIM_CALL DKIMVerifyProcess(DKIMContext* pVerifyContext,const char* const szBuffer,int nBufLength)
-{
- CDKIMVerify* pVerify = (CDKIMVerify*)ValidateContext(pVerifyContext,false);
-
- if (pVerify) {
- return pVerify->Process(szBuffer,nBufLength,false);
- }
-
- return DKIM_INVALID_CONTEXT;
-}
-
-int DKIM_CALL DKIMVerifyResults(DKIMContext* pVerifyContext)
-{
- CDKIMVerify* pVerify = (CDKIMVerify*)ValidateContext(pVerifyContext,false);
-
- if (pVerify) {
- return pVerify->GetResults();
- }
- return DKIM_INVALID_CONTEXT;
-}
-
-int DKIM_CALL DKIMVerifyGetDetails(DKIMContext* pVerifyContext,int* nSigCount,DKIMVerifyDetails** pDetails,char* szPractices)
-{
- szPractices[0] = '\0';
-
- CDKIMVerify* pVerify = (CDKIMVerify*)ValidateContext(pVerifyContext,false);
-
- if (pVerify) {
- strcpy(szPractices,pVerify->GetPractices());
- return pVerify->GetDetails(nSigCount,pDetails);
- }
-
- return DKIM_INVALID_CONTEXT;
-}
-
-
-void DKIM_CALL DKIMVerifyFree(DKIMContext* pVerifyContext)
-{
- CDKIMVerify* pVerify = (CDKIMVerify*)ValidateContext(pVerifyContext,false);
-
- if (pVerify) {
- delete pVerify;
- pVerifyContext->reserved3 = NULL;
- }
-}
-
-const char* DKIM_CALL DKIMVersion()
-{
- return VERSION_STRING;
-}
-
-static const char* DKIMErrorStrings[-1-DKIM_MAX_ERROR] = {
- "DKIM_FAIL",
- "DKIM_BAD_SYNTAX",
- "DKIM_SIGNATURE_BAD",
- "DKIM_SIGNATURE_BAD_BUT_TESTING",
- "DKIM_SIGNATURE_EXPIRED",
- "DKIM_SELECTOR_INVALID",
- "DKIM_SELECTOR_GRANULARITY_MISMATCH",
- "DKIM_SELECTOR_KEY_REVOKED",
- "DKIM_SELECTOR_DOMAIN_NAME_TOO_LONG",
- "DKIM_SELECTOR_DNS_TEMP_FAILURE",
- "DKIM_SELECTOR_DNS_PERM_FAILURE",
- "DKIM_SELECTOR_PUBLIC_KEY_INVALID",
- "DKIM_NO_SIGNATURES",
- "DKIM_NO_VALID_SIGNATURES",
- "DKIM_BODY_HASH_MISMATCH",
- "DKIM_SELECTOR_ALGORITHM_MISMATCH",
- "DKIM_STAT_INCOMPAT",
- "DKIM_UNSIGNED_FROM",
- "DKIM_OUT_OF_MEMORY",
- "DKIM_INVALID_CONTEXT",
- "DKIM_NO_SENDER",
- "DKIM_BAD_PRIVATE_KEY",
- "DKIM_BUFFER_TOO_SMALL",
-};
-
-const char* DKIM_CALL DKIMGetErrorString(int ErrorCode) {
- if (ErrorCode >= 0 || ErrorCode <= DKIM_MAX_ERROR)
- return "Unknown";
- else
- return DKIMErrorStrings[-1-ErrorCode];
-}