gwenhywfar
4.3.1
|
#include "mdigest_p.h"
#include "i18n_l.h"
#include <gwenhywfar/misc.h>
#include <gwenhywfar/debug.h>
#include <gwenhywfar/directory.h>
#include <gwenhywfar/text.h>
#include <gwenhywfar/syncio.h>
#include <gwenhywfar/syncio_file.h>
#include <gwenhywfar/gui.h>
Go to the source code of this file.
#define DISABLE_DEBUGLOG |
static int GWEN_MDigest__HashFile | ( | GWEN_MDIGEST * | md, |
const char * | fname, | ||
GWEN_BUFFER * | hbuf | ||
) | [static] |
Definition at line 277 of file mdigest.c.
References DBG_INFO, GWEN_LOGDOMAIN, GWEN_MDigest_Begin(), GWEN_MDigest_End(), GWEN_MDigest_GetDigestPtr(), GWEN_MDigest_GetDigestSize(), GWEN_MDigest_Update(), GWEN_SyncIo_Connect(), GWEN_SyncIo_Disconnect(), GWEN_SyncIo_File_CreationMode_OpenExisting, GWEN_SYNCIO_FILE_FLAGS_READ, GWEN_SyncIo_File_new(), GWEN_SyncIo_free(), GWEN_SyncIo_Read(), GWEN_SyncIo_SetFlags(), and GWEN_Text_ToHexBuffer().
Referenced by GWEN_MDigest__HashFileTree().
static int GWEN_MDigest__HashFileTree | ( | GWEN_MDIGEST * | md, |
const char * | baseFolder, | ||
const char * | relFolder, | ||
const char * | ignoreFile, | ||
GWEN_STRINGLIST * | sl | ||
) | [static] |
Definition at line 346 of file mdigest.c.
References DBG_INFO, GWEN_Buffer_AppendString(), GWEN_Buffer_Crop(), GWEN_Buffer_free(), GWEN_Buffer_GetPos(), GWEN_Buffer_GetStart(), GWEN_Buffer_new(), GWEN_DIR_SEPARATOR_S, GWEN_Directory_GetFileEntriesWithType(), GWEN_LOGDOMAIN, GWEN_MDigest__HashFile(), GWEN_StringList_AppendString(), GWEN_StringList_FirstEntry(), GWEN_StringList_free(), GWEN_StringList_new(), GWEN_StringListEntry_Data(), GWEN_StringListEntry_Next(), GWEN_Text_EscapeToBuffer(), and NULL.
Referenced by GWEN_MDigest_HashFileTree().
int GWEN_MDigest_Begin | ( | GWEN_MDIGEST * | md | ) |
Definition at line 120 of file mdigest.c.
References GWEN_ERROR_NOT_IMPLEMENTED.
Referenced by GWEN_Crypt__KeyDataFromText(), GWEN_CryptMgrKeys_SignData(), GWEN_CryptMgrKeys_VerifyData(), GWEN_Gui_CGui__HashPair(), GWEN_MDigest__HashFile(), GWEN_MDigest_PBKDF2(), GWEN_Padd_AddPkcs1Pss(), GWEN_Padd_MGF1(), GWEN_Padd_VerifyPkcs1Pss(), GWEN_Sar_AddFile(), GWEN_Sar_ExtractAndDigestFileDir(), GWEN_Sar_ExtractAndDigestFileLink(), GWEN_Sar_ExtractAndDigestFileReg(), GWEN_Sar_Sign(), and GWEN_Sar_Verify().
int GWEN_MDigest_CheckFileTree | ( | GWEN_MDIGEST * | md, |
const char * | folder, | ||
const char * | checksumFile, | ||
int | strictCheck, | ||
uint32_t | pid | ||
) |
This function verifies the integrity of a given file hierarchy by comparing checksums saved in a given file inside that file tree to the actual checksums of the files in the file tree.
md | digest algorithm to use (see GWEN_MDigest_Rmd160_new et al) |
folder | folder to check |
checkSumFile | name of the file containing the checksums |
strictCheck | if !=0 then an error will be returned if there are files in the tree for which there is no corresponding entry in the checksum file |
pid | id of the open progress dialog (see GWEN_Gui_ProgressStart) |
Definition at line 476 of file mdigest.c.
References DBG_ERROR, GWEN_Buffer_AppendString(), GWEN_Buffer_free(), GWEN_Buffer_GetStart(), GWEN_Buffer_new(), GWEN_DIR_SEPARATOR_S, GWEN_ERROR_VERIFY, GWEN_Gui_ProgressLog2(), GWEN_LoggerLevel_Error, GWEN_LoggerLevel_Warning, GWEN_MDigest_HashFileTree(), GWEN_StringList_Count(), GWEN_StringList_FirstEntry(), GWEN_StringList_free(), GWEN_StringList_new(), GWEN_StringList_RemoveString(), GWEN_StringListEntry_Data(), GWEN_StringListEntry_Next(), GWEN_SyncIo_Helper_ReadFileToStringList(), and I18N.
int GWEN_MDigest_End | ( | GWEN_MDIGEST * | md | ) |
Definition at line 131 of file mdigest.c.
References GWEN_ERROR_NOT_IMPLEMENTED.
Referenced by GWEN_Crypt__KeyDataFromText(), GWEN_CryptMgrKeys_SignData(), GWEN_CryptMgrKeys_VerifyData(), GWEN_Gui_CGui__HashPair(), GWEN_MDigest__HashFile(), GWEN_MDigest_PBKDF2(), GWEN_Padd_AddPkcs1Pss(), GWEN_Padd_MGF1(), GWEN_Padd_VerifyPkcs1Pss(), GWEN_Sar_AddFile(), GWEN_Sar_ExtractAndDigestFileDir(), GWEN_Sar_ExtractAndDigestFileLink(), GWEN_Sar_ExtractAndDigestFileReg(), GWEN_Sar_Sign(), and GWEN_Sar_Verify().
void GWEN_MDigest_free | ( | GWEN_MDIGEST * | md | ) |
Definition at line 53 of file mdigest.c.
References GWEN_FREE_OBJECT.
Referenced by GWEN_Crypt__KeyDataFromText(), GWEN_Crypt_TokenFile__Sign(), GWEN_Crypt_TokenFile__Verify(), GWEN_CryptMgrKeys_SignData(), GWEN_CryptMgrKeys_VerifyData(), GWEN_Gui_CGui__HashPair(), GWEN_Sar_AddFile(), GWEN_Sar_ExtractAndDigestFileDir(), GWEN_Sar_ExtractAndDigestFileLink(), GWEN_Sar_ExtractAndDigestFileReg(), GWEN_Sar_Sign(), GWEN_Sar_Verify(), GWEN_SmallTresor_Decrypt(), and GWEN_SmallTresor_Encrypt().
uint8_t* GWEN_MDigest_GetDigestPtr | ( | GWEN_MDIGEST * | md | ) |
Definition at line 76 of file mdigest.c.
Referenced by GWEN_Crypt__KeyDataFromText(), GWEN_CryptMgrKeys_SignData(), GWEN_CryptMgrKeys_VerifyData(), GWEN_Gui_CGui__HashPair(), GWEN_MDigest__HashFile(), GWEN_MDigest_PBKDF2(), GWEN_Padd_AddPkcs1Pss(), GWEN_Padd_MGF1(), GWEN_Padd_VerifyPkcs1Pss(), GWEN_Sar_AddFile(), GWEN_Sar_ExtractAndDigestFileDir(), GWEN_Sar_ExtractAndDigestFileLink(), GWEN_Sar_ExtractAndDigestFileReg(), GWEN_Sar_Sign(), and GWEN_Sar_Verify().
unsigned int GWEN_MDigest_GetDigestSize | ( | GWEN_MDIGEST * | md | ) |
Definition at line 84 of file mdigest.c.
Referenced by GWEN_CryptMgrKeys_SignData(), GWEN_CryptMgrKeys_VerifyData(), GWEN_Gui_CGui__HashPair(), GWEN_MDigest__HashFile(), GWEN_MDigest_PBKDF2(), GWEN_Padd_AddPkcs1Pss(), GWEN_Padd_MGF1(), GWEN_Padd_VerifyPkcs1Pss(), GWEN_Sar_AddFile(), and GWEN_Sar_Sign().
GWEN_CRYPT_HASHALGOID GWEN_MDigest_GetHashAlgoId | ( | const GWEN_MDIGEST * | md | ) |
int GWEN_MDigest_HashFileTree | ( | GWEN_MDIGEST * | md, |
const char * | folder, | ||
const char * | ignoreFile, | ||
GWEN_STRINGLIST * | sl | ||
) |
Definition at line 459 of file mdigest.c.
References DBG_INFO, GWEN_LOGDOMAIN, GWEN_MDigest__HashFileTree(), and NULL.
Referenced by GWEN_MDigest_CheckFileTree().
Definition at line 39 of file mdigest.c.
References GWEN_INHERIT_INIT, GWEN_LIST_INIT, and GWEN_NEW_OBJECT.
Referenced by GWEN_MDigest_Gc_new().
int GWEN_MDigest_PBKDF2 | ( | GWEN_MDIGEST * | md, |
const char * | password, | ||
const uint8_t * | pSalt, | ||
uint32_t | lSalt, | ||
uint8_t * | pKey, | ||
uint32_t | lKey, | ||
uint32_t | iterations | ||
) |
Generate a key from a given password and a salt according to RFC 2898.
Definition at line 192 of file mdigest.c.
References DBG_ERROR, DBG_INFO, GWEN_ERROR_INVALID, GWEN_LOGDOMAIN, GWEN_MDigest_Begin(), GWEN_MDigest_End(), GWEN_MDigest_GetDigestPtr(), GWEN_MDigest_GetDigestSize(), and GWEN_MDigest_Update().
Referenced by GWEN_SmallTresor_Decrypt(), and GWEN_SmallTresor_Encrypt().
Definition at line 153 of file mdigest.c.
Referenced by GWEN_MDigest_Gc_new().
void GWEN_MDigest_SetDigestBuffer | ( | GWEN_MDIGEST * | md, |
uint8_t * | buf, | ||
unsigned int | l | ||
) |
This function takes over the given buffer
Definition at line 92 of file mdigest.c.
Referenced by GWEN_MDigest_Gc_End().
void GWEN_MDigest_SetDigestLen | ( | GWEN_MDIGEST * | md, |
unsigned int | l | ||
) |
Definition at line 108 of file mdigest.c.
References NULL.
Referenced by GWEN_MDigest_Md5_new(), GWEN_MDigest_Rmd160_new(), GWEN_MDigest_Sha1_new(), and GWEN_MDigest_Sha256_new().
Definition at line 166 of file mdigest.c.
Referenced by GWEN_MDigest_Gc_new().
Definition at line 179 of file mdigest.c.
Referenced by GWEN_MDigest_Gc_new().
int GWEN_MDigest_Update | ( | GWEN_MDIGEST * | md, |
const uint8_t * | buf, | ||
unsigned int | l | ||
) |
Definition at line 142 of file mdigest.c.
References GWEN_ERROR_NOT_IMPLEMENTED.
Referenced by GWEN_Crypt__KeyDataFromText(), GWEN_CryptMgrKeys_SignData(), GWEN_CryptMgrKeys_VerifyData(), GWEN_Gui_CGui__HashPair(), GWEN_MDigest__HashFile(), GWEN_MDigest_PBKDF2(), GWEN_Padd_AddPkcs1Pss(), GWEN_Padd_MGF1(), GWEN_Padd_VerifyPkcs1Pss(), GWEN_Sar_AddAndDigestFileLink(), GWEN_Sar_AddAndDigestFileReg(), GWEN_Sar_AddFile(), GWEN_Sar_ExtractAndDigestFileDir(), GWEN_Sar_ExtractAndDigestFileLink(), GWEN_Sar_ExtractAndDigestFileReg(), GWEN_Sar_Sign(), and GWEN_Sar_Verify().