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");
110 int main(
int argc,
char **argv)
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");
struct GWEN_PLUGIN_MANAGER GWEN_PLUGIN_MANAGER
char * GWEN_Buffer_GetStart(const GWEN_BUFFER *bf)
GWENHYWFAR_API GWEN_GUI_KEYDATAFROMTEXT_OPENSSL_FN GWEN_Gui_SetKeyDataFromTextOpenSslFn(GWEN_GUI *gui, GWEN_GUI_KEYDATAFROMTEXT_OPENSSL_FN f)
struct GWEN_DB_NODE GWEN_DB_NODE
struct GWEN_PLUGIN GWEN_PLUGIN
void GWEN_Logger_SetLevel(const char *logDomain, GWEN_LOGGER_LEVEL l)
GWEN_PLUGIN * GWEN_PluginManager_GetPlugin(GWEN_PLUGIN_MANAGER *pm, const char *s)
GWEN_CRYPT_TOKEN * GWEN_Crypt_Token_Plugin_CreateToken(GWEN_PLUGIN *pl, const char *name)
#define GWEN_ARGS_FLAGS_HELP
GWEN_BUFFER * GWEN_Buffer_new(char *buffer, uint32_t size, uint32_t used, int take)
GWEN_PLUGIN_MANAGER * GWEN_PluginManager_FindPluginManager(const char *s)
#define GWEN_ARGS_RESULT_HELP
#define GWEN_ARGS_RESULT_ERROR
int activateKey(GWEN_DB_NODE *dbArgs, int argc, char **argv)
#define GWEN_ARGS_MODE_STOP_AT_FREEPARAM
int GWEN_Args_Usage(const GWEN_ARGS *args, GWEN_BUFFER *ubuf, GWEN_ARGS_OUTTYPE ot)
#define GWEN_ARGS_MODE_ALLOW_FREEPARAM
const char * GWEN_DB_GetCharValue(GWEN_DB_NODE *n, const char *path, int idx, const char *defVal)
void GWEN_Buffer_free(GWEN_BUFFER *bf)
struct GWEN_BUFFER GWEN_BUFFER
A dynamically resizeable text buffer.
struct GWEN_CRYPT_TOKEN GWEN_CRYPT_TOKEN
#define GWEN_ARGS_FLAGS_LAST
int GWEN_Logger_Open(const char *logDomain, const char *ident, const char *file, GWEN_LOGGER_LOGTYPE logtype, GWEN_LOGGER_FACILITY facility)
int GWEN_Funcs_Call_DB_NODE_Args(const GWEN_FUNCS *func, GWEN_DB_NODE *node, int argc, char **argv)
const GWEN_FUNCS * GWEN_Funcs_Find(const GWEN_FUNCS *funcs, const char *name)
int changePin(GWEN_DB_NODE *dbArgs, int argc, char **argv)
int genKey(GWEN_DB_NODE *dbArgs, int argc, char **argv)
int main(int argc, char **argv)
#define DBG_ERROR(dbg_logger, format, args...)
int GWEN_Args_Check(int argc, char **argv, int startAt, uint32_t mode, const GWEN_ARGS *args, GWEN_DB_NODE *db)
int checkTree(GWEN_DB_NODE *dbArgs, int argc, char **argv)
GWEN_CRYPT_TOKEN * getCryptToken(const char *ttype, const char *tname)
#define DBG_INFO(dbg_logger, format, args...)
GWEN_DB_NODE * GWEN_DB_Group_new(const char *name)
void GWEN_Funcs_Usage_With_Help(const GWEN_FUNCS *funcs)
void GWEN_Gui_SetGui(GWEN_GUI *gui)
GWEN_GUI * GWEN_Gui_CGui_new(void)
#define GWEN_ARGS_FLAGS_HAS_ARGUMENT
int GWEN_Buffer_AppendString(GWEN_BUFFER *bf, const char *buffer)