xref: /dflybsd-src/crypto/libressl/crypto/x509/vpm_int.h (revision 72c3367655e64985522b7a48ddfab613e869dc68)
1*72c33676SMaxim Ag /* $OpenBSD: vpm_int.h,v 1.4 2018/04/06 07:08:20 beck Exp $ */
2*72c33676SMaxim Ag /*
3*72c33676SMaxim Ag  * Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL project
4*72c33676SMaxim Ag  * 2013.
5*72c33676SMaxim Ag  */
6*72c33676SMaxim Ag /* ====================================================================
7*72c33676SMaxim Ag  * Copyright (c) 2013 The OpenSSL Project.  All rights reserved.
8*72c33676SMaxim Ag  *
9*72c33676SMaxim Ag  * Redistribution and use in source and binary forms, with or without
10*72c33676SMaxim Ag  * modification, are permitted provided that the following conditions
11*72c33676SMaxim Ag  * are met:
12*72c33676SMaxim Ag  *
13*72c33676SMaxim Ag  * 1. Redistributions of source code must retain the above copyright
14*72c33676SMaxim Ag  *    notice, this list of conditions and the following disclaimer.
15*72c33676SMaxim Ag  *
16*72c33676SMaxim Ag  * 2. Redistributions in binary form must reproduce the above copyright
17*72c33676SMaxim Ag  *    notice, this list of conditions and the following disclaimer in
18*72c33676SMaxim Ag  *    the documentation and/or other materials provided with the
19*72c33676SMaxim Ag  *    distribution.
20*72c33676SMaxim Ag  *
21*72c33676SMaxim Ag  * 3. All advertising materials mentioning features or use of this
22*72c33676SMaxim Ag  *    software must display the following acknowledgment:
23*72c33676SMaxim Ag  *    "This product includes software developed by the OpenSSL Project
24*72c33676SMaxim Ag  *    for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
25*72c33676SMaxim Ag  *
26*72c33676SMaxim Ag  * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
27*72c33676SMaxim Ag  *    endorse or promote products derived from this software without
28*72c33676SMaxim Ag  *    prior written permission. For written permission, please contact
29*72c33676SMaxim Ag  *    licensing@OpenSSL.org.
30*72c33676SMaxim Ag  *
31*72c33676SMaxim Ag  * 5. Products derived from this software may not be called "OpenSSL"
32*72c33676SMaxim Ag  *    nor may "OpenSSL" appear in their names without prior written
33*72c33676SMaxim Ag  *    permission of the OpenSSL Project.
34*72c33676SMaxim Ag  *
35*72c33676SMaxim Ag  * 6. Redistributions of any form whatsoever must retain the following
36*72c33676SMaxim Ag  *    acknowledgment:
37*72c33676SMaxim Ag  *    "This product includes software developed by the OpenSSL Project
38*72c33676SMaxim Ag  *    for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
39*72c33676SMaxim Ag  *
40*72c33676SMaxim Ag  * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
41*72c33676SMaxim Ag  * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
42*72c33676SMaxim Ag  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
43*72c33676SMaxim Ag  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
44*72c33676SMaxim Ag  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
45*72c33676SMaxim Ag  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
46*72c33676SMaxim Ag  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
47*72c33676SMaxim Ag  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
48*72c33676SMaxim Ag  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
49*72c33676SMaxim Ag  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
50*72c33676SMaxim Ag  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
51*72c33676SMaxim Ag  * OF THE POSSIBILITY OF SUCH DAMAGE.
52*72c33676SMaxim Ag  * ====================================================================
53*72c33676SMaxim Ag  *
54*72c33676SMaxim Ag  * This product includes cryptographic software written by Eric Young
55*72c33676SMaxim Ag  * (eay@cryptsoft.com).  This product includes software written by Tim
56*72c33676SMaxim Ag  * Hudson (tjh@cryptsoft.com).
57*72c33676SMaxim Ag  *
58*72c33676SMaxim Ag  */
59*72c33676SMaxim Ag 
60*72c33676SMaxim Ag __BEGIN_HIDDEN_DECLS
61*72c33676SMaxim Ag 
62*72c33676SMaxim Ag /* internal only structure to hold additional X509_VERIFY_PARAM data */
63*72c33676SMaxim Ag 
64*72c33676SMaxim Ag struct X509_VERIFY_PARAM_ID_st {
65*72c33676SMaxim Ag 	STACK_OF(OPENSSL_STRING) *hosts; /* Set of acceptable names */
66*72c33676SMaxim Ag 	unsigned int hostflags;     /* Flags to control matching features */
67*72c33676SMaxim Ag 	char *peername;             /* Matching hostname in peer certificate */
68*72c33676SMaxim Ag 	char *email;                /* If not NULL email address to match */
69*72c33676SMaxim Ag 	size_t emaillen;
70*72c33676SMaxim Ag 	unsigned char *ip;          /* If not NULL IP address to match */
71*72c33676SMaxim Ag 	size_t iplen;               /* Length of IP address */
72*72c33676SMaxim Ag 	int poisoned;
73*72c33676SMaxim Ag };
74*72c33676SMaxim Ag 
75*72c33676SMaxim Ag __END_HIDDEN_DECLS
76