17#include <gwenhywfar/debug.h>
18#include <gwenhywfar/pathmanager.h>
19#include <gwenhywfar/cgui.h>
37# include <gwenhywfar/gui_be.h>
39# include <openssl/err.h>
40# include <openssl/ssl.h>
41# include <openssl/des.h>
50 unsigned char *buffer,
53 DES_cblock left, right;
60 DES_string_to_2keys(password, &left, &right);
90 I18N(
"The plugin could not be found.\n"
91 "Please make sure that you have the following "
92 "packages installed (at least on Debian/Ubuntu):\n"
93 "- libchipcard-plugins-libgwenhywfar (for chipcards)\n"
94 "- libaqbanking-plugins-libgwenhywfar\n"));
101 DBG_ERROR(0,
"Could not create crypt token");
126 "Specify the configuration file",
127 "Specify the configuration file"
138 "force pin entry even if the error counter is not zero"
148 "Show this help screen",
149 "Show this help screen"
171 fprintf(stderr,
"Could not initialize Gwenhywfar.\n");
180 SSL_load_error_strings();
192#ifdef GCT_IS_EXPERIMENTAL
193 fprintf(stderr,
"\n");
194 fprintf(stderr,
"\n");
195 fprintf(stderr,
"=================== WARNING ===================\n");
196 fprintf(stderr,
"This tool is still EXPERIMENTAL !!!\n");
197 fprintf(stderr,
"Please DON'T USE it with your daily key files !\n");
198 fprintf(stderr,
"===============================================\n");
199 fprintf(stderr,
"\n");
200 fprintf(stderr,
"\n");
210 fprintf(stderr,
"ERROR: Could not parse arguments main\n");
221 I18N(
" [GLOBAL OPTIONS] COMMAND "
222 "[LOCAL OPTIONS]\n"));
224 I18N(
"\nGlobal Options:\n"));
226 fprintf(stderr,
"ERROR: Could not create help string\n");
232 fprintf(stderr,
"%s\n",
I18N(
"\nCommands:\n\n"));
243 fprintf(stderr,
"ERROR: Command needed.\n");
252 fprintf(stderr,
"ERROR: Unknown command \"%s\".\n", cmd);
259 "WARNING: Could not deinitialize Gwenhywfar.\n");
int activateKey(GWEN_DB_NODE *dbArgs, int argc, char **argv)
GWEN_BUFFER * GWEN_Buffer_new(char *buffer, uint32_t size, uint32_t used, int take)
void GWEN_Buffer_free(GWEN_BUFFER *bf)
int GWEN_Buffer_AppendString(GWEN_BUFFER *bf, const char *buffer)
char * GWEN_Buffer_GetStart(const GWEN_BUFFER *bf)
GWEN_GUI * GWEN_Gui_CGui_new(void)
int changePin(GWEN_DB_NODE *dbArgs, int argc, char **argv)
int checkTree(GWEN_DB_NODE *dbArgs, int argc, char **argv)
struct GWEN_CRYPT_TOKEN GWEN_CRYPT_TOKEN
GWEN_CRYPT_TOKEN * GWEN_Crypt_Token_Plugin_CreateToken(GWEN_PLUGIN *pl, const char *name)
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)
struct GWEN_DB_NODE GWEN_DB_NODE
#define DBG_INFO(dbg_logger, format,...)
#define DBG_ERROR(dbg_logger, format,...)
void GWEN_Funcs_Usage_With_Help(const GWEN_FUNCS *funcs)
const GWEN_FUNCS * GWEN_Funcs_Find(const GWEN_FUNCS *funcs, const char *name)
int GWEN_Funcs_Call_DB_NODE_Args(const GWEN_FUNCS *func, GWEN_DB_NODE *node, int argc, char **argv)
int main(int argc, char **argv)
GWEN_CRYPT_TOKEN * getCryptToken(const char *ttype, const char *tname)
int genKey(GWEN_DB_NODE *dbArgs, int argc, char **argv)
struct GWEN_BUFFER GWEN_BUFFER
A dynamically resizeable text buffer.
void GWEN_Gui_SetGui(GWEN_GUI *gui)
GWENHYWFAR_API GWEN_GUI_KEYDATAFROMTEXT_OPENSSL_FN GWEN_Gui_SetKeyDataFromTextOpenSslFn(GWEN_GUI *gui, GWEN_GUI_KEYDATAFROMTEXT_OPENSSL_FN f)
int GWEN_Logger_Open(const char *logDomain, const char *ident, const char *file, GWEN_LOGGER_LOGTYPE logtype, GWEN_LOGGER_FACILITY facility)
void GWEN_Logger_SetLevel(const char *logDomain, GWEN_LOGGER_LEVEL l)
@ GWEN_LoggerType_Console
@ GWEN_LoggerFacility_User
@ GWEN_LoggerLevel_Warning
GWEN_PLUGIN_MANAGER * GWEN_PluginManager_FindPluginManager(const char *s)
GWEN_PLUGIN * GWEN_PluginManager_GetPlugin(GWEN_PLUGIN_MANAGER *pm, const char *s)
struct GWEN_PLUGIN_MANAGER GWEN_PLUGIN_MANAGER
struct GWEN_PLUGIN GWEN_PLUGIN
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_STOP_AT_FREEPARAM
#define GWEN_ARGS_MODE_ALLOW_FREEPARAM
#define GWEN_ARGS_FLAGS_HELP
#define GWEN_ARGS_FLAGS_LAST
#define GWEN_ARGS_RESULT_HELP