diff options
author | Martin Willi <martin@revosec.ch> | 2013-04-29 11:19:57 +0200 |
---|---|---|
committer | Martin Willi <martin@revosec.ch> | 2013-07-18 12:17:54 +0200 |
commit | 7b8edabd8a6ff47d33f3ca47915179b073c72ec7 (patch) | |
tree | 70f087a95ab44ddeddbf691011bc41a84ffe4305 /src/libstrongswan/plugins/keychain/keychain_creds.c | |
parent | 5d36f04ee27ad6324ec3d81b7cb47577d87476de (diff) | |
download | strongswan-7b8edabd8a6ff47d33f3ca47915179b073c72ec7.tar.bz2 strongswan-7b8edabd8a6ff47d33f3ca47915179b073c72ec7.tar.xz |
keychain: add a stub for a credential plugin using OS X Keychain Services
Diffstat (limited to 'src/libstrongswan/plugins/keychain/keychain_creds.c')
-rw-r--r-- | src/libstrongswan/plugins/keychain/keychain_creds.c | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/src/libstrongswan/plugins/keychain/keychain_creds.c b/src/libstrongswan/plugins/keychain/keychain_creds.c new file mode 100644 index 000000000..d3331fa40 --- /dev/null +++ b/src/libstrongswan/plugins/keychain/keychain_creds.c @@ -0,0 +1,67 @@ +/* + * Copyright (C) 2013 Martin Willi + * Copyright (C) 2013 revosec AG + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. See <http://www.fsf.org/copyleft/gpl.txt>. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * for more details. + */ + +#include "keychain_creds.h" + +#include <utils/debug.h> + +typedef struct private_keychain_creds_t private_keychain_creds_t; + +/** + * Private data of an keychain_creds_t object. + */ +struct private_keychain_creds_t { + + /** + * Public keychain_creds_t interface. + */ + keychain_creds_t public; +}; + +METHOD(credential_set_t, create_cert_enumerator, enumerator_t*, + private_keychain_creds_t *this, certificate_type_t cert, key_type_t key, + identification_t *id, bool trusted) +{ + return enumerator_create_empty(); +} + +METHOD(keychain_creds_t, destroy, void, + private_keychain_creds_t *this) +{ + free(this); +} + +/** + * See header + */ +keychain_creds_t *keychain_creds_create() +{ + private_keychain_creds_t *this; + + INIT(this, + .public = { + .set = { + .create_shared_enumerator = (void*)enumerator_create_empty, + .create_private_enumerator = (void*)enumerator_create_empty, + .create_cert_enumerator = _create_cert_enumerator, + .create_cdp_enumerator = (void*)enumerator_create_empty, + .cache_cert = (void*)nop, + }, + .destroy = _destroy, + }, + ); + + return &this->public; +} |