* tar xzf utvpn-src-unix-v101-7101-public-2010.06.27.tar.gz
[lab.git] / utvpn / utvpn-unix-v101-7101-public / src / Mayaqua / openssl / krb5_asn.h
diff --git a/utvpn/utvpn-unix-v101-7101-public/src/Mayaqua/openssl/krb5_asn.h b/utvpn/utvpn-unix-v101-7101-public/src/Mayaqua/openssl/krb5_asn.h
new file mode 100644 (file)
index 0000000..fa08967
--- /dev/null
@@ -0,0 +1,256 @@
+/* krb5_asn.h */\r
+/* Written by Vern Staats <staatsvr@asc.hpc.mil> for the OpenSSL project,\r
+** using ocsp/{*.h,*asn*.c} as a starting point\r
+*/\r
+\r
+/* ====================================================================\r
+ * Copyright (c) 1998-2000 The OpenSSL Project.  All rights reserved.\r
+ *\r
+ * Redistribution and use in source and binary forms, with or without\r
+ * modification, are permitted provided that the following conditions\r
+ * are met:\r
+ *\r
+ * 1. Redistributions of source code must retain the above copyright\r
+ *    notice, this list of conditions and the following disclaimer. \r
+ *\r
+ * 2. Redistributions in binary form must reproduce the above copyright\r
+ *    notice, this list of conditions and the following disclaimer in\r
+ *    the documentation and/or other materials provided with the\r
+ *    distribution.\r
+ *\r
+ * 3. All advertising materials mentioning features or use of this\r
+ *    software must display the following acknowledgment:\r
+ *    "This product includes software developed by the OpenSSL Project\r
+ *    for use in the OpenSSL Toolkit. (http://www.openssl.org/)"\r
+ *\r
+ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to\r
+ *    endorse or promote products derived from this software without\r
+ *    prior written permission. For written permission, please contact\r
+ *    openssl-core@openssl.org.\r
+ *\r
+ * 5. Products derived from this software may not be called "OpenSSL"\r
+ *    nor may "OpenSSL" appear in their names without prior written\r
+ *    permission of the OpenSSL Project.\r
+ *\r
+ * 6. Redistributions of any form whatsoever must retain the following\r
+ *    acknowledgment:\r
+ *    "This product includes software developed by the OpenSSL Project\r
+ *    for use in the OpenSSL Toolkit (http://www.openssl.org/)"\r
+ *\r
+ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY\r
+ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\r
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\r
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR\r
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\r
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\r
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\r
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\r
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,\r
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\r
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED\r
+ * OF THE POSSIBILITY OF SUCH DAMAGE.\r
+ * ====================================================================\r
+ *\r
+ * This product includes cryptographic software written by Eric Young\r
+ * (eay@cryptsoft.com).  This product includes software written by Tim\r
+ * Hudson (tjh@cryptsoft.com).\r
+ *\r
+ */\r
+\r
+#ifndef HEADER_KRB5_ASN_H\r
+#define HEADER_KRB5_ASN_H\r
+\r
+/*\r
+#include <krb5.h>\r
+*/\r
+#include <openssl/safestack.h>\r
+\r
+#ifdef  __cplusplus\r
+extern "C" {\r
+#endif\r
+\r
+\r
+/*     ASN.1 from Kerberos RFC 1510\r
+*/\r
+\r
+/*     EncryptedData ::=   SEQUENCE {\r
+**             etype[0]                      INTEGER, -- EncryptionType\r
+**             kvno[1]                       INTEGER OPTIONAL,\r
+**             cipher[2]                     OCTET STRING -- ciphertext\r
+**     }\r
+*/\r
+typedef        struct  krb5_encdata_st\r
+       {\r
+       ASN1_INTEGER                    *etype;\r
+       ASN1_INTEGER                    *kvno;\r
+       ASN1_OCTET_STRING               *cipher;\r
+       }       KRB5_ENCDATA;\r
+\r
+DECLARE_STACK_OF(KRB5_ENCDATA)\r
+\r
+/*     PrincipalName ::=   SEQUENCE {\r
+**             name-type[0]                  INTEGER,\r
+**             name-string[1]                SEQUENCE OF GeneralString\r
+**     }\r
+*/\r
+typedef        struct  krb5_princname_st\r
+       {\r
+       ASN1_INTEGER                    *nametype;\r
+       STACK_OF(ASN1_GENERALSTRING)    *namestring;\r
+       }       KRB5_PRINCNAME;\r
+\r
+DECLARE_STACK_OF(KRB5_PRINCNAME)\r
+\r
+\r
+/*     Ticket ::=      [APPLICATION 1] SEQUENCE {\r
+**             tkt-vno[0]                    INTEGER,\r
+**             realm[1]                      Realm,\r
+**             sname[2]                      PrincipalName,\r
+**             enc-part[3]                   EncryptedData\r
+**     }\r
+*/\r
+typedef        struct  krb5_tktbody_st\r
+       {\r
+       ASN1_INTEGER                    *tktvno;\r
+       ASN1_GENERALSTRING              *realm;\r
+       KRB5_PRINCNAME                  *sname;\r
+       KRB5_ENCDATA                    *encdata;\r
+       }       KRB5_TKTBODY;\r
+\r
+typedef STACK_OF(KRB5_TKTBODY) KRB5_TICKET;\r
+DECLARE_STACK_OF(KRB5_TKTBODY)\r
+\r
+\r
+/*     AP-REQ ::=      [APPLICATION 14] SEQUENCE {\r
+**             pvno[0]                       INTEGER,\r
+**             msg-type[1]                   INTEGER,\r
+**             ap-options[2]                 APOptions,\r
+**             ticket[3]                     Ticket,\r
+**             authenticator[4]              EncryptedData\r
+**     }\r
+**\r
+**     APOptions ::=   BIT STRING {\r
+**             reserved(0), use-session-key(1), mutual-required(2) }\r
+*/\r
+typedef        struct  krb5_ap_req_st\r
+       {\r
+       ASN1_INTEGER                    *pvno;\r
+       ASN1_INTEGER                    *msgtype;\r
+       ASN1_BIT_STRING                 *apoptions;\r
+       KRB5_TICKET                     *ticket;\r
+       KRB5_ENCDATA                    *authenticator;\r
+       }       KRB5_APREQBODY;\r
+\r
+typedef STACK_OF(KRB5_APREQBODY) KRB5_APREQ;\r
+DECLARE_STACK_OF(KRB5_APREQBODY)\r
+\r
+\r
+/*     Authenticator Stuff     */\r
+\r
+\r
+/*     Checksum ::=   SEQUENCE {\r
+**             cksumtype[0]                  INTEGER,\r
+**             checksum[1]                   OCTET STRING\r
+**     }\r
+*/\r
+typedef        struct  krb5_checksum_st\r
+       {\r
+       ASN1_INTEGER                    *ctype;\r
+       ASN1_OCTET_STRING               *checksum;\r
+       }       KRB5_CHECKSUM;\r
+\r
+DECLARE_STACK_OF(KRB5_CHECKSUM)\r
+\r
+\r
+/*     EncryptionKey ::=   SEQUENCE {\r
+**             keytype[0]                    INTEGER,\r
+**             keyvalue[1]                   OCTET STRING\r
+**     }\r
+*/\r
+typedef struct  krb5_encryptionkey_st\r
+       {\r
+       ASN1_INTEGER                    *ktype;\r
+       ASN1_OCTET_STRING               *keyvalue;\r
+       }       KRB5_ENCKEY;\r
+\r
+DECLARE_STACK_OF(KRB5_ENCKEY)\r
+\r
+\r
+/*     AuthorizationData ::=   SEQUENCE OF SEQUENCE {\r
+**             ad-type[0]                    INTEGER,\r
+**              ad-data[1]                    OCTET STRING\r
+**     }\r
+*/\r
+typedef struct krb5_authorization_st\r
+       {\r
+       ASN1_INTEGER                    *adtype;\r
+       ASN1_OCTET_STRING               *addata;\r
+       }       KRB5_AUTHDATA;\r
+\r
+DECLARE_STACK_OF(KRB5_AUTHDATA)\r
+\r
+                       \r
+/*     -- Unencrypted authenticator\r
+**     Authenticator ::=    [APPLICATION 2] SEQUENCE    {\r
+**             authenticator-vno[0]          INTEGER,\r
+**             crealm[1]                     Realm,\r
+**             cname[2]                      PrincipalName,\r
+**             cksum[3]                      Checksum OPTIONAL,\r
+**             cusec[4]                      INTEGER,\r
+**             ctime[5]                      KerberosTime,\r
+**             subkey[6]                     EncryptionKey OPTIONAL,\r
+**             seq-number[7]                 INTEGER OPTIONAL,\r
+**             authorization-data[8]         AuthorizationData OPTIONAL\r
+**     }\r
+*/\r
+typedef struct krb5_authenticator_st\r
+       {\r
+       ASN1_INTEGER                    *avno;\r
+       ASN1_GENERALSTRING              *crealm;\r
+       KRB5_PRINCNAME                  *cname;\r
+       KRB5_CHECKSUM                   *cksum;\r
+       ASN1_INTEGER                    *cusec;\r
+       ASN1_GENERALIZEDTIME            *ctime;\r
+       KRB5_ENCKEY                     *subkey;\r
+       ASN1_INTEGER                    *seqnum;\r
+       KRB5_AUTHDATA                   *authorization;\r
+       }       KRB5_AUTHENTBODY;\r
+\r
+typedef STACK_OF(KRB5_AUTHENTBODY) KRB5_AUTHENT;\r
+DECLARE_STACK_OF(KRB5_AUTHENTBODY)\r
+\r
+\r
+/*  DECLARE_ASN1_FUNCTIONS(type) = DECLARE_ASN1_FUNCTIONS_name(type, type) =\r
+**     type *name##_new(void);\r
+**     void name##_free(type *a);\r
+**     DECLARE_ASN1_ENCODE_FUNCTIONS(type, name, name) =\r
+**      DECLARE_ASN1_ENCODE_FUNCTIONS(type, itname, name) =\r
+**       type *d2i_##name(type **a, const unsigned char **in, long len);\r
+**       int i2d_##name(type *a, unsigned char **out);\r
+**       DECLARE_ASN1_ITEM(itname) = OPENSSL_EXTERN const ASN1_ITEM itname##_it\r
+*/\r
+\r
+DECLARE_ASN1_FUNCTIONS(KRB5_ENCDATA)\r
+DECLARE_ASN1_FUNCTIONS(KRB5_PRINCNAME)\r
+DECLARE_ASN1_FUNCTIONS(KRB5_TKTBODY)\r
+DECLARE_ASN1_FUNCTIONS(KRB5_APREQBODY)\r
+DECLARE_ASN1_FUNCTIONS(KRB5_TICKET)\r
+DECLARE_ASN1_FUNCTIONS(KRB5_APREQ)\r
+\r
+DECLARE_ASN1_FUNCTIONS(KRB5_CHECKSUM)\r
+DECLARE_ASN1_FUNCTIONS(KRB5_ENCKEY)\r
+DECLARE_ASN1_FUNCTIONS(KRB5_AUTHDATA)\r
+DECLARE_ASN1_FUNCTIONS(KRB5_AUTHENTBODY)\r
+DECLARE_ASN1_FUNCTIONS(KRB5_AUTHENT)\r
+\r
+\r
+/* BEGIN ERROR CODES */\r
+/* The following lines are auto generated by the script mkerr.pl. Any changes\r
+ * made after this point may be overwritten when the script is next run.\r
+ */\r
+\r
+#ifdef  __cplusplus\r
+}\r
+#endif\r
+#endif\r
+\r