|
gwenhywfar 5.12.0
|
#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.
Macros | |
| #define | DISABLE_DEBUGLOG |
|
static |
Definition at line 341 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 |
Definition at line 411 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_MDigest__HashFileTree(), 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(), and GWEN_MDigest_HashFileTree().


| int GWEN_MDigest_Begin | ( | GWEN_MDIGEST * | md | ) |
Definition at line 129 of file mdigest.c.
References GWEN_ERROR_NOT_IMPLEMENTED.
Referenced by GWEN_Crypt__KeyDataFromText(), GWEN_CryptMgrKeys_SignData(), GWEN_CryptMgrKeys_VerifyData(), GWEN_Gui__HashPair(), GWEN_MDigest__HashFile(), GWEN_MDigest_Digest(), GWEN_MDigest_PBKDF2(), GWEN_Padd_AddPkcs1Pss(), GWEN_Padd_MGF1(), GWEN_Padd_VerifyPkcs1Pss(), GWEN_PasswordStore_CheckDigest(), GWEN_PasswordStore_Digest(), 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 543 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.
Referenced by checkTree().


| int GWEN_MDigest_Digest | ( | GWEN_MDIGEST * | md, |
| const uint8_t * | srcBuf, | ||
| unsigned int | srcLen, | ||
| uint8_t * | dstBuf, | ||
| unsigned int | dstLen ) |
Convenience function, this calls GWEN_MDigest_Begin, GWEN_MDigest_Update and GWEN_MDigest_End and copies the resulting hash into the given buffer.
Definition at line 165 of file mdigest.c.
References DBG_ERROR, DBG_INFO, GWEN_ERROR_BUFFER_OVERFLOW, GWEN_ERROR_INTERNAL, GWEN_LOGDOMAIN, GWEN_MDigest_Begin(), GWEN_MDigest_End(), GWEN_MDigest_GetDigestPtr(), GWEN_MDigest_GetDigestSize(), and GWEN_MDigest_Update().

| int GWEN_MDigest_End | ( | GWEN_MDIGEST * | md | ) |
Definition at line 141 of file mdigest.c.
References GWEN_ERROR_NOT_IMPLEMENTED.
Referenced by GWEN_Crypt__KeyDataFromText(), GWEN_CryptMgrKeys_SignData(), GWEN_CryptMgrKeys_VerifyData(), GWEN_Gui__HashPair(), GWEN_MDigest__HashFile(), GWEN_MDigest_Digest(), GWEN_MDigest_PBKDF2(), GWEN_Padd_AddPkcs1Pss(), GWEN_Padd_MGF1(), GWEN_Padd_VerifyPkcs1Pss(), GWEN_PasswordStore_CheckDigest(), GWEN_PasswordStore_Digest(), 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 54 of file mdigest.c.
References GWEN_FREE_OBJECT, GWEN_INHERIT_FINI, and GWEN_LIST_FINI.
Referenced by checkTree(), GWEN_Crypt__KeyDataFromText(), GWEN_Crypt_TokenFile__Sign(), GWEN_Crypt_TokenFile__Verify(), GWEN_CryptMgrKeys_SignData(), GWEN_CryptMgrKeys_VerifyData(), GWEN_Gui__HashPair(), GWEN_PasswordStore_CheckDigest(), GWEN_PasswordStore_Digest(), GWEN_Sar_AddFile(), GWEN_Sar_ExtractAndDigestFileDir(), GWEN_Sar_ExtractAndDigestFileLink(), GWEN_Sar_ExtractAndDigestFileReg(), GWEN_Sar_Sign(), GWEN_Sar_Verify(), GWEN_SmallTresor_Decrypt(), GWEN_SmallTresor_Encrypt(), and hashTree().

