Return to vici_cert_info.c CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / strongswan / src / libcharon / plugins / vici |
1.1 misho 1: /* 2: * Copyright (C) 2015 Andreas Steffen 3: * HSR Hochschule fuer Technik Rapperswil 4: * 5: * This program is free software; you can redistribute it and/or modify it 6: * under the terms of the GNU General Public License as published by the 7: * Free Software Foundation; either version 2 of the License, or (at your 8: * option) any later version. See <http://www.fsf.org/copyleft/gpl.txt>. 9: * 10: * This program is distributed in the hope that it will be useful, but 11: * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 12: * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 13: * for more details. 14: */ 15: 16: #include "vici_cert_info.h" 17: 18: /** 19: * Legacy vici certificate types and directories created by swanctl 20: */ 21: typedef struct { 22: 23: /** Certificate type string used in legacy vici messages */ 24: char *type_str; 25: /** Base certificate type */ 26: certificate_type_t type; 27: /** X.509 flag */ 28: x509_flag_t flag; 29: } cert_type_t; 30: 31: static cert_type_t cert_types[] = { 32: { "x509", CERT_X509, X509_NONE }, 33: { "x509ca", CERT_X509, X509_CA }, 34: { "x509ocsp", CERT_X509, X509_OCSP_SIGNER }, 35: { "x509aa", CERT_X509, X509_AA }, 36: { "x509ac", CERT_X509_AC, X509_NONE }, 37: { "x509crl", CERT_X509_CRL, X509_NONE }, 38: { "pubkey", CERT_TRUSTED_PUBKEY, X509_NONE }, 39: }; 40: 41: bool vici_cert_info_from_str(char *type_str, certificate_type_t *type, 42: x509_flag_t *flag) 43: { 44: int i; 45: 46: for (i = 0; i < countof(cert_types); i++) 47: { 48: if (strcaseeq(type_str, cert_types[i].type_str)) 49: { 50: *type = cert_types[i].type; 51: *flag = cert_types[i].flag; 52: return TRUE; 53: } 54: } 55: return FALSE; 56: } 57: