123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151 |
- #ifndef DROPBEAR_PUBKEY_H
- #define DROPBEAR_PUBKEY_H
- struct PluginInstance;
- struct PluginSession;
- #define DROPBEAR_PLUGIN_VERSION_MAJOR 1
- #define DROPBEAR_PLUGIN_VERSION_MINOR 0
- typedef struct PluginInstance *(* PubkeyExtPlugin_newFn)(int verbose,
- const char *options,
- const char *addrstring);
- #define DROPBEAR_PUBKEY_PLUGIN_FNNAME_NEW "plugin_new"
- typedef int (* PubkeyExtPlugin_checkPubKeyFn)(struct PluginInstance *PluginInstance,
- struct PluginSession **sessionInOut,
- const char* algo,
- unsigned int algolen,
- const unsigned char* keyblob,
- unsigned int keybloblen,
- const char *username);
- typedef void (* PubkeyExtPlugin_authSuccessFn)(struct PluginSession *session);
- typedef void (* PubkeyExtPlugin_sessionDeleteFn)(struct PluginSession *session);
- typedef void (* PubkeyExtPlugin_deleteFn)(struct PluginInstance *PluginInstance);
- struct PluginInstance {
- int api_version[2];
- PubkeyExtPlugin_checkPubKeyFn checkpubkey;
- PubkeyExtPlugin_authSuccessFn auth_success;
- PubkeyExtPlugin_sessionDeleteFn delete_session;
- PubkeyExtPlugin_deleteFn delete_plugin;
- };
- typedef char * (* PubkeyExtPlugin_getOptionsFn)(struct PluginSession *session);
- struct PluginSession {
- struct PluginInstance * plugin_instance;
- PubkeyExtPlugin_getOptionsFn get_options;
- };
- #endif
|