16#include <gwenhywfar/debug.h>
17#include <gwenhywfar/sar.h>
18#include <gwenhywfar/cryptmgrkeys.h>
19#include <gwenhywfar/cryptkeyrsa.h>
43 "Specify the archive file name",
44 "Specify the archive file name"
54 "Specify the keyfile to use",
55 "Specify the keyfile to use"
76 "Show this help screen",
77 "Show this help screen"
87 fprintf(stderr,
"ERROR: Could not parse arguments\n");
95 fprintf(stderr,
"ERROR: Could not create help string\n");
114 fprintf(stderr,
"ERROR: Error reading keyfile [%s] (%d)\n", keyFile, rv);
119 fprintf(stderr,
"ERROR: Error decoding keyfile [%s] (%d)\n", keyFile, rv);
129 fprintf(stderr,
"ERROR: Error opening archive (%d)\n", rv);
140 fprintf(stderr,
"ERROR: Error verifying archive (%d)\n", rv);
151 fprintf(stderr,
"ERROR: Error closing archive (%d)\n", rv);
157 fprintf(stdout,
"Signature is valid.\n");
GWEN_BUFFER * GWEN_Buffer_new(char *buffer, uint32_t size, uint32_t used, int take)
void GWEN_Buffer_free(GWEN_BUFFER *bf)
char * GWEN_Buffer_GetStart(const GWEN_BUFFER *bf)
struct GWEN_CRYPT_KEY GWEN_CRYPT_KEY
GWEN_CRYPT_KEY * GWEN_Crypt_KeyRsa_fromDb(GWEN_DB_NODE *db)
void GWEN_Crypt_KeyRsa_AddFlags(GWEN_CRYPT_KEY *k, uint32_t fl)
#define GWEN_CRYPT_KEYRSA_FLAGS_DIRECTSIGN
void GWEN_CryptMgr_free(GWEN_CRYPTMGR *cm)
struct GWEN_CRYPTMGR GWEN_CRYPTMGR
GWEN_CRYPTMGR * GWEN_CryptMgrKeys_new(const char *localName, GWEN_CRYPT_KEY *localKey, const char *peerName, GWEN_CRYPT_KEY *peerKey, int ownKeys)
const char * GWEN_DB_GetCharValue(GWEN_DB_NODE *n, const char *path, int idx, const char *defVal)
GWEN_DB_NODE * GWEN_DB_Group_new(const char *name)
GWEN_DB_NODE * GWEN_DB_GetGroup(GWEN_DB_NODE *n, uint32_t flags, const char *path)
GWENHYWFAR_API int GWEN_DB_ReadFile(GWEN_DB_NODE *n, const char *fname, uint32_t dbflags)
#define GWEN_DB_FLAGS_DEFAULT
struct GWEN_DB_NODE GWEN_DB_NODE
struct GWEN_BUFFER GWEN_BUFFER
A dynamically resizeable text buffer.
int GWEN_Sar_Verify(GWEN_SAR *sr, GWEN_CRYPTMGR *cm)
int GWEN_Sar_OpenArchive(GWEN_SAR *sr, const char *aname, GWEN_SYNCIO_FILE_CREATIONMODE cm, uint32_t acc)
int GWEN_Sar_CloseArchive(GWEN_SAR *sr, int abandon)
void GWEN_Sar_free(GWEN_SAR *sr)
GWEN_SAR * GWEN_Sar_new(void)
int GWEN_Args_Check(int argc, char **argv, int startAt, uint32_t mode, const GWEN_ARGS *args, GWEN_DB_NODE *db)
int GWEN_Args_Usage(const GWEN_ARGS *args, GWEN_BUFFER *ubuf, GWEN_ARGS_OUTTYPE ot)
#define GWEN_ARGS_FLAGS_HAS_ARGUMENT
#define GWEN_ARGS_RESULT_ERROR
#define GWEN_ARGS_MODE_ALLOW_FREEPARAM
#define GWEN_ARGS_FLAGS_HELP
#define GWEN_ARGS_FLAGS_LAST
#define GWEN_ARGS_RESULT_HELP
@ GWEN_SyncIo_File_CreationMode_OpenExisting
#define GWEN_SYNCIO_FILE_FLAGS_READ
int verifyArchive(GWEN_DB_NODE *dbArgs, int argc, char **argv)