Path: blob/main/crypto/krb5/src/tests/asn.1/ktest_equal.h
34907 views
/* -*- mode: c; c-basic-offset: 4; indent-tabs-mode: nil -*- */1/* tests/asn.1/ktest_equal.h */2/*3* Copyright (C) 1994 by the Massachusetts Institute of Technology.4* All rights reserved.5*6* Export of this software from the United States of America may7* require a specific license from the United States Government.8* It is the responsibility of any person or organization contemplating9* export to obtain such a license before exporting.10*11* WITHIN THAT CONSTRAINT, permission to use, copy, modify, and12* distribute this software and its documentation for any purpose and13* without fee is hereby granted, provided that the above copyright14* notice appear in all copies and that both that copyright notice and15* this permission notice appear in supporting documentation, and that16* the name of M.I.T. not be used in advertising or publicity pertaining17* to distribution of the software without specific, written prior18* permission. Furthermore if you modify this software you must label19* your software as modified software and not distribute it in such a20* fashion that it might be confused with the original M.I.T. software.21* M.I.T. makes no representations about the suitability of22* this software for any purpose. It is provided "as is" without express23* or implied warranty.24*/2526#ifndef __KTEST_EQUAL_H__27#define __KTEST_EQUAL_H__2829#include "k5-int.h"30#include "k5-spake.h"31#include "kdb.h"3233/* int ktest_equal_structure(krb5_structure *ref, *var) */34/* effects Returns true (non-zero) if ref and var are35semantically equivalent (i.e. have the same values,36but aren't necessarily the same object).37Returns false (zero) if ref and var differ. */3839#define generic(funcname,type)\40int funcname (type *ref, type *var)4142#define len_array(funcname,type)\43int funcname (int length, type *ref, type *var)44#define len_unsigned_array(funcname,type)\45int funcname (unsigned int length, type *ref, type *var)4647generic(ktest_equal_authenticator,krb5_authenticator);48generic(ktest_equal_principal_data,krb5_principal_data);49generic(ktest_equal_checksum,krb5_checksum);50generic(ktest_equal_keyblock,krb5_keyblock);51generic(ktest_equal_data,krb5_data);52generic(ktest_equal_authdata,krb5_authdata);53generic(ktest_equal_ticket,krb5_ticket);54generic(ktest_equal_enc_tkt_part,krb5_enc_tkt_part);55generic(ktest_equal_transited,krb5_transited);56generic(ktest_equal_ticket_times,krb5_ticket_times);57generic(ktest_equal_address,krb5_address);58generic(ktest_equal_enc_data,krb5_enc_data);5960generic(ktest_equal_enc_kdc_rep_part,krb5_enc_kdc_rep_part);61generic(ktest_equal_priv,krb5_priv);62generic(ktest_equal_cred,krb5_cred);63generic(ktest_equal_error,krb5_error);64generic(ktest_equal_ap_req,krb5_ap_req);65generic(ktest_equal_ap_rep,krb5_ap_rep);66generic(ktest_equal_ap_rep_enc_part,krb5_ap_rep_enc_part);67generic(ktest_equal_safe,krb5_safe);6869generic(ktest_equal_last_req_entry,krb5_last_req_entry);70generic(ktest_equal_pa_data,krb5_pa_data);71generic(ktest_equal_cred_info,krb5_cred_info);7273generic(ktest_equal_enc_cred_part,krb5_cred_enc_part);74generic(ktest_equal_enc_priv_part,krb5_priv_enc_part);75generic(ktest_equal_as_rep,krb5_kdc_rep);76generic(ktest_equal_tgs_rep,krb5_kdc_rep);77generic(ktest_equal_as_req,krb5_kdc_req);78generic(ktest_equal_tgs_req,krb5_kdc_req);79generic(ktest_equal_kdc_req_body,krb5_kdc_req);80generic(ktest_equal_encryption_key,krb5_keyblock);8182generic(ktest_equal_krb5_pa_enc_ts,krb5_pa_enc_ts);8384generic(ktest_equal_sam_challenge_2,krb5_sam_challenge_2);85generic(ktest_equal_sam_challenge_2_body,krb5_sam_challenge_2_body);8687int ktest_equal_last_req(krb5_last_req_entry **ref, krb5_last_req_entry **var);88int ktest_equal_sequence_of_ticket(krb5_ticket **ref, krb5_ticket **var);89int ktest_equal_sequence_of_pa_data(krb5_pa_data **ref, krb5_pa_data **var);90int ktest_equal_sequence_of_cred_info(krb5_cred_info **ref,91krb5_cred_info **var);92int ktest_equal_sequence_of_principal(krb5_principal *ref,93krb5_principal *var);94int ktest_equal_sequence_of_checksum(krb5_checksum **ref, krb5_checksum **var);95int96ktest_equal_sequence_of_algorithm_identifier(krb5_algorithm_identifier **ref,97krb5_algorithm_identifier **var);98int ktest_equal_sequence_of_otp_tokeninfo(krb5_otp_tokeninfo **ref,99krb5_otp_tokeninfo **var);100int ktest_equal_sequence_of_spake_factor(krb5_spake_factor **ref,101krb5_spake_factor **var);102103len_array(ktest_equal_array_of_enctype,krb5_enctype);104len_array(ktest_equal_array_of_data,krb5_data);105len_unsigned_array(ktest_equal_array_of_octet,krb5_octet);106107int ktest_equal_authorization_data(krb5_authdata **ref, krb5_authdata **var);108int ktest_equal_addresses(krb5_address **ref, krb5_address **var);109int ktest_equal_array_of_char(const unsigned int length, char *ref, char *var);110111int ktest_equal_etype_info(krb5_etype_info_entry **ref,112krb5_etype_info_entry **var);113114int ktest_equal_krb5_etype_info_entry(krb5_etype_info_entry *ref,115krb5_etype_info_entry *var);116int ktest_equal_pa_for_user(krb5_pa_for_user *ref, krb5_pa_for_user *var);117int ktest_equal_pa_s4u_x509_user(krb5_pa_s4u_x509_user *ref,118krb5_pa_s4u_x509_user *var);119int ktest_equal_ad_kdcissued(krb5_ad_kdcissued *ref, krb5_ad_kdcissued *var);120int ktest_equal_iakerb_header(krb5_iakerb_header *ref,121krb5_iakerb_header *var);122int ktest_equal_iakerb_finished(krb5_iakerb_finished *ref,123krb5_iakerb_finished *var);124int ktest_equal_fast_response(krb5_fast_response *ref,125krb5_fast_response *var);126int ktest_equal_otp_tokeninfo(krb5_otp_tokeninfo *ref,127krb5_otp_tokeninfo *var);128int ktest_equal_pa_otp_challenge(krb5_pa_otp_challenge *ref,129krb5_pa_otp_challenge *var);130int ktest_equal_pa_otp_req(krb5_pa_otp_req *ref, krb5_pa_otp_req *var);131132int ktest_equal_ldap_sequence_of_keys(ldap_seqof_key_data *ref,133ldap_seqof_key_data *var);134135#ifndef DISABLE_PKINIT136generic(ktest_equal_pa_pk_as_req, krb5_pa_pk_as_req);137generic(ktest_equal_pa_pk_as_rep, krb5_pa_pk_as_rep);138generic(ktest_equal_auth_pack, krb5_auth_pack);139generic(ktest_equal_kdc_dh_key_info, krb5_kdc_dh_key_info);140generic(ktest_equal_reply_key_pack, krb5_reply_key_pack);141#endif /* not DISABLE_PKINIT */142143int ktest_equal_kkdcp_message(krb5_kkdcp_message *ref,144krb5_kkdcp_message *var);145int ktest_equal_cammac(krb5_cammac *ref, krb5_cammac *var);146147int ktest_equal_secure_cookie(krb5_secure_cookie *ref,148krb5_secure_cookie *var);149150generic(ktest_equal_spake_factor, krb5_spake_factor);151generic(ktest_equal_pa_spake, krb5_pa_spake);152153#endif154155156