, <joda@netbsd.org>
From: Ben Harris <bjh21@netbsd.org>
List: tech-crypto
Date: 01/04/2002 00:19:03
I've recently been trying to arrange for it to be possible to compile
NetBSD with -fshort-enums, since it looks like the ARM ABI might require
this. I got quite a lot of warnings from GCC where values of type
krb5_enctype * were being passed to functions expecting int *, and
suchlike. The fixes seemed pretty mechanical, and are below. Could
relevant people cast an eye over this and tell me what they think. I
haven't got a Kerberos setup around here to test the patches against, but
I could set one up if need be.
Index: crypto/dist/heimdal/kdc/kerberos5.c
===================================================================
RCS file: /cvsroot/basesrc/crypto/dist/heimdal/kdc/kerberos5.c,v
retrieving revision 1.4
diff -u -r1.4 kerberos5.c
--- crypto/dist/heimdal/kdc/kerberos5.c 2001/09/17 12:32:36 1.4
+++ crypto/dist/heimdal/kdc/kerberos5.c 2002/01/03 22:34:07
@@ -109,7 +109,7 @@
krb5_enctype *cetype,
Key **skey,
krb5_enctype *setype,
- int *etypes,
+ krb5_enctype *etypes,
unsigned num_etypes)
{
krb5_error_code ret;
Index: crypto/dist/heimdal/lib/krb5/crypto.c
===================================================================
RCS file: /cvsroot/basesrc/crypto/dist/heimdal/lib/krb5/crypto.c,v
retrieving revision 1.7
diff -u -r1.7 crypto.c
--- crypto/dist/heimdal/lib/krb5/crypto.c 2001/09/17 12:32:38 1.7
+++ crypto/dist/heimdal/lib/krb5/crypto.c 2002/01/03 22:34:10
@@ -2143,18 +2143,18 @@
krb5_keytype_to_enctypes (krb5_context context,
krb5_keytype keytype,
unsigned *len,
- int **val)
+ krb5_enctype **val)
{
int i;
unsigned n = 0;
- int *ret;
+ krb5_enctype *ret;
for (i = num_etypes - 1; i >= 0; --i) {
if (etypes[i]->keytype->type == keytype
&& !(etypes[i]->flags & F_PSEUDO))
++n;
}
- ret = malloc(n * sizeof(int));
+ ret = malloc(n * sizeof(*ret));
if (ret == NULL && n != 0) {
krb5_set_error_string(context, "malloc: out of memory");
return ENOMEM;
@@ -2179,10 +2179,10 @@
krb5_keytype_to_enctypes_default (krb5_context context,
krb5_keytype keytype,
unsigned *len,
- int **val)
+ krb5_enctype **val)
{
int i, n;
- int *ret;
+ krb5_enctype *ret;
if (keytype != KEYTYPE_DES || context->etypes_des == NULL)
return krb5_keytype_to_enctypes (context, keytype, len, val);
Index: crypto/dist/heimdal/lib/krb5/get_in_tkt.c
===================================================================
RCS file: /cvsroot/basesrc/crypto/dist/heimdal/lib/krb5/get_in_tkt.c,v
retrieving revision 1.1.1.5
diff -u -r1.1.1.5 get_in_tkt.c
--- crypto/dist/heimdal/lib/krb5/get_in_tkt.c 2001/09/17 12:25:03 1.1.1.5
+++ crypto/dist/heimdal/lib/krb5/get_in_tkt.c 2002/01/03 22:34:10
@@ -38,7 +38,7 @@
krb5_error_code
krb5_init_etype (krb5_context context,
unsigned *len,
- int **val,
+ krb5_enctype **val,
const krb5_enctype *etypes)
{
int i;
@@ -58,7 +58,7 @@
for (i = 0; tmp[i]; ++i)
;
*len = i;
- *val = malloc(i * sizeof(int));
+ *val = malloc(i * sizeof(**val));
if (i != 0 && *val == NULL) {
ret = ENOMEM;
krb5_set_error_string(context, "malloc: out of memory");
@@ -370,14 +370,14 @@
krb5_principal client,
krb5_key_proc key_proc,
krb5_const_pointer keyseed,
- int *enctypes,
+ krb5_enctype *enctypes,
unsigned netypes,
krb5_salt *salt)
{
krb5_error_code ret;
PA_DATA *pa2;
krb5_salt salt2;
- int *ep;
+ krb5_enctype *ep;
int i;
if(salt == NULL) {
@@ -386,7 +386,7 @@
salt = &salt2;
}
if (!enctypes) {
- enctypes = (int *)context->etypes; /* XXX */
+ enctypes = context->etypes;
netypes = 0;
for (ep = enctypes; *ep != ETYPE_NULL; ep++)
netypes++;
Index: crypto/dist/heimdal/lib/krb5/krb5-protos.h
===================================================================
RCS file: /cvsroot/basesrc/crypto/dist/heimdal/lib/krb5/krb5-protos.h,v
retrieving revision 1.5
diff -u -r1.5 krb5-protos.h
--- crypto/dist/heimdal/lib/krb5/krb5-protos.h 2001/09/17 12:32:38 1.5
+++ crypto/dist/heimdal/lib/krb5/krb5-protos.h 2002/01/03 22:34:10
@@ -1603,7 +1603,7 @@
krb5_init_etype __P((
krb5_context context,
unsigned *len,
- int **val,
+ krb5_enctype **val,
const krb5_enctype *etypes));
krb5_error_code
@@ -1633,14 +1633,14 @@
krb5_context context,
krb5_keytype keytype,
unsigned *len,
- int **val));
+ krb5_enctype **val));
krb5_error_code
krb5_keytype_to_enctypes_default __P((
krb5_context context,
krb5_keytype keytype,
unsigned *len,
- int **val));
+ krb5_enctype **val));
krb5_error_code
krb5_keytype_to_string __P((
--
Ben Harris <bjh21@netbsd.org>
Portmaster, NetBSD/arm26 <URL:http://www.netbsd.org/Ports/arm26/>