summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/include/kerberosIV/krb4-proto.h169
-rw-r--r--src/include/krb5/asn.1/KRB5-types-aux.h202
-rw-r--r--src/include/krb5/base-defs.h16
-rw-r--r--src/lib/crypto/md4/md4.c2
4 files changed, 197 insertions, 192 deletions
diff --git a/src/include/kerberosIV/krb4-proto.h b/src/include/kerberosIV/krb4-proto.h
index 129ed90188..bce67fd4aa 100644
--- a/src/include/kerberosIV/krb4-proto.h
+++ b/src/include/kerberosIV/krb4-proto.h
@@ -15,211 +15,212 @@
#ifndef _KRB4_PROTO_H__
#define _KRB4_PROTO_H__
-#ifdef __STDC__
-# define P(s) s
+#ifndef P_TYPE_
+#if defined(__STDC__) || defined(KRB5_PROVIDE_PROTOTYPES)
+# define P_TYPE_(s) s
#else
-# define P(s) ()
+# define P_TYPE_(s) ()
#endif
+#endif /* P_TYPE_ */
/* add_ticket.c */
-int add_ticket P((KTEXT , int , char *, int , char *, char *, char *, int , KTEXT ));
+int add_ticket P_TYPE_((KTEXT , int , char *, int , char *, char *, char *, int , KTEXT ));
/* cr_err_reply.c */
-void cr_err_reply P((KTEXT , char *, char *, char *, u_long , u_long , char *));
+void cr_err_reply P_TYPE_((KTEXT , char *, char *, char *, u_long , u_long , char *));
/* create_auth_reply.c */
-KTEXT create_auth_reply P((char *, char *, char *, long , int , unsigned long , int , KTEXT ));
+KTEXT create_auth_reply P_TYPE_((char *, char *, char *, long , int , unsigned long , int , KTEXT ));
/* create_ciph.c */
-int create_ciph P((KTEXT , C_Block , char *, char *, char *, unsigned long , int , KTEXT , unsigned long , C_Block ));
+int create_ciph P_TYPE_((KTEXT , C_Block , char *, char *, char *, unsigned long , int , KTEXT , unsigned long , C_Block ));
/* create_death_packet.c */
-KTEXT krb_create_death_packet P((char *));
+KTEXT krb_create_death_packet P_TYPE_((char *));
/* create_ticket.c */
-int krb_create_ticket P((KTEXT , unsigned int , char *, char *, char *, long , char *, int , long , char *, char *, C_Block ));
+int krb_create_ticket P_TYPE_((KTEXT , unsigned int , char *, char *, char *, long , char *, int , long , char *, char *, C_Block ));
/* debug_decl.c */
/* decomp_ticket.c */
-int decomp_ticket P((KTEXT , unsigned char *, char *, char *, char *, unsigned long *, C_Block , int *, unsigned long *, char *, char *, C_Block , Key_schedule ));
+int decomp_ticket P_TYPE_((KTEXT , unsigned char *, char *, char *, char *, unsigned long *, C_Block , int *, unsigned long *, char *, char *, C_Block , Key_schedule ));
/* dest_tkt.c */
-int dest_tkt P((void ));
+int dest_tkt P_TYPE_((void ));
/* extract_ticket.c */
-int extract_ticket P((KTEXT , int , char *, int *, int *, char *, KTEXT ));
+int extract_ticket P_TYPE_((KTEXT , int , char *, int *, int *, char *, KTEXT ));
/* fgetst.c */
-int fgetst P((FILE *, char *, int ));
+int fgetst P_TYPE_((FILE *, char *, int ));
/* get_ad_tkt.c */
-int get_ad_tkt P((char *, char *, char *, int ));
+int get_ad_tkt P_TYPE_((char *, char *, char *, int ));
/* get_admhst.c */
-int krb_get_admhst P((char *, char *, int ));
+int krb_get_admhst P_TYPE_((char *, char *, int ));
/* get_cred.c */
-int krb_get_cred P((char *, char *, char *, CREDENTIALS *));
+int krb_get_cred P_TYPE_((char *, char *, char *, CREDENTIALS *));
/* get_in_tkt.c */
-int krb_get_pw_in_tkt P((char *, char *, char *, char *, char *, int , char *));
-int placebo_read_password P((des_cblock *, char *, int ));
-int placebo_read_pw_string P((char *, int , char *, int ));
+int krb_get_pw_in_tkt P_TYPE_((char *, char *, char *, char *, char *, int , char *));
+int placebo_read_password P_TYPE_((des_cblock *, char *, int ));
+int placebo_read_pw_string P_TYPE_((char *, int , char *, int ));
/* get_krbhst.c */
-int krb_get_krbhst P((char *, char *, int ));
+int krb_get_krbhst P_TYPE_((char *, char *, int ));
/* get_krbrlm.c */
-int krb_get_lrealm P((char *, int ));
+int krb_get_lrealm P_TYPE_((char *, int ));
/* get_phost.c */
-char *krb_get_phost P((char *));
+char *krb_get_phost P_TYPE_((char *));
/* get_pw_tkt.c */
-int get_pw_tkt P((char *, char *, char *, char *));
+int get_pw_tkt P_TYPE_((char *, char *, char *, char *));
/* get_request.c */
-int get_request P((KTEXT , int , char **, char **));
+int get_request P_TYPE_((KTEXT , int , char **, char **));
/* get_svc_in_tkt.c */
-int krb_get_svc_in_tkt P((char *, char *, char *, char *, char *, int , char *));
+int krb_get_svc_in_tkt P_TYPE_((char *, char *, char *, char *, char *, int , char *));
/* get_tf_fullname.c */
-int krb_get_tf_fullname P((char *, char *, char *, char *));
+int krb_get_tf_fullname P_TYPE_((char *, char *, char *, char *));
/* get_tf_realm.c */
-int krb_get_tf_realm P((char *, char *));
+int krb_get_tf_realm P_TYPE_((char *, char *));
/* getopt.c */
-int getopt P((int , char **, char *));
+int getopt P_TYPE_((int , char **, char *));
/* getrealm.c */
-char *krb_realmofhost P((char *));
+char *krb_realmofhost P_TYPE_((char *));
/* getst.c */
-int getst P((int , char *, int ));
+int getst P_TYPE_((int , char *, int ));
/* in_tkt.c */
-int in_tkt P((char *, char *));
+int in_tkt P_TYPE_((char *, char *));
/* k_gethostname.c */
-int k_gethostname P((char *, int ));
+int k_gethostname P_TYPE_((char *, int ));
/* klog.c */
-char *klog P((int , char *, int , int , int , int , int , int , int , int , int , int ));
-int kset_logfile P((char *));
+char *klog P_TYPE_((int , char *, int , int , int , int , int , int , int , int , int , int ));
+int kset_logfile P_TYPE_((char *));
/* kname_parse.c */
-int kname_parse P((char *, char *, char *, char *));
-int k_isname P((char *));
-int k_isinst P((char *));
-int k_isrealm P((char *));
+int kname_parse P_TYPE_((char *, char *, char *, char *));
+int k_isname P_TYPE_((char *));
+int k_isinst P_TYPE_((char *));
+int k_isrealm P_TYPE_((char *));
/* kntoln.c */
-int krb_kntoln P((AUTH_DAT *, char *));
+int krb_kntoln P_TYPE_((AUTH_DAT *, char *));
/* krb_err_txt.c */
/* krb_get_in_tkt.c */
-int krb_get_in_tkt P((char *, char *, char *, char *, char *, int , int (*key_proc )(), int (*decrypt_proc )(), char *));
+int krb_get_in_tkt P_TYPE_((char *, char *, char *, char *, char *, int , int (*key_proc )(), int (*decrypt_proc )(), char *));
/* kuserok.c */
-int kuserok P((AUTH_DAT *, char *));
+int kuserok P_TYPE_((AUTH_DAT *, char *));
/* log.c */
-void log P((char *, int , int , int , int , int , int , int , int , int , int ));
-int set_logfile P((char *));
-int new_log P((long , char *));
+void log P_TYPE_((char *, int , int , int , int , int , int , int , int , int , int ));
+int set_logfile P_TYPE_((char *));
+int new_log P_TYPE_((long , char *));
/* mk_err.c */
-long krb_mk_err P((u_char *, long , char *));
+long krb_mk_err P_TYPE_((u_char *, long , char *));
/* mk_priv.c */
-long krb_mk_priv P((u_char *, u_char *, u_long , Key_schedule , C_Block , struct sockaddr_in *, struct sockaddr_in *));
+long krb_mk_priv P_TYPE_((u_char *, u_char *, u_long , Key_schedule , C_Block , struct sockaddr_in *, struct sockaddr_in *));
/* mk_req.c */
-int krb_mk_req P((KTEXT , char *, char *, char *, long ));
-int krb_set_lifetime P((int ));
+int krb_mk_req P_TYPE_((KTEXT , char *, char *, char *, long ));
+int krb_set_lifetime P_TYPE_((int ));
/* mk_safe.c */
-long krb_mk_safe P((u_char *, u_char *, u_long , C_Block *, struct sockaddr_in *, struct sockaddr_in *));
+long krb_mk_safe P_TYPE_((u_char *, u_char *, u_long , C_Block *, struct sockaddr_in *, struct sockaddr_in *));
/* month_sname.c */
-char *month_sname P((int ));
+char *month_sname P_TYPE_((int ));
/* netread.c */
-int krb_net_read P((int , char *, int ));
+int krb_net_read P_TYPE_((int , char *, int ));
/* netwrite.c */
-int krb_net_write P((int , char *, int ));
+int krb_net_write P_TYPE_((int , char *, int ));
/* one.c */
/* pkt_cipher.c */
-KTEXT pkt_cipher P((KTEXT ));
+KTEXT pkt_cipher P_TYPE_((KTEXT ));
/* pkt_clen.c */
-int pkt_clen P((KTEXT ));
+int pkt_clen P_TYPE_((KTEXT ));
/* rd_err.c */
-int krb_rd_err P((u_char *, u_long , long *, MSG_DAT *));
+int krb_rd_err P_TYPE_((u_char *, u_long , long *, MSG_DAT *));
/* rd_priv.c */
-long krb_rd_priv P((u_char *, u_long , Key_schedule , C_Block , struct sockaddr_in *, struct sockaddr_in *, MSG_DAT *));
+long krb_rd_priv P_TYPE_((u_char *, u_long , Key_schedule , C_Block , struct sockaddr_in *, struct sockaddr_in *, MSG_DAT *));
/* rd_req.c */
-int krb_set_key P((char *, int ));
-int krb_rd_req P((KTEXT , char *, char *, long , AUTH_DAT *, char *));
+int krb_set_key P_TYPE_((char *, int ));
+int krb_rd_req P_TYPE_((KTEXT , char *, char *, long , AUTH_DAT *, char *));
/* rd_safe.c */
-long krb_rd_safe P((u_char *, u_long , C_Block *, struct sockaddr_in *, struct sockaddr_in *, MSG_DAT *));
+long krb_rd_safe P_TYPE_((u_char *, u_long , C_Block *, struct sockaddr_in *, struct sockaddr_in *, MSG_DAT *));
/* read_service_key.c */
-int read_service_key P((char *, char *, char *, int , char *, char *));
+int read_service_key P_TYPE_((char *, char *, char *, int , char *, char *));
/* recvauth.c */
-int krb_recvauth P((long , int , KTEXT , char *, char *, struct sockaddr_in *, struct sockaddr_in *, AUTH_DAT *, char *, Key_schedule , char *));
+int krb_recvauth P_TYPE_((long , int , KTEXT , char *, char *, struct sockaddr_in *, struct sockaddr_in *, AUTH_DAT *, char *, Key_schedule , char *));
/* save_credentials.c */
-int save_credentials P((char *, char *, char *, C_Block , int , int , KTEXT , long ));
+int save_credentials P_TYPE_((char *, char *, char *, C_Block , int , int , KTEXT , long ));
/* send_to_kdc.c */
-int send_to_kdc P((KTEXT , KTEXT , char *));
+int send_to_kdc P_TYPE_((KTEXT , KTEXT , char *));
/* sendauth.c */
-int krb_sendauth P((long , int , KTEXT , char *, char *, char *, u_long , MSG_DAT *, CREDENTIALS *, Key_schedule , struct sockaddr_in *, struct sockaddr_in *, char *));
-int krb_sendsvc P((int , char *));
+int krb_sendauth P_TYPE_((long , int , KTEXT , char *, char *, char *, u_long , MSG_DAT *, CREDENTIALS *, Key_schedule , struct sockaddr_in *, struct sockaddr_in *, char *));
+int krb_sendsvc P_TYPE_((int , char *));
/* setenv.c */
-/* int setenv P((char *, char *, int )); -- is also in telnetd/local-proto.h */
-void unsetenv P((char *));
-char *getenv P((char *));
-char *_findenv P((char *, int *));
+/* int setenv P_TYPE_((char *, char *, int )); -- is also in telnetd/local-proto.h */
+void unsetenv P_TYPE_((char *));
+char *getenv P_TYPE_((char *));
+char *_findenv P_TYPE_((char *, int *));
/* stime.c */
-char *stime P((long *));
+char *stime P_TYPE_((long *));
/* tf_shm.c */
-int krb_shm_create P((char *));
-int krb_is_diskless P((void ));
-int krb_shm_dest P((char *));
+int krb_shm_create P_TYPE_((char *));
+int krb_is_diskless P_TYPE_((void ));
+int krb_shm_dest P_TYPE_((char *));
/* tf_util.c */
-int tf_init P((char *, int ));
-int tf_get_pname P((char *));
-int tf_get_pinst P((char *));
-int tf_get_cred P((CREDENTIALS *));
-int tf_close P((void ));
-int tf_save_cred P((char *, char *, char *, C_Block , int , int , KTEXT , long ));
+int tf_init P_TYPE_((char *, int ));
+int tf_get_pname P_TYPE_((char *));
+int tf_get_pinst P_TYPE_((char *));
+int tf_get_cred P_TYPE_((CREDENTIALS *));
+int tf_close P_TYPE_((void ));
+int tf_save_cred P_TYPE_((char *, char *, char *, C_Block , int , int , KTEXT , long ));
/* tkt_string.c */
-char *tkt_string P((void ));
-void krb_set_tkt_string P((char *));
+char *tkt_string P_TYPE_((void ));
+void krb_set_tkt_string P_TYPE_((char *));
/* util.c */
-int ad_print P((AUTH_DAT *));
-int placebo_cblock_print P((des_cblock ));
+int ad_print P_TYPE_((AUTH_DAT *));
+int placebo_cblock_print P_TYPE_((des_cblock ));
-#undef P
#endif /* _KRB4_PROTO_H__ */
diff --git a/src/include/krb5/asn.1/KRB5-types-aux.h b/src/include/krb5/asn.1/KRB5-types-aux.h
index 00645129c8..c75e395d46 100644
--- a/src/include/krb5/asn.1/KRB5-types-aux.h
+++ b/src/include/krb5/asn.1/KRB5-types-aux.h
@@ -11,10 +11,10 @@
*
*/
-#ifdef __STDC__
-# define P(s) s
+#if defined(__STDC__) || defined(KRB5_PROVIDE_PROTOTYPES)
+# define P_TYPE_(s) s
#else
-# define P(s) ()
+# define P_TYPE_(s) ()
#endif
/* in pepsy output, these are macros. However, we need to pass them around
@@ -120,103 +120,103 @@
#undef free_KRB5_METHOD__DATA
/* KRB5-types.c */
-int encode_KRB5_Realm P((PE *, int , integer , char *, struct type_KRB5_Realm *));
-int encode_KRB5_PrincipalName P((PE *, int , integer , char *, struct type_KRB5_PrincipalName *));
-int encode_KRB5_HostAddress P((PE *, int , integer , char *, struct type_KRB5_HostAddress *));
-int encode_KRB5_HostAddresses P((PE *, int , integer , char *, struct type_KRB5_HostAddresses *));
-int encode_KRB5_AuthorizationData P((PE *, int , integer , char *, struct type_KRB5_AuthorizationData *));
-int encode_KRB5_KDCOptions P((PE *, int , integer , char *, struct type_KRB5_KDCOptions *));
-int encode_KRB5_LastReq P((PE *, int , integer , char *, struct type_KRB5_LastReq *));
-int encode_KRB5_KerberosTime P((PE *, int , integer , char *, struct type_KRB5_KerberosTime *));
-int encode_KRB5_Ticket P((PE *, int , integer , char *, struct type_KRB5_Ticket *));
-int encode_KRB5_TransitedEncoding P((PE *, int , integer , char *, struct type_KRB5_TransitedEncoding *));
-int encode_KRB5_EncTicketPart P((PE *, int , integer , char *, struct type_KRB5_EncTicketPart *));
-int encode_KRB5_Authenticator P((PE *, int , integer , char *, struct type_KRB5_Authenticator *));
-int encode_KRB5_TicketFlags P((PE *, int , integer , char *, struct type_KRB5_TicketFlags *));
-int encode_KRB5_AS__REQ P((PE *, int , integer , char *, struct type_KRB5_AS__REQ *));
-int encode_KRB5_TGS__REQ P((PE *, int , integer , char *, struct type_KRB5_TGS__REQ *));
-int encode_KRB5_PA__DATA P((PE *, int , integer , char *, struct type_KRB5_PA__DATA *));
-int encode_KRB5_KDC__REQ__BODY P((PE *, int , integer , char *, struct type_KRB5_KDC__REQ__BODY *));
-int encode_KRB5_AS__REP P((PE *, int , integer , char *, struct type_KRB5_AS__REP *));
-int encode_KRB5_TGS__REP P((PE *, int , integer , char *, struct type_KRB5_TGS__REP *));
-int encode_KRB5_EncASRepPart P((PE *, int , integer , char *, struct type_KRB5_EncASRepPart *));
-int encode_KRB5_EncTGSRepPart P((PE *, int , integer , char *, struct type_KRB5_EncTGSRepPart *));
-int encode_KRB5_AP__REQ P((PE *, int , integer , char *, struct type_KRB5_AP__REQ *));
-int encode_KRB5_APOptions P((PE *, int , integer , char *, struct type_KRB5_APOptions *));
-int encode_KRB5_AP__REP P((PE *, int , integer , char *, struct type_KRB5_AP__REP *));
-int encode_KRB5_EncAPRepPart P((PE *, int , integer , char *, struct type_KRB5_EncAPRepPart *));
-int encode_KRB5_KRB__SAFE P((PE *, int , integer , char *, struct type_KRB5_KRB__SAFE *));
-int encode_KRB5_KRB__SAFE__BODY P((PE *, int , integer , char *, struct type_KRB5_KRB__SAFE__BODY *));
-int encode_KRB5_KRB__PRIV P((PE *, int , integer , char *, struct type_KRB5_KRB__PRIV *));
-int encode_KRB5_EncKrbPrivPart P((PE *, int , integer , char *, struct type_KRB5_EncKrbPrivPart *));
-int encode_KRB5_KRB__ERROR P((PE *, int , integer , char *, struct type_KRB5_KRB__ERROR *));
-int encode_KRB5_EncryptedData P((PE *, int , integer , char *, struct type_KRB5_EncryptedData *));
-int encode_KRB5_EncryptionKey P((PE *, int , integer , char *, struct type_KRB5_EncryptionKey *));
-int encode_KRB5_Checksum P((PE *, int , integer , char *, struct type_KRB5_Checksum *));
-int encode_KRB5_METHOD__DATA P((PE *, int , integer , char *, struct type_KRB5_METHOD__DATA *));
-int decode_KRB5_Realm P((PE , int , integer *, char **, struct type_KRB5_Realm **));
-int decode_KRB5_PrincipalName P((PE , int , integer *, char **, struct type_KRB5_PrincipalName **));
-int decode_KRB5_HostAddress P((PE , int , integer *, char **, struct type_KRB5_HostAddress **));
-int decode_KRB5_HostAddresses P((PE , int , integer *, char **, struct type_KRB5_HostAddresses **));
-int decode_KRB5_AuthorizationData P((PE , int , integer *, char **, struct type_KRB5_AuthorizationData **));
-int decode_KRB5_KDCOptions P((PE , int , integer *, char **, struct type_KRB5_KDCOptions **));
-int decode_KRB5_LastReq P((PE , int , integer *, char **, struct type_KRB5_LastReq **));
-int decode_KRB5_KerberosTime P((PE , int , integer *, char **, struct type_KRB5_KerberosTime **));
-int decode_KRB5_Ticket P((PE , int , integer *, char **, struct type_KRB5_Ticket **));
-int decode_KRB5_TransitedEncoding P((PE , int , integer *, char **, struct type_KRB5_TransitedEncoding **));
-int decode_KRB5_EncTicketPart P((PE , int , integer *, char **, struct type_KRB5_EncTicketPart **));
-int decode_KRB5_Authenticator P((PE , int , integer *, char **, struct type_KRB5_Authenticator **));
-int decode_KRB5_TicketFlags P((PE , int , integer *, char **, struct type_KRB5_TicketFlags **));
-int decode_KRB5_AS__REQ P((PE , int , integer *, char **, struct type_KRB5_AS__REQ **));
-int decode_KRB5_TGS__REQ P((PE , int , integer *, char **, struct type_KRB5_TGS__REQ **));
-int decode_KRB5_PA__DATA P((PE , int , integer *, char **, struct type_KRB5_PA__DATA **));
-int decode_KRB5_KDC__REQ__BODY P((PE , int , integer *, char **, struct type_KRB5_KDC__REQ__BODY **));
-int decode_KRB5_AS__REP P((PE , int , integer *, char **, struct type_KRB5_AS__REP **));
-int decode_KRB5_TGS__REP P((PE , int , integer *, char **, struct type_KRB5_TGS__REP **));
-int decode_KRB5_EncASRepPart P((PE , int , integer *, char **, struct type_KRB5_EncASRepPart **));
-int decode_KRB5_EncTGSRepPart P((PE , int , integer *, char **, struct type_KRB5_EncTGSRepPart **));
-int decode_KRB5_AP__REQ P((PE , int , integer *, char **, struct type_KRB5_AP__REQ **));
-int decode_KRB5_APOptions P((PE , int , integer *, char **, struct type_KRB5_APOptions **));
-int decode_KRB5_AP__REP P((PE , int , integer *, char **, struct type_KRB5_AP__REP **));
-int decode_KRB5_EncAPRepPart P((PE , int , integer *, char **, struct type_KRB5_EncAPRepPart **));
-int decode_KRB5_KRB__SAFE P((PE , int , integer *, char **, struct type_KRB5_KRB__SAFE **));
-int decode_KRB5_KRB__SAFE__BODY P((PE , int , integer *, char **, struct type_KRB5_KRB__SAFE__BODY **));
-int decode_KRB5_KRB__PRIV P((PE , int , integer *, char **, struct type_KRB5_KRB__PRIV **));
-int decode_KRB5_EncKrbPrivPart P((PE , int , integer *, char **, struct type_KRB5_EncKrbPrivPart **));
-int decode_KRB5_KRB__ERROR P((PE , int , integer *, char **, struct type_KRB5_KRB__ERROR **));
-int decode_KRB5_EncryptedData P((PE , int , integer *, char **, struct type_KRB5_EncryptedData **));
-int decode_KRB5_EncryptionKey P((PE , int , integer *, char **, struct type_KRB5_EncryptionKey **));
-int decode_KRB5_Checksum P((PE , int , integer *, char **, struct type_KRB5_Checksum **));
-int decode_KRB5_METHOD__DATA P((PE , int , integer *, char **, struct type_KRB5_METHOD__DATA **));
+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_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_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_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__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 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_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_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_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__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 **));
-void free_KRB5_PrincipalName P((struct type_KRB5_PrincipalName *));
-void free_KRB5_HostAddress P((struct type_KRB5_HostAddress *));
-void free_KRB5_HostAddresses P((struct type_KRB5_HostAddresses *));
-void free_KRB5_AuthorizationData P((struct type_KRB5_AuthorizationData *));
-void free_KRB5_LastReq P((struct type_KRB5_LastReq *));
-void free_KRB5_Ticket P((struct type_KRB5_Ticket *));
-void free_KRB5_TransitedEncoding P((struct type_KRB5_TransitedEncoding *));
-void free_KRB5_EncTicketPart P((struct type_KRB5_EncTicketPart *));
-void free_KRB5_Authenticator P((struct type_KRB5_Authenticator *));
-void free_KRB5_AS__REQ P((struct type_KRB5_AS__REQ *));
-void free_KRB5_TGS__REQ P((struct type_KRB5_TGS__REQ *));
-void free_KRB5_PA__DATA P((struct type_KRB5_PA__DATA *));
-void free_KRB5_KDC__REQ__BODY P((struct type_KRB5_KDC__REQ__BODY *));
-void free_KRB5_AS__REP P((struct type_KRB5_AS__REP *));
-void free_KRB5_TGS__REP P((struct type_KRB5_TGS__REP *));
-void free_KRB5_EncASRepPart P((struct type_KRB5_EncASRepPart *));
-void free_KRB5_EncTGSRepPart P((struct type_KRB5_EncTGSRepPart *));
-void free_KRB5_AP__REQ P((struct type_KRB5_AP__REQ *));
-void free_KRB5_AP__REP P((struct type_KRB5_AP__REP *));
-void free_KRB5_EncAPRepPart P((struct type_KRB5_EncAPRepPart *));
-void free_KRB5_KRB__SAFE P((struct type_KRB5_KRB__SAFE *));
-void free_KRB5_KRB__SAFE__BODY P((struct type_KRB5_KRB__SAFE__BODY *));
-void free_KRB5_KRB__PRIV P((struct type_KRB5_KRB__PRIV *));
-void free_KRB5_EncKrbPrivPart P((struct type_KRB5_EncKrbPrivPart *));
-void free_KRB5_KRB__ERROR P((struct type_KRB5_KRB__ERROR *));
-void free_KRB5_EncryptedData P((struct type_KRB5_EncryptedData *));
-void free_KRB5_EncryptionKey P((struct type_KRB5_EncryptionKey *));
-void free_KRB5_Checksum P((struct type_KRB5_Checksum *));
-void free_KRB5_METHOD__DATA P((struct type_KRB5_METHOD__DATA *));
+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_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_EncASRepPart P_TYPE_((struct type_KRB5_EncASRepPart *));
+void free_KRB5_EncTGSRepPart P_TYPE_((struct type_KRB5_EncTGSRepPart *));
+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__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 *));
-#undef P
+#undef P_TYPE_
diff --git a/src/include/krb5/base-defs.h b/src/include/krb5/base-defs.h
index 41c39fe58d..abb490ee71 100644
--- a/src/include/krb5/base-defs.h
+++ b/src/include/krb5/base-defs.h
@@ -49,6 +49,15 @@ typedef struct _krb5_data {
#ifdef __STDC__
typedef void * krb5_pointer;
typedef void const * krb5_const_pointer;
+#else
+/* make const & volatile available without effect */
+#define const
+#define volatile
+typedef char * krb5_pointer;
+typedef char * krb5_const_pointer;
+#endif /* __STDC__ */
+
+#if defined(__STDC__) || defined(KRB5_PROVIDE_PROTOTYPES)
#define PROTOTYPE(x) x
#ifdef NARROW_PROTOTYPES
#define DECLARG(type, val) type val
@@ -58,15 +67,10 @@ typedef void const * krb5_const_pointer;
#define OLDDECLARG(type, val) type val;
#endif /* Narrow prototypes */
#else
-/* make const & volatile available without effect */
-#define const
-#define volatile
-typedef char * krb5_pointer;
-typedef char * krb5_const_pointer;
#define PROTOTYPE(x) ()
#define DECLARG(type, val) val
#define OLDDECLARG(type, val) type val;
-#endif /* __STDC__ */
+#endif /* STDC or PROTOTYPES */
typedef krb5_data ** krb5_principal; /* array of strings */
/* CONVENTION: realm is first elem. */
diff --git a/src/lib/crypto/md4/md4.c b/src/lib/crypto/md4/md4.c
index 8e39792f4c..b3df062ab6 100644
--- a/src/lib/crypto/md4/md4.c
+++ b/src/lib/crypto/md4/md4.c
@@ -45,7 +45,7 @@ static char rcsid_md4_c[] = "$Id$";
#include <krb5/rsa-md4.h>
/* forward declaration */
-#ifdef __STDC__
+#if defined(__STDC__) || defined(KRB5_PROVIDE_PROTOTYPES)
static void Transform (UINT4 *, UINT4 *);
#else
static void Transform ();