14 #define DISABLE_DEBUGLOG
17 #include "mdigest_p.h"
20 #include <gwenhywfar/misc.h>
21 #include <gwenhywfar/debug.h>
22 #include <gwenhywfar/directory.h>
23 #include <gwenhywfar/text.h>
24 #include <gwenhywfar/syncio.h>
25 #include <gwenhywfar/syncio_file.h>
26 #include <gwenhywfar/gui.h>
56 if (md->refCount==1) {
71 return md->hashAlgoId;
100 if (md->pDigest && md->lDigest)
110 assert(md->refCount);
112 if (md->pDigest && md->lDigest)
122 assert(md->refCount);
124 return md->beginFn(md);
133 assert(md->refCount);
135 return md->endFn(md);
144 assert(md->refCount);
146 return md->updateFn(md, buf, l);
157 assert(md->refCount);
170 assert(md->refCount);
183 assert(md->refCount);
193 const char *password,
194 const uint8_t *pSalt,
198 uint32_t iterations) {
205 if (lKey>hsize || lKey>
sizeof(hash)) {
243 for (i=2; i<iterations; i++) {
269 memmove(pKey, hash, lKey);
270 memset(hash, 0,
sizeof(hash));
282 uint8_t buffer[1024];
347 const char *baseFolder,
348 const char *relFolder,
349 const char *ignoreFile,
385 if (strcasecmp(s+1,
".")!=0 && strcasecmp(s+1,
"..")!=0) {
400 if (!(ignoreFile && strcasecmp(ignoreFile, s+1)==0)) {
461 const char *ignoreFile,
478 const char *checksumFile,
495 I18N(
"Error unpacking program (%d)"), rv);
512 I18N(
"Error loading checksum file (%d)"), rv);
538 I18N(
"Checksum file does not contain valid lines"));
544 if (allHashesOk==0) {
546 I18N(
"Integrity check on folder failed"));
556 I18N(
"Folder contains %d files without checksum"),
563 I18N(
"Folder contains %d files without checksum"),