Fix warnings in rxkad
[openafs.git] / src / rxkad / rxkad_prototypes.h
index 471b8ac..3968071 100644 (file)
 #include "fcrypt.h"
 #include "rx/rx.h"
 
+/* Don't include des.h where it can cause conflict with krb4 headers */
+#if !defined(NO_DES_H_INCLUDE)
+#include <des.h>
+#endif
+
 /* domestic/crypt_conn.c */
 extern afs_int32 rxkad_DecryptPacket(const struct rx_connection *conn,
                                     const fc_KeySchedule * schedule,
@@ -29,9 +34,9 @@ extern afs_int32 rxkad_EncryptPacket(const struct rx_connection *conn,
 extern int fc_keysched(struct ktc_encryptionKey *key,
                       fc_KeySchedule schedule);
 extern afs_int32 fc_ecb_encrypt(void * clear, void * cipher,
-                               fc_KeySchedule schedule, int encrypt);
+                               const fc_KeySchedule schedule, int encrypt);
 extern afs_int32 fc_cbc_encrypt(void *input, void *output, afs_int32 length,
-                               fc_KeySchedule key, afs_uint32 * xor,
+                               const fc_KeySchedule key, afs_uint32 * iv,
                                int encrypt);
 
 /* rxkad_client.c */
@@ -50,14 +55,13 @@ extern int rxkad_GetResponse(struct rx_securityClass *aobj,
 extern void rxkad_ResetState(void);
 
 /* rxkad_common.c */
-#if 0
-/* can't prototype these due to types */
+struct rxkad_endpoint;
 extern int rxkad_SetupEndpoint(struct rx_connection *aconnp,
                               struct rxkad_endpoint *aendpointp);
+struct rxkad_v2ChallengeResponse;
 extern afs_uint32 rxkad_CksumChallengeResponse(struct
                                               rxkad_v2ChallengeResponse
                                               *v2r);
-#endif
 extern int rxkad_DeriveXORInfo(struct rx_connection *aconnp,
                               fc_KeySchedule * aschedule, char *aivec,
                               char *aresult);
@@ -79,18 +83,19 @@ extern int rxkad_GetStats(struct rx_securityClass *aobj,
 extern rxkad_level rxkad_StringToLevel(char *string);
 extern char *rxkad_LevelToString(rxkad_level level);
 
+extern void rxkad_global_stats_init(void);
 
 /* rxkad_errs.c */
 
 /* rxkad_server.c */
 extern struct rx_securityClass *rxkad_NewServerSecurityObject(rxkad_level
-                                                             level, char
+                                                             level, void
                                                              *get_key_rock,
                                                              int (*get_key)
 
 
                                                               
-                                                             (char
+                                                             (void
                                                               *get_key_rock,
                                                               int kvno,
                                                               struct
@@ -121,15 +126,17 @@ extern afs_int32 rxkad_GetServerInfo(struct rx_connection *aconn,
                                     afs_uint32 * expiration, char *name,
                                     char *instance, char *cell,
                                     afs_int32 * kvno);
-
-
+extern afs_int32 rxkad_SetConfiguration(struct rx_securityClass *aobj,
+                                        struct rx_connection *aconn, 
+                                        rx_securityConfigVariables atype,
+                                        void * avalue, void **aresult);
 
 /* ticket.c */
 extern int tkt_DecodeTicket(char *asecret, afs_int32 ticketLen,
                            struct ktc_encryptionKey *key, char *name,
-                           char *inst, char *cell, char *sessionKey,
-                           afs_int32 * host, afs_int32 * start,
-                           afs_int32 * end);
+                           char *inst, char *cell, struct ktc_encryptionKey *sessionKey,
+                           afs_int32 * host, afs_uint32 * start,
+                           afs_uint32 * end);
 extern int tkt_MakeTicket(char *ticket, int *ticketLen,
                          struct ktc_encryptionKey *key, char *name,
                          char *inst, char *cell, afs_uint32 start,
@@ -143,11 +150,24 @@ extern unsigned char time_to_life(afs_uint32 start, afs_uint32 end);
 
 /* ticket5.c */
 extern int tkt_DecodeTicket5(char *ticket, afs_int32 ticket_len,
-                            int (*get_key) (char *, int,
+                            int (*get_key) (void *, int,
                                             struct ktc_encryptionKey *),
                             char *get_key_rock, int serv_kvno, char *name,
-                            char *inst, char *cell, char *session_key,
-                            afs_int32 * host, afs_int32 * start,
-                            afs_int32 * end);
+                            char *inst, char *cell, struct ktc_encryptionKey *session_key,
+                            afs_int32 * host, afs_uint32 * start,
+                            afs_uint32 * end, afs_int32 disableDotCheck);
+
+#if !defined(NO_DES_H_INCLUDE)
+static_inline unsigned char *
+ktc_to_cblock(struct ktc_encryptionKey *key) {
+    return (unsigned char *)key;
+}
+
+static_inline des_cblock *
+ktc_to_cblockptr(struct ktc_encryptionKey *key) {
+    return (des_cblock *)key;
+}
+#endif
+
 
 #endif