Annotation of embedaddon/strongswan/src/libcharon/plugins/vici/vici_cert_info.c, revision 1.1
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:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>