From 0e8ad8589dc7e91ef6181a5e6e3d74e816bef806 Mon Sep 17 00:00:00 2001 From: Theodore Tso Date: Fri, 10 Feb 1995 22:53:12 +0000 Subject: [PATCH] Removed ISODE cruft -- moved included .h files from krb5/asn.1/*.h into asn1.h, to simplify the krb5 header file structure. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@4937 dc483132-0cff-0310-8789-dd5450dbe970 --- src/include/krb5/ChangeLog | 7 + src/include/krb5/Makefile.in | 2 +- src/include/krb5/asn.1/ChangeLog | 5 - src/include/krb5/asn.1/KRB5-types-aux.h | 277 ----------------- src/include/krb5/asn.1/asn1defs.h | 302 ------------------- src/include/krb5/asn.1/encode.h | 377 ------------------------ src/include/krb5/asn.1/krb5_is.h | 79 ----- src/include/krb5/asn1.h | 252 +++++++++++++++- 8 files changed, 253 insertions(+), 1048 deletions(-) delete mode 100644 src/include/krb5/asn.1/ChangeLog delete mode 100644 src/include/krb5/asn.1/KRB5-types-aux.h delete mode 100644 src/include/krb5/asn.1/asn1defs.h delete mode 100644 src/include/krb5/asn.1/encode.h delete mode 100644 src/include/krb5/asn.1/krb5_is.h diff --git a/src/include/krb5/ChangeLog b/src/include/krb5/ChangeLog index 8af044642..0b6e15fb8 100644 --- a/src/include/krb5/ChangeLog +++ b/src/include/krb5/ChangeLog @@ -1,3 +1,10 @@ +Fri Feb 10 14:54:26 1995 Theodore Y. Ts'o + + * asn1.h: Removed ISODE cruft -- moved included .h files into + asn1.h, to simplify the krb5 header file structure. + + * Makefile.in (ET_HEADERS): Remove isode cruft. + Mon Feb 06 17:19:04 1995 Chris Provenzano (proven@mit.edu) * func-proto.h (krb5_get_in_tkt()) Changed key_proc args to be the diff --git a/src/include/krb5/Makefile.in b/src/include/krb5/Makefile.in index 3a8c6beec..cefd2189c 100644 --- a/src/include/krb5/Makefile.in +++ b/src/include/krb5/Makefile.in @@ -8,7 +8,7 @@ KRB5_HEADERS = asn1.h base-defs.h ccache.h crc-32.h encryption.h \ proto.h rcache.h rsa-md4.h safepriv.h sysincl.h wordsize.h # these are installed here for the build from lib/krb5/error_tables but # also need to be in the installed tree -ET_HEADERS = adm_err.h asn1_err.h isode_err.h kdb5_err.h krb5_err.h +ET_HEADERS = adm_err.h asn1_err.h kdb5_err.h krb5_err.h BUILT_HEADERS = autoconf.h config.h osconf.h all:: $(BUILT_HEADERS) diff --git a/src/include/krb5/asn.1/ChangeLog b/src/include/krb5/asn.1/ChangeLog deleted file mode 100644 index dd11f8367..000000000 --- a/src/include/krb5/asn.1/ChangeLog +++ /dev/null @@ -1,5 +0,0 @@ -Tue Jun 28 23:20:58 1994 Tom Yu (tlyu at dragons-lair) - - * encode.h: - * krb5_is.h: ....folding in Harry's changes - diff --git a/src/include/krb5/asn.1/KRB5-types-aux.h b/src/include/krb5/asn.1/KRB5-types-aux.h deleted file mode 100644 index fc24de3fc..000000000 --- a/src/include/krb5/asn.1/KRB5-types-aux.h +++ /dev/null @@ -1,277 +0,0 @@ -/* - * include/krb5/asn.1/KRB5-types-aux.h - * - * Copyright 1990,1991 by the Massachusetts Institute of Technology. - * All Rights Reserved. - * - * Export of this software from the United States of America may - * require a specific license from the United States Government. - * It is the responsibility of any person or organization contemplating - * export to obtain such a license before exporting. - * - * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and - * distribute this software and its documentation for any purpose and - * without fee is hereby granted, provided that the above copyright - * notice appear in all copies and that both that copyright notice and - * this permission notice appear in supporting documentation, and that - * the name of M.I.T. not be used in advertising or publicity pertaining - * to distribution of the software without specific, written prior - * permission. M.I.T. makes no representations about the suitability of - * this software for any purpose. It is provided "as is" without express - * or implied warranty. - * - * - */ - -#if defined(__STDC__) || defined(KRB5_PROVIDE_PROTOTYPES) -# define P_TYPE_(s) s -#else -# define P_TYPE_(s) () -#endif - -/* in pepsy output, these are macros. However, we need to pass them around - as function pointers, and pepsy does generate in-lined macros for the - functions, so we just disable the macros */ - -#undef encode_KRB5_Realm -#undef encode_KRB5_PrincipalName -#undef encode_KRB5_HostAddress -#undef encode_KRB5_HostAddresses -#undef encode_KRB5_AuthorizationData -#undef encode_KRB5_KDCOptions -#undef encode_KRB5_LastReq -#undef encode_KRB5_KerberosTime -#undef encode_KRB5_Ticket -#undef encode_KRB5_TransitedEncoding -#undef encode_KRB5_EncTicketPart -#undef encode_KRB5_Authenticator -#undef encode_KRB5_TicketFlags -#undef encode_KRB5_AS__REQ -#undef encode_KRB5_TGS__REQ -#undef encode_KRB5_KDC__REQ -#undef encode_KRB5_PA__DATA -#undef encode_KRB5_KDC__REQ__BODY -#undef encode_KRB5_AS__REP -#undef encode_KRB5_TGS__REP -#undef encode_KRB5_KDC__REP -#undef encode_KRB5_EncASRepPart -#undef encode_KRB5_EncTGSRepPart -#undef encode_KRB5_EncKDCRepPart -#undef encode_KRB5_AP__REQ -#undef encode_KRB5_APOptions -#undef encode_KRB5_AP__REP -#undef encode_KRB5_EncAPRepPart -#undef encode_KRB5_KRB__SAFE -#undef encode_KRB5_KRB__SAFE__BODY -#undef encode_KRB5_KRB__PRIV -#undef encode_KRB5_EncKrbPrivPart -#undef encode_KRB5_KRB__CRED -#undef encode_KRB5_EncKrbCredPart -#undef encode_KRB5_KRB__ERROR -#undef encode_KRB5_EncryptedData -#undef encode_KRB5_EncryptionKey -#undef encode_KRB5_Checksum -#undef encode_KRB5_METHOD__DATA -#undef encode_KRB5_PasswdSequence -#undef encode_KRB5_PasswdData -#undef decode_KRB5_Realm -#undef decode_KRB5_PrincipalName -#undef decode_KRB5_HostAddress -#undef decode_KRB5_HostAddresses -#undef decode_KRB5_AuthorizationData -#undef decode_KRB5_KDCOptions -#undef decode_KRB5_LastReq -#undef decode_KRB5_KerberosTime -#undef decode_KRB5_Ticket -#undef decode_KRB5_TransitedEncoding -#undef decode_KRB5_EncTicketPart -#undef decode_KRB5_Authenticator -#undef decode_KRB5_TicketFlags -#undef decode_KRB5_AS__REQ -#undef decode_KRB5_TGS__REQ -#undef decode_KRB5_KDC__REQ -#undef decode_KRB5_PA__DATA -#undef decode_KRB5_KDC__REQ__BODY -#undef decode_KRB5_AS__REP -#undef decode_KRB5_TGS__REP -#undef decode_KRB5_KDC__REP -#undef decode_KRB5_EncASRepPart -#undef decode_KRB5_EncTGSRepPart -#undef decode_KRB5_EncKDCRepPart -#undef decode_KRB5_AP__REQ -#undef decode_KRB5_APOptions -#undef decode_KRB5_AP__REP -#undef decode_KRB5_EncAPRepPart -#undef decode_KRB5_KRB__SAFE -#undef decode_KRB5_KRB__SAFE__BODY -#undef decode_KRB5_KRB__PRIV -#undef decode_KRB5_EncKrbPrivPart -#undef decode_KRB5_KRB__CRED -#undef decode_KRB5_EncKrbCredPart -#undef decode_KRB5_KRB__ERROR -#undef decode_KRB5_EncryptedData -#undef decode_KRB5_EncryptionKey -#undef decode_KRB5_Checksum -#undef decode_KRB5_METHOD__DATA -#undef decode_KRB5_PasswdSequence -#undef decode_KRB5_PasswdData -#undef free_KRB5_PrincipalName -#undef free_KRB5_HostAddress -#undef free_KRB5_HostAddresses -#undef free_KRB5_AuthorizationData -#undef free_KRB5_LastReq -#undef free_KRB5_Ticket -#undef free_KRB5_TransitedEncoding -#undef free_KRB5_EncTicketPart -#undef free_KRB5_Authenticator -#undef free_KRB5_AS__REQ -#undef free_KRB5_TGS__REQ -#undef free_KRB5_KDC__REQ -#undef free_KRB5_PA__DATA -#undef free_KRB5_KDC__REQ__BODY -#undef free_KRB5_AS__REP -#undef free_KRB5_TGS__REP -#undef free_KRB5_KDC__REP -#undef free_KRB5_EncASRepPart -#undef free_KRB5_EncTGSRepPart -#undef free_KRB5_EncKDCRepPart -#undef free_KRB5_AP__REQ -#undef free_KRB5_AP__REP -#undef free_KRB5_EncAPRepPart -#undef free_KRB5_KRB__SAFE -#undef free_KRB5_KRB__SAFE__BODY -#undef free_KRB5_KRB__PRIV -#undef free_KRB5_EncKrbPrivPart -#undef free_KRB5_KRB__CRED -#undef free_KRB5_EncKrbCredPart -#undef free_KRB5_KRB__ERROR -#undef free_KRB5_EncryptedData -#undef free_KRB5_EncryptionKey -#undef free_KRB5_Checksum -#undef free_KRB5_METHOD__DATA -#undef free_KRB5_PasswdSequence -#undef free_KRB5_PasswdData - -/* KRB5-types.c */ -int encode_KRB5_Realm P_TYPE_((PE *, int , integer , char *, struct type_KRB5_Realm *)); -int encode_KRB5_PrincipalName P_TYPE_((PE *, int , integer , char *, struct type_KRB5_PrincipalName *)); -int encode_KRB5_HostAddress P_TYPE_((PE *, int , integer , char *, struct type_KRB5_HostAddress *)); -int encode_KRB5_HostAddresses P_TYPE_((PE *, int , integer , char *, struct type_KRB5_HostAddresses *)); -int encode_KRB5_AuthorizationData P_TYPE_((PE *, int , integer , char *, struct type_KRB5_AuthorizationData *)); -int encode_KRB5_KDCOptions P_TYPE_((PE *, int , integer , char *, struct type_KRB5_KDCOptions *)); -int encode_KRB5_LastReq P_TYPE_((PE *, int , integer , char *, struct type_KRB5_LastReq *)); -int encode_KRB5_KerberosTime P_TYPE_((PE *, int , integer , char *, struct type_KRB5_KerberosTime *)); -int encode_KRB5_Ticket P_TYPE_((PE *, int , integer , char *, struct type_KRB5_Ticket *)); -int encode_KRB5_TransitedEncoding P_TYPE_((PE *, int , integer , char *, struct type_KRB5_TransitedEncoding *)); -int encode_KRB5_EncTicketPart P_TYPE_((PE *, int , integer , char *, struct type_KRB5_EncTicketPart *)); -int encode_KRB5_Authenticator P_TYPE_((PE *, int , integer , char *, struct type_KRB5_Authenticator *)); -int encode_KRB5_TicketFlags P_TYPE_((PE *, int , integer , char *, struct type_KRB5_TicketFlags *)); -int encode_KRB5_AS__REQ P_TYPE_((PE *, int , integer , char *, struct type_KRB5_AS__REQ *)); -int encode_KRB5_TGS__REQ P_TYPE_((PE *, int , integer , char *, struct type_KRB5_TGS__REQ *)); -int encode_KRB5_KDC__REQ P_TYPE_((PE *, int , integer , char *, struct type_KRB5_KDC__REQ *)); -int encode_KRB5_PA__DATA P_TYPE_((PE *, int , integer , char *, struct type_KRB5_PA__DATA *)); -int encode_KRB5_KDC__REQ__BODY P_TYPE_((PE *, int , integer , char *, struct type_KRB5_KDC__REQ__BODY *)); -int encode_KRB5_AS__REP P_TYPE_((PE *, int , integer , char *, struct type_KRB5_AS__REP *)); -int encode_KRB5_TGS__REP P_TYPE_((PE *, int , integer , char *, struct type_KRB5_TGS__REP *)); -int encode_KRB5_KDC__REP P_TYPE_((PE *, int , integer , char *, struct type_KRB5_KDC__REP *)); -int encode_KRB5_EncASRepPart P_TYPE_((PE *, int , integer , char *, struct type_KRB5_EncASRepPart *)); -int encode_KRB5_EncTGSRepPart P_TYPE_((PE *, int , integer , char *, struct type_KRB5_EncTGSRepPart *)); -int encode_KRB5_EncKDCRepPart P_TYPE_((PE *, int , integer , char *, struct type_KRB5_EncKDCRepPart *)); -int encode_KRB5_AP__REQ P_TYPE_((PE *, int , integer , char *, struct type_KRB5_AP__REQ *)); -int encode_KRB5_APOptions P_TYPE_((PE *, int , integer , char *, struct type_KRB5_APOptions *)); -int encode_KRB5_AP__REP P_TYPE_((PE *, int , integer , char *, struct type_KRB5_AP__REP *)); -int encode_KRB5_EncAPRepPart P_TYPE_((PE *, int , integer , char *, struct type_KRB5_EncAPRepPart *)); -int encode_KRB5_KRB__SAFE P_TYPE_((PE *, int , integer , char *, struct type_KRB5_KRB__SAFE *)); -int encode_KRB5_KRB__SAFE__BODY P_TYPE_((PE *, int , integer , char *, struct type_KRB5_KRB__SAFE__BODY *)); -int encode_KRB5_KRB__PRIV P_TYPE_((PE *, int , integer , char *, struct type_KRB5_KRB__PRIV *)); -int encode_KRB5_EncKrbPrivPart P_TYPE_((PE *, int , integer , char *, struct type_KRB5_EncKrbPrivPart *)); -int encode_KRB5_KRB__CRED P_TYPE_((PE *, int , integer , char *, struct type_KRB5_KRB__CRED *)); -int encode_KRB5_EncKrbCredPart P_TYPE_((PE *, int , integer , char *, struct type_KRB5_EncKrbCredPart *)); -int encode_KRB5_KRB__ERROR P_TYPE_((PE *, int , integer , char *, struct type_KRB5_KRB__ERROR *)); -int encode_KRB5_EncryptedData P_TYPE_((PE *, int , integer , char *, struct type_KRB5_EncryptedData *)); -int encode_KRB5_EncryptionKey P_TYPE_((PE *, int , integer , char *, struct type_KRB5_EncryptionKey *)); -int encode_KRB5_Checksum P_TYPE_((PE *, int , integer , char *, struct type_KRB5_Checksum *)); -int encode_KRB5_METHOD__DATA P_TYPE_((PE *, int , integer , char *, struct type_KRB5_METHOD__DATA *)); -int encode_KRB5_PasswdSequence P_TYPE_((PE *, int , integer , char *, struct type_KRB5_PasswdSequence *)); -int encode_KRB5_PasswdData P_TYPE_((PE *, int , integer , char *, struct type_KRB5_PasswdData *)); - -int decode_KRB5_Realm P_TYPE_((PE , int , integer *, char **, struct type_KRB5_Realm **)); -int decode_KRB5_PrincipalName P_TYPE_((PE , int , integer *, char **, struct type_KRB5_PrincipalName **)); -int decode_KRB5_HostAddress P_TYPE_((PE , int , integer *, char **, struct type_KRB5_HostAddress **)); -int decode_KRB5_HostAddresses P_TYPE_((PE , int , integer *, char **, struct type_KRB5_HostAddresses **)); -int decode_KRB5_AuthorizationData P_TYPE_((PE , int , integer *, char **, struct type_KRB5_AuthorizationData **)); -int decode_KRB5_KDCOptions P_TYPE_((PE , int , integer *, char **, struct type_KRB5_KDCOptions **)); -int decode_KRB5_LastReq P_TYPE_((PE , int , integer *, char **, struct type_KRB5_LastReq **)); -int decode_KRB5_KerberosTime P_TYPE_((PE , int , integer *, char **, struct type_KRB5_KerberosTime **)); -int decode_KRB5_Ticket P_TYPE_((PE , int , integer *, char **, struct type_KRB5_Ticket **)); -int decode_KRB5_TransitedEncoding P_TYPE_((PE , int , integer *, char **, struct type_KRB5_TransitedEncoding **)); -int decode_KRB5_EncTicketPart P_TYPE_((PE , int , integer *, char **, struct type_KRB5_EncTicketPart **)); -int decode_KRB5_Authenticator P_TYPE_((PE , int , integer *, char **, struct type_KRB5_Authenticator **)); -int decode_KRB5_TicketFlags P_TYPE_((PE , int , integer *, char **, struct type_KRB5_TicketFlags **)); -int decode_KRB5_AS__REQ P_TYPE_((PE , int , integer *, char **, struct type_KRB5_AS__REQ **)); -int decode_KRB5_KDC__REQ P_TYPE_((PE , int , integer *, char **, struct type_KRB5_KDC__REQ **)); -int decode_KRB5_TGS__REQ P_TYPE_((PE , int , integer *, char **, struct type_KRB5_TGS__REQ **)); -int decode_KRB5_PA__DATA P_TYPE_((PE , int , integer *, char **, struct type_KRB5_PA__DATA **)); -int decode_KRB5_KDC__REQ__BODY P_TYPE_((PE , int , integer *, char **, struct type_KRB5_KDC__REQ__BODY **)); -int decode_KRB5_AS__REP P_TYPE_((PE , int , integer *, char **, struct type_KRB5_AS__REP **)); -int decode_KRB5_TGS__REP P_TYPE_((PE , int , integer *, char **, struct type_KRB5_TGS__REP **)); -int decode_KRB5_KDC__REP P_TYPE_((PE , int , integer *, char **, struct type_KRB5_KDC__REP **)); -int decode_KRB5_EncASRepPart P_TYPE_((PE , int , integer *, char **, struct type_KRB5_EncASRepPart **)); -int decode_KRB5_EncTGSRepPart P_TYPE_((PE , int , integer *, char **, struct type_KRB5_EncTGSRepPart **)); -int decode_KRB5_EncKDCRepPart P_TYPE_((PE , int , integer *, char **, struct type_KRB5_EncKDCRepPart **)); -int decode_KRB5_AP__REQ P_TYPE_((PE , int , integer *, char **, struct type_KRB5_AP__REQ **)); -int decode_KRB5_APOptions P_TYPE_((PE , int , integer *, char **, struct type_KRB5_APOptions **)); -int decode_KRB5_AP__REP P_TYPE_((PE , int , integer *, char **, struct type_KRB5_AP__REP **)); -int decode_KRB5_EncAPRepPart P_TYPE_((PE , int , integer *, char **, struct type_KRB5_EncAPRepPart **)); -int decode_KRB5_KRB__SAFE P_TYPE_((PE , int , integer *, char **, struct type_KRB5_KRB__SAFE **)); -int decode_KRB5_KRB__SAFE__BODY P_TYPE_((PE , int , integer *, char **, struct type_KRB5_KRB__SAFE__BODY **)); -int decode_KRB5_KRB__PRIV P_TYPE_((PE , int , integer *, char **, struct type_KRB5_KRB__PRIV **)); -int decode_KRB5_EncKrbPrivPart P_TYPE_((PE , int , integer *, char **, struct type_KRB5_EncKrbPrivPart **)); -int decode_KRB5_KRB__CRED P_TYPE_((PE , int , integer *, char **, struct type_KRB5_KRB__CRED **)); -int decode_KRB5_EncKrbCredPart P_TYPE_((PE , int , integer *, char **, struct type_KRB5_EncKrbCredPart **)); -int decode_KRB5_KRB__ERROR P_TYPE_((PE , int , integer *, char **, struct type_KRB5_KRB__ERROR **)); -int decode_KRB5_EncryptedData P_TYPE_((PE , int , integer *, char **, struct type_KRB5_EncryptedData **)); -int decode_KRB5_EncryptionKey P_TYPE_((PE , int , integer *, char **, struct type_KRB5_EncryptionKey **)); -int decode_KRB5_Checksum P_TYPE_((PE , int , integer *, char **, struct type_KRB5_Checksum **)); -int decode_KRB5_METHOD__DATA P_TYPE_((PE , int , integer *, char **, struct type_KRB5_METHOD__DATA **)); -int decode_KRB5_PasswdSequence P_TYPE_((PE , int , integer *, char **, struct type_KRB5_PasswdSequence **)); -int decode_KRB5_PasswdData P_TYPE_((PE , int , integer *, char **, struct type_KRB5_PasswdData **)); - -void free_KRB5_PrincipalName P_TYPE_((struct type_KRB5_PrincipalName *)); -void free_KRB5_HostAddress P_TYPE_((struct type_KRB5_HostAddress *)); -void free_KRB5_HostAddresses P_TYPE_((struct type_KRB5_HostAddresses *)); -void free_KRB5_AuthorizationData P_TYPE_((struct type_KRB5_AuthorizationData *)); -void free_KRB5_LastReq P_TYPE_((struct type_KRB5_LastReq *)); -void free_KRB5_Ticket P_TYPE_((struct type_KRB5_Ticket *)); -void free_KRB5_TransitedEncoding P_TYPE_((struct type_KRB5_TransitedEncoding *)); -void free_KRB5_EncTicketPart P_TYPE_((struct type_KRB5_EncTicketPart *)); -void free_KRB5_Authenticator P_TYPE_((struct type_KRB5_Authenticator *)); -void free_KRB5_AS__REQ P_TYPE_((struct type_KRB5_AS__REQ *)); -void free_KRB5_TGS__REQ P_TYPE_((struct type_KRB5_TGS__REQ *)); -void free_KRB5_KDC__REQ P_TYPE_((struct type_KRB5_KDC__REQ *)); -void free_KRB5_PA__DATA P_TYPE_((struct type_KRB5_PA__DATA *)); -void free_KRB5_KDC__REQ__BODY P_TYPE_((struct type_KRB5_KDC__REQ__BODY *)); -void free_KRB5_AS__REP P_TYPE_((struct type_KRB5_AS__REP *)); -void free_KRB5_TGS__REP P_TYPE_((struct type_KRB5_TGS__REP *)); -void free_KRB5_KDC__REP P_TYPE_((struct type_KRB5_KDC__REP *)); -void free_KRB5_EncASRepPart P_TYPE_((struct type_KRB5_EncASRepPart *)); -void free_KRB5_EncTGSRepPart P_TYPE_((struct type_KRB5_EncTGSRepPart *)); -void free_KRB5_EncKDCRepPart P_TYPE_((struct type_KRB5_EncKDCRepPart *)); -void free_KRB5_AP__REQ P_TYPE_((struct type_KRB5_AP__REQ *)); -void free_KRB5_AP__REP P_TYPE_((struct type_KRB5_AP__REP *)); -void free_KRB5_EncAPRepPart P_TYPE_((struct type_KRB5_EncAPRepPart *)); -void free_KRB5_KRB__SAFE P_TYPE_((struct type_KRB5_KRB__SAFE *)); -void free_KRB5_KRB__SAFE__BODY P_TYPE_((struct type_KRB5_KRB__SAFE__BODY *)); -void free_KRB5_KRB__PRIV P_TYPE_((struct type_KRB5_KRB__PRIV *)); -void free_KRB5_EncKrbPrivPart P_TYPE_((struct type_KRB5_EncKrbPrivPart *)); -void free_KRB5_KRB__CRED P_TYPE_((struct type_KRB5_KRB__CRED *)); -void free_KRB5_EncKrbCredPart P_TYPE_((struct type_KRB5_EncKrbCredPart *)); -void free_KRB5_KRB__ERROR P_TYPE_((struct type_KRB5_KRB__ERROR *)); -void free_KRB5_EncryptedData P_TYPE_((struct type_KRB5_EncryptedData *)); -void free_KRB5_EncryptionKey P_TYPE_((struct type_KRB5_EncryptionKey *)); -void free_KRB5_Checksum P_TYPE_((struct type_KRB5_Checksum *)); -void free_KRB5_METHOD__DATA P_TYPE_((struct type_KRB5_METHOD__DATA *)); -void free_KRB5_PasswdSequence P_TYPE_((struct type_KRB5_PasswdSequence *)); -void free_KRB5_PasswdData P_TYPE_((struct type_KRB5_PasswdData *)); - -#undef P_TYPE_ diff --git a/src/include/krb5/asn.1/asn1defs.h b/src/include/krb5/asn.1/asn1defs.h deleted file mode 100644 index 8887a7344..000000000 --- a/src/include/krb5/asn.1/asn1defs.h +++ /dev/null @@ -1,302 +0,0 @@ -/* - * include/krb5/asn.1/asn1defs.h - * - * Copyright 1990 by the Massachusetts Institute of Technology. - * All Rights Reserved. - * - * Export of this software from the United States of America may - * require a specific license from the United States Government. - * It is the responsibility of any person or organization contemplating - * export to obtain such a license before exporting. - * - * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and - * distribute this software and its documentation for any purpose and - * without fee is hereby granted, provided that the above copyright - * notice appear in all copies and that both that copyright notice and - * this permission notice appear in supporting documentation, and that - * the name of M.I.T. not be used in advertising or publicity pertaining - * to distribution of the software without specific, written prior - * permission. M.I.T. makes no representations about the suitability of - * this software for any purpose. It is provided "as is" without express - * or implied warranty. - * - * - * Function prototypes for asn1 glue routines. - */ - - -#ifndef KRB5_ASN1DEFS__ -#define KRB5_ASN1DEFS__ - - - -/* adat2kadat.c */ -krb5_authdata **KRB5_AuthorizationData2krb5_authdata - PROTOTYPE((const struct type_KRB5_AuthorizationData *, int *)); - -/* addr2kaddr.c */ -krb5_address **KRB5_HostAddresses2krb5_address - PROTOTYPE((const struct type_KRB5_HostAddresses *, int *)); - -/* adr2kadr.c */ -krb5_address *KRB5_HostAddress2krb5_addr - PROTOTYPE((const struct type_KRB5_HostAddress *, int *)); - -/* aprp2kaprp.c */ -krb5_ap_rep *KRB5_AP__REP2krb5_ap_rep - PROTOTYPE((const struct type_KRB5_AP__REP *, int *)); - -/* aprq2kaprq.c */ -krb5_ap_req *KRB5_AP__REQ2krb5_ap_req - PROTOTYPE((const struct type_KRB5_AP__REQ *, int *)); - -/* arep2karep.c */ -krb5_ap_rep_enc_part *KRB5_EncAPRepPart2krb5_ap_rep_enc_part - PROTOTYPE((const struct type_KRB5_EncAPRepPart *, int *)); - -/* auth2kauth.c */ -krb5_authenticator *KRB5_Authenticator2krb5_authenticator - PROTOTYPE((const struct type_KRB5_Authenticator *, int *)); - -/* ck2kck.c */ -krb5_checksum *KRB5_Checksum2krb5_checksum - PROTOTYPE((const struct type_KRB5_Checksum *, int *)); - -/* edat2kedat.c */ -krb5_enc_data *KRB5_EncryptedData2krb5_enc_data - PROTOTYPE((const struct type_KRB5_EncryptedData *, int *)); - -/* ekrp2kekrp.c */ -krb5_enc_kdc_rep_part *KRB5_EncKDCRepPart2krb5_enc_kdc_rep_part - PROTOTYPE((const struct type_KRB5_EncKDCRepPart *, int *)); - -/* enck2kkey.c */ -krb5_keyblock *KRB5_EncryptionKey2krb5_keyblock - PROTOTYPE((const struct type_KRB5_EncryptionKey *, int *)); - -/* err2kerr.c */ -krb5_error *KRB5_KRB__ERROR2krb5_error - PROTOTYPE((const struct type_KRB5_KRB__ERROR *, int *)); - -/* etpt2ketpt.c */ -krb5_enc_tkt_part *KRB5_EncTicketPart2krb5_enc_tkt_part - PROTOTYPE((const struct type_KRB5_EncTicketPart *, int *)); - -/* g2unix.c */ -long gentime2unix - PROTOTYPE((const struct type_UNIV_GeneralizedTime *, int *)); - -/* kadat2adat.c */ -struct type_KRB5_AuthorizationData *krb5_authdata2KRB5_AuthorizationData - PROTOTYPE((krb5_authdata *const *, int *)); - -/* kaddr2addr.c */ -struct type_KRB5_HostAddresses *krb5_address2KRB5_HostAddresses - PROTOTYPE((krb5_address *const *, int *)); - -/* kadr2adr.c */ -struct type_KRB5_HostAddress *krb5_addr2KRB5_HostAddress - PROTOTYPE((krb5_address const *, int *)); - -/* kaprp2aprp.c */ -struct type_KRB5_AP__REP *krb5_ap_rep2KRB5_AP__REP - PROTOTYPE((const krb5_ap_rep *, int *)); - -/* kaprq2aprq.c */ -struct type_KRB5_AP__REQ *krb5_ap_req2KRB5_AP__REQ - PROTOTYPE((const krb5_ap_req *, int *)); - -/* karep2arep.c */ -struct type_KRB5_EncAPRepPart *krb5_ap_rep_enc_part2KRB5_EncAPRepPart - PROTOTYPE((const krb5_ap_rep_enc_part *, int *)); - -/* kasrp2kdcr.c */ -struct type_KRB5_AS__REP *krb5_as_rep2KRB5_KDC__REP - PROTOTYPE((const krb5_kdc_rep *, int *)); - -/* kauth2auth.c */ -struct type_KRB5_Authenticator *krb5_authenticator2KRB5_Authenticator - PROTOTYPE((const krb5_authenticator *, int *)); - -/* kck2ck.c */ -struct type_KRB5_Checksum *krb5_checksum2KRB5_Checksum - PROTOTYPE((const krb5_checksum *, int *)); - -/* kdcr2kasrp.c */ -krb5_kdc_rep *KRB5_KDC__REP2krb5_as_rep - PROTOTYPE((const struct type_KRB5_AS__REP *, int *)); - -/* kdcr2kkdcr.c */ -krb5_kdc_rep *KRB5_KDC__REP2krb5_kdc_rep - PROTOTYPE((const struct type_KRB5_TGS__REP *, int *)); - -/* kdcr2ktgsr.c */ -krb5_kdc_rep *KRB5_KDC__REP2krb5_tgs_rep - PROTOTYPE((const struct type_KRB5_TGS__REP *, int *)); - -/* kedat2edat.c */ -struct type_KRB5_EncryptedData *krb5_enc_data2KRB5_EncryptedData - PROTOTYPE((const krb5_enc_data *, int *)); - -/* kekrp2ekrp.c */ -struct type_KRB5_EncKDCRepPart *krb5_enc_kdc_rep_part2KRB5_EncKDCRepPart - PROTOTYPE((const krb5_enc_kdc_rep_part *, int *)); - -/* kerr2err.c */ -struct type_KRB5_KRB__ERROR *krb5_error2KRB5_KRB__ERROR - PROTOTYPE((const krb5_error *, int *)); - -/* ketpt2etpt.c */ -struct type_KRB5_EncTicketPart *krb5_enc_tkt_part2KRB5_EncTicketPart - PROTOTYPE((const krb5_enc_tkt_part *, int *)); - -/* kkey2enck.c */ -struct type_KRB5_EncryptionKey *krb5_keyblock2KRB5_EncryptionKey - PROTOTYPE((const krb5_keyblock *, int *)); - -/* klsrq2lsrq.c */ -struct type_KRB5_LastReq *krb5_last_req2KRB5_LastReq - PROTOTYPE((krb5_last_req_entry *const *, int *)); - -/* kprep2prep.c */ -struct type_KRB5_EncKrbPrivPart *krb5_priv_enc_part2KRB5_EncKrbPrivPart - PROTOTYPE((const krb5_priv_enc_part *, int *)); - -/* kcrep2crep.c */ -struct type_KRB5_EncKrbCredPart *krb5_cred_enc_part2KRB5_EncKrbCredPart - PROTOTYPE((const krb5_cred_enc_part *, int *)); - -/* kprin2prin.c */ -struct type_KRB5_PrincipalName *krb5_principal2KRB5_PrincipalName - PROTOTYPE((krb5_const_principal , int *)); - -/* kpriv2priv.c */ -struct type_KRB5_KRB__PRIV *krb5_priv2KRB5_KRB__PRIV - PROTOTYPE((const krb5_priv *, int *)); - -/* kcred2cred.c */ -struct type_KRB5_KRB__CRED *krb5_cred2KRB5_KRB__CRED - PROTOTYPE((const krb5_cred *, int *)); - -/* Sandia Passwd Utilities */ -/* kpwds2pwds.c */ -struct type_KRB5_PasswdData *krb5_pwd_data2KRB5_PWD__DATA - PROTOTYPE((krb5_pwd_data const *, int *)); - -/* kpwd2pwd.c */ -struct type_KRB5_PasswdSequence *krb5_pwd_seq2KRB5_PWD__SEQ - PROTOTYPE((const passwd_phrase_element *, int *)); - - -/* ksafe2safe.c */ -struct type_KRB5_KRB__SAFE *krb5_safe2KRB5_KRB__SAFE - PROTOTYPE((const krb5_safe *, int *)); - -/* ktgrq2tgrq.c */ -struct type_KRB5_KDC__REQ__BODY *krb5_kdc_req2KRB5_KDC__REQ__BODY - PROTOTYPE((const krb5_kdc_req *, int *)); -struct type_KRB5_KDC__REQ *krb5_kdc_req2KRB5_KDC__REQ - PROTOTYPE((const krb5_kdc_req *, int *)); - -/* ktgsr2kdcr.c */ -struct type_KRB5_TGS__REP *krb5_tgs_rep2KRB5_KDC__REP - PROTOTYPE((const krb5_kdc_rep *, int *)); - -/* ktkt2tkt.c */ -struct type_KRB5_Ticket *krb5_ticket2KRB5_Ticket - PROTOTYPE((const krb5_ticket *, int *)); - -/* lsrq2klsrq.c */ -krb5_last_req_entry **KRB5_LastReq2krb5_last_req - PROTOTYPE((const struct type_KRB5_LastReq *, int *)); - -/* prep2kprep.c */ -krb5_priv_enc_part *KRB5_EncKrbPrivPart2krb5_priv_enc_part - PROTOTYPE((const struct type_KRB5_EncKrbPrivPart *, int *)); - -/* crep2kcrep.c */ -krb5_cred_enc_part *KRB5_EncKrbCredPart2krb5_cred_enc_part - PROTOTYPE((const struct type_KRB5_EncKrbCredPart *, int *)); - -/* prin2kprin.c */ -krb5_principal KRB5_PrincipalName2krb5_principal - PROTOTYPE((const struct type_KRB5_PrincipalName *, const struct type_KRB5_Realm *, int *)); - -/* priv2kpriv.c */ -krb5_priv *KRB5_KRB__PRIV2krb5_priv - PROTOTYPE((const struct type_KRB5_KRB__PRIV *, int *)); - -/* cred2kcred.c */ -krb5_cred *KRB5_KRB__CRED2krb5_cred - PROTOTYPE((const struct type_KRB5_KRB__CRED *, int *)); - -/* Sandia passwd utilities */ -/* pwds2kpwds.c */ -krb5_pwd_data *KRB5_PWD__DATA2krb5_pwd_data - PROTOTYPE((const struct type_KRB5_PasswdData *, int *)); - -/* pwd2kpwd.c */ - passwd_phrase_element *KRB5_PWD__SEQ2krb5_pwd_seq - PROTOTYPE((const struct type_KRB5_PasswdSequence *, int *)); - - -/* qbuf2data.c */ -krb5_data *qbuf2krb5_data - PROTOTYPE((const struct qbuf *, int *)); - -/* safe2ksafe.c */ -krb5_safe *KRB5_KRB__SAFE2krb5_safe - PROTOTYPE((const struct type_KRB5_KRB__SAFE *, int *)); - -/* tgrq2ktgrq.c */ -krb5_kdc_req *KRB5_KDC__REQ__BODY2krb5_kdc_req - PROTOTYPE((const struct type_KRB5_KDC__REQ__BODY *, int *)); -krb5_kdc_req *KRB5_KDC__REQ2krb5_kdc_req - PROTOTYPE((const struct type_KRB5_KDC__REQ *, int *)); - -/* tkt2ktkt.c */ -krb5_ticket *KRB5_Ticket2krb5_ticket - PROTOTYPE((const struct type_KRB5_Ticket *, int *)); - -/* u2gen.c */ -struct type_UNIV_GeneralizedTime *unix2gentime - PROTOTYPE((const int , int *)); - -/* cvt_flags.c */ -struct type_KRB5_TicketFlags *krb5_flags2KRB5_TicketFlags - PROTOTYPE((const krb5_flags ,int *)); -krb5_flags KRB5_TicketFlags2krb5_flags - PROTOTYPE((const struct type_KRB5_TicketFlags *,int *)); - -/* kpadt2padt.c */ -/* -struct type_KRB5_PA__DATA *krb5_pa_data2KRB5_PA__DATA - PROTOTYPE((krb5_pa_data **, int *)); -*/ - -/* ktran2tran.c */ -struct type_KRB5_TransitedEncoding *krb5_transited2KRB5_TransitedEncoding - PROTOTYPE((const krb5_transited *, int *)); - -/* padt2kpadt.c */ -/* -krb5_pa_data **KRB5_PA__DATA2krb5_pa_data - PROTOTYPE((struct type_KRB5_PA__DATA *, int *)); -*/ - -/* tran2ktran.c */ -krb5_transited *KRB5_TransitedEncoding2krb5_transited - PROTOTYPE((const struct type_KRB5_TransitedEncoding *, int *)); - -/* kkdcr2kdcr.c */ -struct type_KRB5_TGS__REP *krb5_kdc_rep2KRB5_KDC__REP - PROTOTYPE((const krb5_kdc_rep *, int *)); - -/* #include */ - -/* Only put things which don't have pointers to the narrow types in this - section */ - -/* #include */ - -#endif /* KRB5_ASN1DEFS__ */ diff --git a/src/include/krb5/asn.1/encode.h b/src/include/krb5/asn.1/encode.h deleted file mode 100644 index f1f3d0ba0..000000000 --- a/src/include/krb5/asn.1/encode.h +++ /dev/null @@ -1,377 +0,0 @@ -/* - * include/krb5/asn.1/encode.h - * - * Copyright 1990,1991 by the Massachusetts Institute of Technology. - * All Rights Reserved. - * - * Export of this software from the United States of America may - * require a specific license from the United States Government. - * It is the responsibility of any person or organization contemplating - * export to obtain such a license before exporting. - * - * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and - * distribute this software and its documentation for any purpose and - * without fee is hereby granted, provided that the above copyright - * notice appear in all copies and that both that copyright notice and - * this permission notice appear in supporting documentation, and that - * the name of M.I.T. not be used in advertising or publicity pertaining - * to distribution of the software without specific, written prior - * permission. M.I.T. makes no representations about the suitability of - * this software for any purpose. It is provided "as is" without express - * or implied warranty. - * - * - * #defines for using generic encoder routine. - */ - - -#ifndef KRB5_ENCODE_DEFS__ -#define KRB5_ENCODE_DEFS__ - -#ifdef KRB5_USE_ISODE -typedef int (*encoder_func) PROTOTYPE((PE *, int, int, char *, krb5_pointer)); -typedef void (*free_func) PROTOTYPE((krb5_pointer )); -typedef krb5_pointer (*translator_func) PROTOTYPE((krb5_const_pointer, int * )); -typedef int (*decoder_func) PROTOTYPE((PE, int, int, char *, krb5_pointer *)); - -/* encode.c */ -krb5_error_code krb5_encode_generic - PROTOTYPE((krb5_const_pointer, - krb5_data **, - encoder_func, - translator_func, - free_func)); -krb5_error_code krb5_decode_generic - PROTOTYPE((const krb5_data *, - krb5_pointer *, - decoder_func, - translator_func, - free_func)); - -#define encode_krb5_authenticator(pauth, output) \ - krb5_encode_generic((krb5_const_pointer)pauth, output, \ - (encoder_func) encode_KRB5_Authenticator, \ - (translator_func) krb5_authenticator2KRB5_Authenticator, \ - (free_func) free_KRB5_Authenticator) -#define decode_krb5_authenticator(pauth, output) \ - krb5_decode_generic(pauth, (krb5_pointer *) output, \ - (decoder_func) decode_KRB5_Authenticator, \ - (translator_func) KRB5_Authenticator2krb5_authenticator, \ - (free_func) free_KRB5_Authenticator) - -#define encode_krb5_ticket(ptick, output) \ - krb5_encode_generic((krb5_const_pointer)ptick, output, \ - (encoder_func) encode_KRB5_Ticket, \ - (translator_func) krb5_ticket2KRB5_Ticket, \ - (free_func) free_KRB5_Ticket) -#define decode_krb5_ticket(ptick, output) \ - krb5_decode_generic(ptick, (krb5_pointer *) output, \ - (decoder_func) decode_KRB5_Ticket, \ - (translator_func) KRB5_Ticket2krb5_ticket, \ - (free_func) free_KRB5_Ticket) - -#define encode_krb5_encryption_key(ptick, output) \ - krb5_encode_generic((krb5_const_pointer)ptick, output, \ - (encoder_func) encode_KRB5_EncryptionKey, \ - (translator_func) krb5_keyblock2KRB5_EncryptionKey, \ - (free_func) free_KRB5_EncryptionKey) -#define decode_krb5_encryption_key(ptick, output) \ - krb5_decode_generic((krb5_const_pointer)ptick, output, \ - (decoder_func) decode_KRB5_EncryptionKey, \ - (translator_func) KRB5_EncryptionKey2krb5_keyblock, \ - (free_func) free_KRB5_EncryptionKey) - -#define encode_krb5_enc_tkt_part(ptick, output) \ - krb5_encode_generic((krb5_const_pointer)ptick, output, \ - (encoder_func) encode_KRB5_EncTicketPart, \ - (translator_func) krb5_enc_tkt_part2KRB5_EncTicketPart, \ - (free_func) free_KRB5_EncTicketPart) -#define decode_krb5_enc_tkt_part(ptick, output) \ - krb5_decode_generic(ptick, (krb5_pointer *) output, \ - (decoder_func) decode_KRB5_EncTicketPart, \ - (translator_func) KRB5_EncTicketPart2krb5_enc_tkt_part, \ - (free_func) free_KRB5_EncTicketPart) - -#define encode_krb5_enc_kdc_rep_part(req, output) \ - krb5_encode_generic((krb5_const_pointer)req, output, \ - (encoder_func) encode_KRB5_EncTGSRepPart, \ - (translator_func) krb5_enc_kdc_rep_part2KRB5_EncKDCRepPart, \ - (free_func) free_KRB5_EncTGSRepPart) -#define decode_krb5_enc_kdc_rep_part(req, output) \ - krb5_decode_generic(req, (krb5_pointer *) output, \ - (decoder_func) decode_KRB5_EncTGSRepPart, \ - (translator_func) KRB5_EncKDCRepPart2krb5_enc_kdc_rep_part, \ - (free_func) free_KRB5_EncTGSRepPart) - -/* yes, the translation is identical to that used for KDC__REP */ -#define encode_krb5_as_rep(req, output) \ - krb5_encode_generic((krb5_const_pointer)req, output, \ - (encoder_func) encode_KRB5_AS__REP, \ - (translator_func) krb5_kdc_rep2KRB5_KDC__REP, \ - (free_func) free_KRB5_AS__REP) -#define decode_krb5_as_rep(req, output) \ - krb5_decode_generic(req, (krb5_pointer *) output, \ - (decoder_func) decode_KRB5_AS__REP, \ - (translator_func) KRB5_KDC__REP2krb5_kdc_rep, \ - (free_func) free_KRB5_AS__REP) - -/* yes, the translation is identical to that used for KDC__REP */ -#define encode_krb5_tgs_rep(req, output) \ - krb5_encode_generic((krb5_const_pointer)req, output, \ - (encoder_func) encode_KRB5_TGS__REP, \ - (translator_func) krb5_kdc_rep2KRB5_KDC__REP, \ - (free_func) free_KRB5_TGS__REP) -#define decode_krb5_tgs_rep(req, output) \ - krb5_decode_generic(req, (krb5_pointer *) output, \ - (decoder_func) decode_KRB5_TGS__REP, \ - (translator_func) KRB5_KDC__REP2krb5_kdc_rep, \ - (free_func) free_KRB5_TGS__REP) - -#define encode_krb5_ap_req(req, output) \ - krb5_encode_generic((krb5_const_pointer)req, output, \ - (encoder_func) encode_KRB5_AP__REQ, \ - (translator_func) krb5_ap_req2KRB5_AP__REQ, \ - (free_func) free_KRB5_AP__REQ) -#define decode_krb5_ap_req(req, output) \ - krb5_decode_generic(req, (krb5_pointer *) output, \ - (decoder_func) decode_KRB5_AP__REQ, \ - (translator_func) KRB5_AP__REQ2krb5_ap_req, \ - (free_func) free_KRB5_AP__REQ) - -#define encode_krb5_ap_rep(reply, output) \ - krb5_encode_generic((krb5_const_pointer)reply, output, \ - (encoder_func) encode_KRB5_AP__REP, \ - (translator_func) krb5_ap_rep2KRB5_AP__REP, \ - (free_func) free_KRB5_AP__REP) -#define decode_krb5_ap_rep(reply, output) \ - krb5_decode_generic(reply, (krb5_pointer *) output, \ - (decoder_func) decode_KRB5_AP__REP, \ - (translator_func) KRB5_AP__REP2krb5_ap_rep, \ - (free_func) free_KRB5_AP__REP) - -#define encode_krb5_ap_rep_enc_part(rpart, output) \ - krb5_encode_generic((krb5_const_pointer)rpart, output, \ - (encoder_func) encode_KRB5_EncAPRepPart, \ - (translator_func) krb5_ap_rep_enc_part2KRB5_EncAPRepPart, \ - (free_func) free_KRB5_EncAPRepPart) -#define decode_krb5_ap_rep_enc_part(rpart, output) \ - krb5_decode_generic(rpart, (krb5_pointer *) output, \ - (decoder_func) decode_KRB5_EncAPRepPart, \ - (translator_func) KRB5_EncAPRepPart2krb5_ap_rep_enc_part, \ - (free_func) free_KRB5_EncAPRepPart) - -#define encode_krb5_as_req(pauth, output) \ - krb5_encode_generic((krb5_const_pointer)pauth, output, \ - (encoder_func) encode_KRB5_AS__REQ, \ - (translator_func) krb5_kdc_req2KRB5_KDC__REQ, \ - (free_func) free_KRB5_AS__REQ) -#define decode_krb5_as_req(pauth, output) \ - krb5_decode_generic(pauth, (krb5_pointer *) output, \ - (decoder_func) decode_KRB5_AS__REQ, \ - (translator_func) KRB5_KDC__REQ2krb5_kdc_req, \ - (free_func) free_KRB5_AS__REQ) - -#define encode_krb5_tgs_req(req, output) \ - krb5_encode_generic((krb5_const_pointer)req, output, \ - (encoder_func) encode_KRB5_TGS__REQ, \ - (translator_func) krb5_kdc_req2KRB5_KDC__REQ, \ - (free_func) free_KRB5_TGS__REQ) -#define decode_krb5_tgs_req(req, output) \ - krb5_decode_generic(req, (krb5_pointer *) output, \ - (decoder_func) decode_KRB5_TGS__REQ, \ - (translator_func) KRB5_KDC__REQ2krb5_kdc_req, \ - (free_func) free_KRB5_TGS__REQ) - -#define encode_krb5_kdc_req_body(req, output) \ - krb5_encode_generic((krb5_const_pointer)req, output, \ - (encoder_func) encode_KRB5_KDC__REQ__BODY, \ - (translator_func) krb5_kdc_req2KRB5_KDC__REQ__BODY, \ - (free_func) free_KRB5_KDC__REQ__BODY) -#define decode_krb5_kdc_req_body(req, output) \ - krb5_decode_generic(req, (krb5_pointer *) output, \ - (decoder_func) decode_KRB5_KDC__REQ__BODY, \ - (translator_func) KRB5_KDC__REQ__BODY2krb5_kdc_req, \ - (free_func) free_KRB5_KDC__REQ__BODY) - -#define encode_krb5_safe(req, output) \ - krb5_encode_generic((krb5_const_pointer)req, output, \ - (encoder_func) encode_KRB5_KRB__SAFE, \ - (translator_func) krb5_safe2KRB5_KRB__SAFE, \ - (free_func) free_KRB5_KRB__SAFE) -#define decode_krb5_safe(req, output) \ - krb5_decode_generic(req, (krb5_pointer *) output, \ - (decoder_func) decode_KRB5_KRB__SAFE, \ - (translator_func) KRB5_KRB__SAFE2krb5_safe, \ - (free_func) free_KRB5_KRB__SAFE) - -#define encode_krb5_priv(req, output) \ - krb5_encode_generic((krb5_const_pointer)req, output, \ - (encoder_func) encode_KRB5_KRB__PRIV, \ - (translator_func) krb5_priv2KRB5_KRB__PRIV, \ - (free_func) free_KRB5_KRB__PRIV) -#define decode_krb5_priv(req, output) \ - krb5_decode_generic(req, (krb5_pointer *) output, \ - (decoder_func) decode_KRB5_KRB__PRIV, \ - (translator_func) KRB5_KRB__PRIV2krb5_priv, \ - (free_func) free_KRB5_KRB__PRIV) - -#define encode_krb5_enc_priv_part(req, output) \ - krb5_encode_generic((krb5_const_pointer)req, output, \ - (encoder_func) encode_KRB5_EncKrbPrivPart, \ - (translator_func) krb5_priv_enc_part2KRB5_EncKrbPrivPart, \ - (free_func) free_KRB5_EncKrbPrivPart) -#define decode_krb5_enc_priv_part(req, output) \ - krb5_decode_generic(req, (krb5_pointer *) output, \ - (decoder_func) decode_KRB5_EncKrbPrivPart, \ - (translator_func) KRB5_EncKrbPrivPart2krb5_priv_enc_part, \ - (free_func) free_KRB5_EncKrbPrivPart) - -#define encode_krb5_cred(req, output) \ - krb5_encode_generic((krb5_const_pointer)req, output, \ - (encoder_func) encode_KRB5_KRB__CRED, \ - (translator_func) krb5_cred2KRB5_KRB__CRED, \ - (free_func) free_KRB5_KRB__CRED) -#define decode_krb5_cred(req, output) \ - krb5_decode_generic(req, (krb5_pointer *) output, \ - (decoder_func) decode_KRB5_KRB__CRED, \ - (translator_func) KRB5_KRB__CRED2krb5_cred, \ - (free_func) free_KRB5_KRB__CRED) - -#define encode_krb5_enc_cred_part(req, output) \ - krb5_encode_generic((krb5_const_pointer)req, output, \ - (encoder_func) encode_KRB5_EncKrbCredPart, \ - (translator_func) krb5_cred_enc_part2KRB5_EncKrbCredPart, \ - (free_func) free_KRB5_EncKrbCredPart) -#define decode_krb5_enc_cred_part(req, output) \ - krb5_decode_generic(req, (krb5_pointer *) output, \ - (decoder_func) decode_KRB5_EncKrbCredPart, \ - (translator_func) KRB5_EncKrbCredPart2krb5_cred_enc_part, \ - (free_func) free_KRB5_EncKrbCredPart) - -#define encode_krb5_error(req, output) \ - krb5_encode_generic((krb5_const_pointer)req, output, \ - (encoder_func) encode_KRB5_KRB__ERROR, \ - (translator_func) krb5_error2KRB5_KRB__ERROR, \ - (free_func) free_KRB5_KRB__ERROR) -#define decode_krb5_error(req, output) \ - krb5_decode_generic(req, (krb5_pointer *) output, \ - (decoder_func) decode_KRB5_KRB__ERROR, \ - (translator_func) KRB5_KRB__ERROR2krb5_error, \ - (free_func) free_KRB5_KRB__ERROR) - -#define encode_krb5_authdata(pauth, output) \ - krb5_encode_generic((krb5_const_pointer)pauth, output, \ - (encoder_func) encode_KRB5_AuthorizationData, \ - (translator_func) krb5_authdata2KRB5_AuthorizationData, \ - (free_func) free_KRB5_AuthorizationData) -#define decode_krb5_authdata(pauth, output) \ - krb5_decode_generic(pauth, (krb5_pointer *) output, \ - (decoder_func) decode_KRB5_AuthorizationData, \ - (translator_func) KRB5_AuthorizationData2krb5_authdata, \ - (free_func) free_KRB5_AuthorizationData) - -/* Sandia Additions */ -#define encode_krb5_pwd_sequence(pauth, output) \ - krb5_encode_generic((krb5_const_pointer)pauth, output, \ - (encoder_func) encode_KRB5_PasswdSequence, \ - (translator_func) krb5_pwd_seq2KRB5_PWD__SEQ, \ - (free_func) free_KRB5_PasswdSequence) -#define decode_krb5_pwd_sequence(pauth, output) \ - krb5_decode_generic(pauth, (krb5_pointer *) output, \ - (decoder_func) decode_KRB5_PasswdSequence, \ - (translator_func) KRB5_PWD__SEQ2krb5_pwd_seq, \ - (free_func) free_KRB5_PasswdSequence) - -#define encode_krb5_pwd_data(pwd_data, output) \ - krb5_encode_generic((krb5_const_pointer)pwd_data, output, \ - (encoder_func) encode_KRB5_PasswdData, \ - (translator_func) krb5_pwd_data2KRB5_PWD__DATA, \ - (free_func) free_KRB5_PasswdData) -#define decode_krb5_pwd_data(pwd_data, output) \ - krb5_decode_generic(pwd_data, (krb5_pointer *) output, \ - (decoder_func) decode_KRB5_PasswdData, \ - (translator_func) KRB5_PWD__DATA2krb5_pwd_data, \ - (free_func) free_KRB5_PasswdData) - -/* ASN.1 encoding knowledge; KEEP IN SYNC WITH ASN.1 defs! */ -/* here we use some knowledge of ASN.1 encodings */ -/* - Ticket is APPLICATION 1. - Authenticator is APPLICATION 2. - AS_REQ is APPLICATION 10. - AS_REP is APPLICATION 11. - TGS_REQ is APPLICATION 12. - TGS_REP is APPLICATION 13. - AP_REQ is APPLICATION 14. - AP_REP is APPLICATION 15. - KRB_SAFE is APPLICATION 20. - KRB_PRIV is APPLICATION 21. - KRB_CRED is APPLICATION 22. - EncASRepPart is APPLICATION 25. - EncTGSRepPart is APPLICATION 26. - EncAPRepPart is APPLICATION 27. - EncKrbPrivPart is APPLICATION 28. - EncKrbCredPart is APPLICATION 29. - KRB_ERROR is APPLICATION 30. - */ -/* allow either constructed or primitive encoding, so check for bit 6 - set or reset */ -#define krb5_is_krb_ticket(dat)\ - ((dat) && (dat)->length && ((dat)->data[0] == 0x61 ||\ - (dat)->data[0] == 0x41)) -#define krb5_is_krb_authenticator(dat)\ - ((dat) && (dat)->length && ((dat)->data[0] == 0x62 ||\ - (dat)->data[0] == 0x42)) -#define krb5_is_as_req(dat)\ - ((dat) && (dat)->length && ((dat)->data[0] == 0x6a ||\ - (dat)->data[0] == 0x4a)) -#define krb5_is_as_rep(dat)\ - ((dat) && (dat)->length && ((dat)->data[0] == 0x6b ||\ - (dat)->data[0] == 0x4b)) -#define krb5_is_tgs_req(dat)\ - ((dat) && (dat)->length && ((dat)->data[0] == 0x6c ||\ - (dat)->data[0] == 0x4c)) -#define krb5_is_tgs_rep(dat)\ - ((dat) && (dat)->length && ((dat)->data[0] == 0x6d ||\ - (dat)->data[0] == 0x4d)) -#define krb5_is_ap_req(dat)\ - ((dat) && (dat)->length && ((dat)->data[0] == 0x6e ||\ - (dat)->data[0] == 0x4e)) -#define krb5_is_ap_rep(dat)\ - ((dat) && (dat)->length && ((dat)->data[0] == 0x6f ||\ - (dat)->data[0] == 0x4f)) -#define krb5_is_krb_safe(dat)\ - ((dat) && (dat)->length && ((dat)->data[0] == 0x74 ||\ - (dat)->data[0] == 0x54)) -#define krb5_is_krb_priv(dat)\ - ((dat) && (dat)->length && ((dat)->data[0] == 0x75 ||\ - (dat)->data[0] == 0x55)) -#define krb5_is_krb_cred(dat)\ - ((dat) && (dat)->length && ((dat)->data[0] == 0x76 ||\ - (dat)->data[0] == 0x56)) -#define krb5_is_krb_enc_as_rep_part(dat)\ - ((dat) && (dat)->length && ((dat)->data[0] == 0x79 ||\ - (dat)->data[0] == 0x59)) -#define krb5_is_krb_enc_tgs_rep_part(dat)\ - ((dat) && (dat)->length && ((dat)->data[0] == 0x7a ||\ - (dat)->data[0] == 0x5a)) -#define krb5_is_krb_enc_ap_rep_part(dat)\ - ((dat) && (dat)->length && ((dat)->data[0] == 0x7b ||\ - (dat)->data[0] == 0x5b)) -#define krb5_is_krb_enc_krb_priv_part(dat)\ - ((dat) && (dat)->length && ((dat)->data[0] == 0x7c ||\ - (dat)->data[0] == 0x5c)) -#define krb5_is_krb_enc_krb_cred_part(dat)\ - ((dat) && (dat)->length && ((dat)->data[0] == 0x7d ||\ - (dat)->data[0] == 0x5d)) -#define krb5_is_krb_error(dat)\ - ((dat) && (dat)->length && ((dat)->data[0] == 0x7e ||\ - (dat)->data[0] == 0x5e)) - - -#else /* KRB5_USE_ISODE */ -#include -#include -#include -#endif /* KRB5_USE_ISODE */ -#endif /* KRB5_ENCODE_DEFS__ */ diff --git a/src/include/krb5/asn.1/krb5_is.h b/src/include/krb5/asn.1/krb5_is.h deleted file mode 100644 index b548c06b5..000000000 --- a/src/include/krb5/asn.1/krb5_is.h +++ /dev/null @@ -1,79 +0,0 @@ -#ifndef __KRB5_IS_H__ -#define __KRB5_IS_H__ - -/* ASN.1 encoding knowledge; KEEP IN SYNC WITH ASN.1 defs! */ -/* here we use some knowledge of ASN.1 encodings */ -/* - Ticket is APPLICATION 1. - Authenticator is APPLICATION 2. - AS_REQ is APPLICATION 10. - AS_REP is APPLICATION 11. - TGS_REQ is APPLICATION 12. - TGS_REP is APPLICATION 13. - AP_REQ is APPLICATION 14. - AP_REP is APPLICATION 15. - KRB_SAFE is APPLICATION 20. - KRB_PRIV is APPLICATION 21. - KRB_CRED is APPLICATION 22. - EncASRepPart is APPLICATION 25. - EncTGSRepPart is APPLICATION 26. - EncAPRepPart is APPLICATION 27. - EncKrbPrivPart is APPLICATION 28. - EncKrbCredPart is APPLICATION 29. - KRB_ERROR is APPLICATION 30. - */ -/* allow either constructed or primitive encoding, so check for bit 6 - set or reset */ -#define krb5_is_krb_ticket(dat)\ - ((dat) && (dat)->length && ((dat)->data[0] == 0x61 ||\ - (dat)->data[0] == 0x41)) -#define krb5_is_krb_authenticator(dat)\ - ((dat) && (dat)->length && ((dat)->data[0] == 0x62 ||\ - (dat)->data[0] == 0x42)) -#define krb5_is_as_req(dat)\ - ((dat) && (dat)->length && ((dat)->data[0] == 0x6a ||\ - (dat)->data[0] == 0x4a)) -#define krb5_is_as_rep(dat)\ - ((dat) && (dat)->length && ((dat)->data[0] == 0x6b ||\ - (dat)->data[0] == 0x4b)) -#define krb5_is_tgs_req(dat)\ - ((dat) && (dat)->length && ((dat)->data[0] == 0x6c ||\ - (dat)->data[0] == 0x4c)) -#define krb5_is_tgs_rep(dat)\ - ((dat) && (dat)->length && ((dat)->data[0] == 0x6d ||\ - (dat)->data[0] == 0x4d)) -#define krb5_is_ap_req(dat)\ - ((dat) && (dat)->length && ((dat)->data[0] == 0x6e ||\ - (dat)->data[0] == 0x4e)) -#define krb5_is_ap_rep(dat)\ - ((dat) && (dat)->length && ((dat)->data[0] == 0x6f ||\ - (dat)->data[0] == 0x4f)) -#define krb5_is_krb_safe(dat)\ - ((dat) && (dat)->length && ((dat)->data[0] == 0x74 ||\ - (dat)->data[0] == 0x54)) -#define krb5_is_krb_priv(dat)\ - ((dat) && (dat)->length && ((dat)->data[0] == 0x75 ||\ - (dat)->data[0] == 0x55)) -#define krb5_is_krb_cred(dat)\ - ((dat) && (dat)->length && ((dat)->data[0] == 0x76 ||\ - (dat)->data[0] == 0x56)) -#define krb5_is_krb_enc_as_rep_part(dat)\ - ((dat) && (dat)->length && ((dat)->data[0] == 0x79 ||\ - (dat)->data[0] == 0x59)) -#define krb5_is_krb_enc_tgs_rep_part(dat)\ - ((dat) && (dat)->length && ((dat)->data[0] == 0x7a ||\ - (dat)->data[0] == 0x5a)) -#define krb5_is_krb_enc_ap_rep_part(dat)\ - ((dat) && (dat)->length && ((dat)->data[0] == 0x7b ||\ - (dat)->data[0] == 0x5b)) -#define krb5_is_krb_enc_krb_priv_part(dat)\ - ((dat) && (dat)->length && ((dat)->data[0] == 0x7c ||\ - (dat)->data[0] == 0x5c)) -#define krb5_is_krb_enc_krb_cred_part(dat)\ - ((dat) && (dat)->length && ((dat)->data[0] == 0x7d ||\ - (dat)->data[0] == 0x5d)) -#define krb5_is_krb_error(dat)\ - ((dat) && (dat)->length && ((dat)->data[0] == 0x7e ||\ - (dat)->data[0] == 0x5e)) - -#endif diff --git a/src/include/krb5/asn1.h b/src/include/krb5/asn1.h index 2b4ca2d06..89efd4cda 100644 --- a/src/include/krb5/asn1.h +++ b/src/include/krb5/asn1.h @@ -24,15 +24,253 @@ * meta-include file for KRB5 asn.1/ISODE stuff */ - #ifndef KRB5_ASN1__ #define KRB5_ASN1__ -#ifdef KRB5_USE_ISODE -#include -#include -#include -#endif -#include +/* ASN.1 encoding knowledge; KEEP IN SYNC WITH ASN.1 defs! */ +/* here we use some knowledge of ASN.1 encodings */ +/* + Ticket is APPLICATION 1. + Authenticator is APPLICATION 2. + AS_REQ is APPLICATION 10. + AS_REP is APPLICATION 11. + TGS_REQ is APPLICATION 12. + TGS_REP is APPLICATION 13. + AP_REQ is APPLICATION 14. + AP_REP is APPLICATION 15. + KRB_SAFE is APPLICATION 20. + KRB_PRIV is APPLICATION 21. + KRB_CRED is APPLICATION 22. + EncASRepPart is APPLICATION 25. + EncTGSRepPart is APPLICATION 26. + EncAPRepPart is APPLICATION 27. + EncKrbPrivPart is APPLICATION 28. + EncKrbCredPart is APPLICATION 29. + KRB_ERROR is APPLICATION 30. + */ +/* allow either constructed or primitive encoding, so check for bit 6 + set or reset */ +#define krb5_is_krb_ticket(dat)\ + ((dat) && (dat)->length && ((dat)->data[0] == 0x61 ||\ + (dat)->data[0] == 0x41)) +#define krb5_is_krb_authenticator(dat)\ + ((dat) && (dat)->length && ((dat)->data[0] == 0x62 ||\ + (dat)->data[0] == 0x42)) +#define krb5_is_as_req(dat)\ + ((dat) && (dat)->length && ((dat)->data[0] == 0x6a ||\ + (dat)->data[0] == 0x4a)) +#define krb5_is_as_rep(dat)\ + ((dat) && (dat)->length && ((dat)->data[0] == 0x6b ||\ + (dat)->data[0] == 0x4b)) +#define krb5_is_tgs_req(dat)\ + ((dat) && (dat)->length && ((dat)->data[0] == 0x6c ||\ + (dat)->data[0] == 0x4c)) +#define krb5_is_tgs_rep(dat)\ + ((dat) && (dat)->length && ((dat)->data[0] == 0x6d ||\ + (dat)->data[0] == 0x4d)) +#define krb5_is_ap_req(dat)\ + ((dat) && (dat)->length && ((dat)->data[0] == 0x6e ||\ + (dat)->data[0] == 0x4e)) +#define krb5_is_ap_rep(dat)\ + ((dat) && (dat)->length && ((dat)->data[0] == 0x6f ||\ + (dat)->data[0] == 0x4f)) +#define krb5_is_krb_safe(dat)\ + ((dat) && (dat)->length && ((dat)->data[0] == 0x74 ||\ + (dat)->data[0] == 0x54)) +#define krb5_is_krb_priv(dat)\ + ((dat) && (dat)->length && ((dat)->data[0] == 0x75 ||\ + (dat)->data[0] == 0x55)) +#define krb5_is_krb_cred(dat)\ + ((dat) && (dat)->length && ((dat)->data[0] == 0x76 ||\ + (dat)->data[0] == 0x56)) +#define krb5_is_krb_enc_as_rep_part(dat)\ + ((dat) && (dat)->length && ((dat)->data[0] == 0x79 ||\ + (dat)->data[0] == 0x59)) +#define krb5_is_krb_enc_tgs_rep_part(dat)\ + ((dat) && (dat)->length && ((dat)->data[0] == 0x7a ||\ + (dat)->data[0] == 0x5a)) +#define krb5_is_krb_enc_ap_rep_part(dat)\ + ((dat) && (dat)->length && ((dat)->data[0] == 0x7b ||\ + (dat)->data[0] == 0x5b)) +#define krb5_is_krb_enc_krb_priv_part(dat)\ + ((dat) && (dat)->length && ((dat)->data[0] == 0x7c ||\ + (dat)->data[0] == 0x5c)) +#define krb5_is_krb_enc_krb_cred_part(dat)\ + ((dat) && (dat)->length && ((dat)->data[0] == 0x7d ||\ + (dat)->data[0] == 0x5d)) +#define krb5_is_krb_error(dat)\ + ((dat) && (dat)->length && ((dat)->data[0] == 0x7e ||\ + (dat)->data[0] == 0x5e)) + +/************************************************************************* + * Prototypes for krb5_encode.c + *************************************************************************/ + +/* + krb5_error_code encode_krb5_structure(const krb5_structure *rep, + krb5_data **code); + modifies *code + effects Returns the ASN.1 encoding of *rep in **code. + Returns ASN1_MISSING_FIELD if a required field is emtpy in *rep. + Returns ENOMEM if memory runs out. +*/ + +krb5_error_code encode_krb5_authenticator + PROTOTYPE((const krb5_authenticator *rep, krb5_data **code)); + +krb5_error_code encode_krb5_ticket + PROTOTYPE((const krb5_ticket *rep, krb5_data **code)); + +krb5_error_code encode_krb5_encryption_key + PROTOTYPE((const krb5_keyblock *rep, krb5_data **code)); + +krb5_error_code encode_krb5_enc_tkt_part + PROTOTYPE((const krb5_enc_tkt_part *rep, krb5_data **code)); + +krb5_error_code encode_krb5_enc_kdc_rep_part + PROTOTYPE((const krb5_enc_kdc_rep_part *rep, krb5_data **code)); + +/* yes, the translation is identical to that used for KDC__REP */ +krb5_error_code encode_krb5_as_rep + PROTOTYPE((const krb5_kdc_rep *rep, krb5_data **code)); + +/* yes, the translation is identical to that used for KDC__REP */ +krb5_error_code encode_krb5_tgs_rep + PROTOTYPE((const krb5_kdc_rep *rep, krb5_data **code)); + +krb5_error_code encode_krb5_ap_req + PROTOTYPE((const krb5_ap_req *rep, krb5_data **code)); + +krb5_error_code encode_krb5_ap_rep + PROTOTYPE((const krb5_ap_rep *rep, krb5_data **code)); + +krb5_error_code encode_krb5_ap_rep_enc_part + PROTOTYPE((const krb5_ap_rep_enc_part *rep, krb5_data **code)); + +krb5_error_code encode_krb5_as_req + PROTOTYPE((const krb5_kdc_req *rep, krb5_data **code)); + +krb5_error_code encode_krb5_tgs_req + PROTOTYPE((const krb5_kdc_req *rep, krb5_data **code)); + +krb5_error_code encode_krb5_kdc_req_body + PROTOTYPE((const krb5_kdc_req *rep, krb5_data **code)); + +krb5_error_code encode_krb5_safe + PROTOTYPE((const krb5_safe *rep, krb5_data **code)); + +krb5_error_code encode_krb5_priv + PROTOTYPE((const krb5_priv *rep, krb5_data **code)); + +krb5_error_code encode_krb5_enc_priv_part + PROTOTYPE((const krb5_priv_enc_part *rep, krb5_data **code)); + +krb5_error_code encode_krb5_cred + PROTOTYPE((const krb5_cred *rep, krb5_data **code)); + +krb5_error_code encode_krb5_enc_cred_part + PROTOTYPE((const krb5_cred_enc_part *rep, krb5_data **code)); + +krb5_error_code encode_krb5_error + PROTOTYPE((const krb5_error *rep, krb5_data **code)); + +krb5_error_code encode_krb5_authdata + PROTOTYPE((const krb5_authdata **rep, krb5_data **code)); + +krb5_error_code encode_krb5_pwd_sequence + PROTOTYPE((const passwd_phrase_element *rep, krb5_data **code)); + +krb5_error_code encode_krb5_pwd_data + PROTOTYPE((const krb5_pwd_data *rep, krb5_data **code)); + +/************************************************************************* + * End of prototypes for krb5_encode.c + *************************************************************************/ + + +/************************************************************************* + * Prototypes for krb5_decode.c + *************************************************************************/ + +/* + krb5_error_code decode_krb5_structure(const krb5_data *code, + krb5_structure **rep); + + requires Expects **rep to not have been allocated; + a new *rep is allocated regardless of the old value. + effects Decodes *code into **rep. + Returns ENOMEM if memory is exhausted. + Returns asn1 and krb5 errors. +*/ + +krb5_error_code decode_krb5_authenticator + PROTOTYPE((const krb5_data *code, krb5_authenticator **rep)); + +krb5_error_code decode_krb5_ticket + PROTOTYPE((const krb5_data *code, krb5_ticket **rep)); + +krb5_error_code decode_krb5_encryption_key + PROTOTYPE((const krb5_data *output, krb5_keyblock **rep)); + +krb5_error_code decode_krb5_enc_tkt_part + PROTOTYPE((const krb5_data *output, krb5_enc_tkt_part **rep)); + +krb5_error_code decode_krb5_enc_kdc_rep_part + PROTOTYPE((const krb5_data *output, krb5_enc_kdc_rep_part **rep)); + +krb5_error_code decode_krb5_as_rep + PROTOTYPE((const krb5_data *output, krb5_kdc_rep **rep)); + +krb5_error_code decode_krb5_tgs_rep + PROTOTYPE((const krb5_data *output, krb5_kdc_rep **rep)); + +krb5_error_code decode_krb5_ap_req + PROTOTYPE((const krb5_data *output, krb5_ap_req **rep)); + +krb5_error_code decode_krb5_ap_rep + PROTOTYPE((const krb5_data *output, krb5_ap_rep **rep)); + +krb5_error_code decode_krb5_ap_rep_enc_part + PROTOTYPE((const krb5_data *output, krb5_ap_rep_enc_part **rep)); + +krb5_error_code decode_krb5_as_req + PROTOTYPE((const krb5_data *output, krb5_kdc_req **rep)); + +krb5_error_code decode_krb5_tgs_req + PROTOTYPE((const krb5_data *output, krb5_kdc_req **rep)); + +krb5_error_code decode_krb5_kdc_req_body + PROTOTYPE((const krb5_data *output, krb5_kdc_req **rep)); + +krb5_error_code decode_krb5_safe + PROTOTYPE((const krb5_data *output, krb5_safe **rep)); + +krb5_error_code decode_krb5_priv + PROTOTYPE((const krb5_data *output, krb5_priv **rep)); + +krb5_error_code decode_krb5_enc_priv_part + PROTOTYPE((const krb5_data *output, krb5_priv_enc_part **rep)); + +krb5_error_code decode_krb5_cred + PROTOTYPE((const krb5_data *output, krb5_cred **rep)); + +krb5_error_code decode_krb5_enc_cred_part + PROTOTYPE((const krb5_data *output, krb5_cred_enc_part **rep)); + +krb5_error_code decode_krb5_error + PROTOTYPE((const krb5_data *output, krb5_error **rep)); + +krb5_error_code decode_krb5_authdata + PROTOTYPE((const krb5_data *output, krb5_authdata ***rep)); + +krb5_error_code decode_krb5_pwd_sequence + PROTOTYPE((const krb5_data *output, passwd_phrase_element **rep)); + +krb5_error_code decode_krb5_pwd_data + PROTOTYPE((const krb5_data *output, krb5_pwd_data **rep)); + +/************************************************************************* + * End of prototypes for krb5_decode.c + *************************************************************************/ #endif /* KRB5_ASN1__ */ -- 2.26.2