crypto: Define krb5_keytype as krb5_enctype 89/15189/8
authorCheyenne Wills <cwills@sinenomine.net>
Mon, 14 Nov 2022 22:55:41 +0000 (15:55 -0700)
committerBenjamin Kaduk <kaduk@mit.edu>
Fri, 2 Dec 2022 02:22:43 +0000 (21:22 -0500)
commitc9ac7cdfb6365e3fc1914de80019a10328de1f4f
tree7a590d1142b7b3dcd1e934d392d5d7f3535c6b06
parent3e9d41c98ecf07519ff6d2a1413615547ace13b8
crypto: Define krb5_keytype as krb5_enctype

When building with clang-16 and configured with --enable-checking, the
external source heimdal/krb5/crypto.c used in src/crypto/rfc3961 fails
with the following error:

  src/external/heimdal/krb5/crypto.c:702:28
   error: implicit conversion from enumeration type 'krb5_enctype' (aka
   'enum ENCTYPE') to different enumeration type 'krb5_keytype' (aka
   'enum krb5_keytype') [-Werror,-Wenum-conversion]
       *keytype = e->keytype->type; /* XXX */
                ~ ~~~~~~~~~~~~^~~~

Replace the enum definition of krb5_keytype with a typedef to
krb5_enctype and create an anonymous enum mapping of KEYTYPE_ARCFOUR to
ETYPE_ARCFOUR_HMAC_MD5.

It should be noted that krb5_keytype and KEYTYPE_ARCFOUR are only used
by the external file src/external/heimdal/krb5/crypto.c

Changing the type for krb5_keytype was suggested by Andrew Deason
(adeason@sinenomine.net).

Change-Id: I6b4e94cabe98f9b33df0c91cb75bc84b9f9e3dee
Reviewed-on: https://gerrit.openafs.org/15189
Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
src/crypto/rfc3961/krb5_locl.h