| uint8_t * GWEN_MDigest_GetDigestPtr | ( | GWEN_MDIGEST * | md | ) |
Definition at line 81 of file mdigest.c.
Referenced by GWEN_Crypt__KeyDataFromText(), GWEN_CryptMgrKeys_SignData(), GWEN_CryptMgrKeys_VerifyData(), GWEN_Gui__HashPair(), GWEN_MDigest__HashFile(), GWEN_MDigest_Digest(), GWEN_MDigest_PBKDF2(), GWEN_Padd_AddPkcs1Pss(), GWEN_Padd_MGF1(), GWEN_Padd_VerifyPkcs1Pss(), GWEN_PasswordStore_CheckDigest(), GWEN_PasswordStore_Digest(), 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 90 of file mdigest.c.
Referenced by GWEN_CryptMgrKeys_SignData(), GWEN_CryptMgrKeys_VerifyData(), GWEN_Gui__HashPair(), GWEN_MDigest__HashFile(), GWEN_MDigest_Digest(), GWEN_MDigest_PBKDF2(), GWEN_Padd_AddPkcs1Pss(), GWEN_Padd_MGF1(), GWEN_Padd_VerifyPkcs1Pss(), GWEN_PasswordStore_Digest(), GWEN_Sar_AddFile(), and GWEN_Sar_Sign().

| GWEN_CRYPT_HASHALGOID GWEN_MDigest_GetHashAlgoId | ( | const GWEN_MDIGEST * | md | ) |
Definition at line 72 of file mdigest.c.
References GWEN_CRYPT_HASHALGOID.
| int GWEN_MDigest_HashFileTree | ( | GWEN_MDIGEST * | md, |
| const char * | folder, | ||
| const char * | ignoreFile, | ||
| GWEN_STRINGLIST * | sl ) |
Definition at line 525 of file mdigest.c.
References DBG_INFO, GWEN_LOGDOMAIN, GWEN_MDigest__HashFileTree(), and NULL.
Referenced by GWEN_MDigest_CheckFileTree(), and hashTree().


| GWEN_MDIGEST * GWEN_MDigest_new | ( | GWEN_CRYPT_HASHALGOID | a | ) |
Definition at line 39 of file mdigest.c.
References GWEN_CRYPT_HASHALGOID, GWEN_INHERIT_INIT, GWEN_LIST_INIT, GWEN_MDigest_new(), and GWEN_NEW_OBJECT.
Referenced by GWEN_MDigest_Gc_new(), and GWEN_MDigest_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 255 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().


| GWEN_MDIGEST_BEGIN_FN GWEN_MDigest_SetBeginFn | ( | GWEN_MDIGEST * | md, |
| GWEN_MDIGEST_BEGIN_FN | f ) |
Definition at line 213 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 99 of file mdigest.c.
Referenced by GWEN_MDigest_Gc_End().

| void GWEN_MDigest_SetDigestLen | ( | GWEN_MDIGEST * | md, |
| unsigned int | l ) |
Definition at line 116 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().

| GWEN_MDIGEST_END_FN GWEN_MDigest_SetEndFn | ( | GWEN_MDIGEST * | md, |
| GWEN_MDIGEST_END_FN | f ) |
Definition at line 227 of file mdigest.c.
Referenced by GWEN_MDigest_Gc_new().

| GWEN_MDIGEST_UPDATE_FN GWEN_MDigest_SetUpdateFn | ( | GWEN_MDIGEST * | md, |
| GWEN_MDIGEST_UPDATE_FN | f ) |
Definition at line 241 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 153 of file mdigest.c.
References GWEN_ERROR_NOT_IMPLEMENTED.
Referenced by GWEN_Crypt__KeyDataFromText(), GWEN_CryptMgrKeys_SignData(), GWEN_CryptMgrKeys_VerifyData(), GWEN_Gui__HashPair(), GWEN_MDigest__HashFile(), GWEN_MDigest_Digest(), GWEN_MDigest_PBKDF2(), GWEN_Padd_AddPkcs1Pss(), GWEN_Padd_MGF1(), GWEN_Padd_VerifyPkcs1Pss(), GWEN_PasswordStore_CheckDigest(), GWEN_PasswordStore_Digest(), 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().
