krb5 commit: Eliminate internal fixed-width type wrappers

Greg Hudson ghudson at MIT.EDU
Wed Feb 26 16:32:28 EST 2014


https://github.com/krb5/krb5/commit/1041af9f85e4be342339475cf5c8878fef1de10d
commit 1041af9f85e4be342339475cf5c8878fef1de10d
Author: Greg Hudson <ghudson at mit.edu>
Date:   Sat Feb 1 16:26:51 2014 -0500

    Eliminate internal fixed-width type wrappers
    
    Directly use stdint.h names for integer types in preference to the
    various internal names we have made up for them.

 src/include/k5-int.h                     |   14 ++----
 src/include/k5-platform.h                |   31 +++++++--------
 src/lib/crypto/krb/prng_fortuna.c        |    2 +-
 src/lib/gssapi/generic/gssapiP_generic.h |    5 +-
 src/lib/gssapi/generic/util_ordering.c   |   18 ++++----
 src/lib/gssapi/krb5/gssapiP_krb5.h       |    4 +-
 src/lib/gssapi/krb5/gssapi_krb5.h        |    6 +--
 src/lib/gssapi/krb5/k5seal.c             |    2 +-
 src/lib/gssapi/krb5/k5sealv3.c           |    2 +-
 src/lib/gssapi/krb5/k5sealv3iov.c        |    2 +-
 src/lib/gssapi/krb5/k5unseal.c           |    2 +-
 src/lib/gssapi/krb5/k5unsealiov.c        |    2 +-
 src/lib/gssapi/krb5/ser_sctx.c           |   16 ++++----
 src/lib/krb5/asn.1/asn1_encode.c         |   60 +++++++++++++++---------------
 src/lib/krb5/asn.1/asn1_encode.h         |   14 +++---
 src/lib/krb5/asn.1/asn1_k_encode.c       |    4 +-
 src/lib/krb5/asn.1/krbasn1.h             |    3 -
 src/lib/krb5/keytab/kt_file.c            |    4 +-
 src/lib/krb5/krb/authdata.h              |    5 +-
 src/lib/krb5/krb/init_ctx.c              |    2 +-
 src/lib/krb5/krb/pac.c                   |   10 ++---
 src/lib/krb5/krb/pac_sign.c              |    2 +-
 src/lib/krb5/krb/serialize.c             |   16 ++++----
 src/lib/krb5/os/sendto_kdc.c             |    2 +-
 src/util/profile/prof_init.c             |   26 ++++++-------
 src/util/profile/prof_int.h              |    2 +-
 src/util/support/t_unal.c                |    2 +-
 27 files changed, 120 insertions(+), 138 deletions(-)

diff --git a/src/include/k5-int.h b/src/include/k5-int.h
index b4757a9..fbb8665 100644
--- a/src/include/k5-int.h
+++ b/src/include/k5-int.h
@@ -129,10 +129,6 @@ typedef unsigned char   u_char;
 
 
 #include "k5-platform.h"
-/* not used in krb5.h (yet) */
-typedef UINT64_TYPE krb5_ui_8;
-typedef INT64_TYPE krb5_int64;
-
 
 #define KRB5_KDB_MAX_LIFE       (60*60*24) /* one day */
 #define KRB5_KDB_MAX_RLIFE      (60*60*24*7) /* one week */
@@ -1719,10 +1715,10 @@ krb5_ser_unpack_int32(krb5_int32 *, krb5_octet **, size_t *);
 
 /* [De]serialize 8-byte integer */
 krb5_error_code KRB5_CALLCONV
-krb5_ser_pack_int64(krb5_int64, krb5_octet **, size_t *);
+krb5_ser_pack_int64(int64_t, krb5_octet **, size_t *);
 
 krb5_error_code KRB5_CALLCONV
-krb5_ser_unpack_int64(krb5_int64 *, krb5_octet **, size_t *);
+krb5_ser_unpack_int64(int64_t *, krb5_octet **, size_t *);
 
 /* [De]serialize byte string */
 krb5_error_code KRB5_CALLCONV
@@ -1758,10 +1754,10 @@ typedef struct _krb5int_access {
 
     krb5_error_code (*mandatory_cksumtype)(krb5_context, krb5_enctype,
                                            krb5_cksumtype *);
-    krb5_error_code (KRB5_CALLCONV *ser_pack_int64)(krb5_int64, krb5_octet **,
+    krb5_error_code (KRB5_CALLCONV *ser_pack_int64)(int64_t, krb5_octet **,
                                                     size_t *);
-    krb5_error_code (KRB5_CALLCONV *ser_unpack_int64)(krb5_int64 *,
-                                                      krb5_octet **, size_t *);
+    krb5_error_code (KRB5_CALLCONV *ser_unpack_int64)(int64_t *, krb5_octet **,
+                                                      size_t *);
 
     /* Used for KDB LDAP back end.  */
     krb5_error_code
diff --git a/src/include/k5-platform.h b/src/include/k5-platform.h
index 537c8ad..e5fd004 100644
--- a/src/include/k5-platform.h
+++ b/src/include/k5-platform.h
@@ -411,9 +411,6 @@ typedef struct { int error; unsigned char did_run; } k5_init_t;
 
 #endif
 
-#define INT64_TYPE int64_t
-#define UINT64_TYPE uint64_t
-
 #ifndef SIZE_MAX
 # define SIZE_MAX ((size_t)((size_t)0 - 1))
 #endif
@@ -575,7 +572,7 @@ store_32_be (unsigned int val, void *vp)
 #endif
 }
 static inline void
-store_64_be (UINT64_TYPE val, void *vp)
+store_64_be (uint64_t val, void *vp)
 {
     unsigned char *p = (unsigned char *) vp;
 #if defined(__GNUC__) && defined(K5_BE) && !defined(__cplusplus)
@@ -619,7 +616,7 @@ load_32_be (const void *cvp)
             | ((uint32_t) p[0] << 24));
 #endif
 }
-static inline UINT64_TYPE
+static inline uint64_t
 load_64_be (const void *cvp)
 {
     const unsigned char *p = (const unsigned char *) cvp;
@@ -628,7 +625,7 @@ load_64_be (const void *cvp)
 #elif defined(__GNUC__) && defined(K5_LE) && defined(SWAP64) && !defined(__cplusplus)
     return GETSWAPPED(64,p);
 #else
-    return ((UINT64_TYPE)load_32_be(p) << 32) | load_32_be(p+4);
+    return ((uint64_t)load_32_be(p) << 32) | load_32_be(p+4);
 #endif
 }
 static inline void
@@ -660,7 +657,7 @@ store_32_le (unsigned int val, void *vp)
 #endif
 }
 static inline void
-store_64_le (UINT64_TYPE val, void *vp)
+store_64_le (uint64_t val, void *vp)
 {
     unsigned char *p = (unsigned char *) vp;
 #if defined(__GNUC__) && defined(K5_LE) && !defined(__cplusplus)
@@ -702,7 +699,7 @@ load_32_le (const void *cvp)
     return (p[0] | (p[1] << 8) | (p[2] << 16) | (p[3] << 24));
 #endif
 }
-static inline UINT64_TYPE
+static inline uint64_t
 load_64_le (const void *cvp)
 {
     const unsigned char *p = (const unsigned char *) cvp;
@@ -711,7 +708,7 @@ load_64_le (const void *cvp)
 #elif defined(__GNUC__) && defined(K5_BE) && defined(SWAP64) && !defined(__cplusplus)
     return GETSWAPPED(64,p);
 #else
-    return ((UINT64_TYPE)load_32_le(p+4) << 32) | load_32_le(p);
+    return ((uint64_t)load_32_le(p+4) << 32) | load_32_le(p);
 #endif
 }
 
@@ -731,9 +728,9 @@ store_32_n (unsigned int val, void *vp)
     memcpy(vp, &n, 4);
 }
 static inline void
-store_64_n (UINT64_TYPE val, void *vp)
+store_64_n (uint64_t val, void *vp)
 {
-    UINT64_TYPE n = val;
+    uint64_t n = val;
     memcpy(vp, &n, 8);
 }
 static inline unsigned short
@@ -750,10 +747,10 @@ load_32_n (const void *p)
     memcpy(&n, p, 4);
     return n;
 }
-static inline UINT64_TYPE
+static inline uint64_t
 load_64_n (const void *p)
 {
-    UINT64_TYPE n;
+    uint64_t n;
     memcpy(&n, p, 8);
     return n;
 }
@@ -761,8 +758,8 @@ load_64_n (const void *p)
 #undef UINT32_TYPE
 
 /* Assume for simplicity that these swaps are identical.  */
-static inline UINT64_TYPE
-k5_htonll (UINT64_TYPE val)
+static inline uint64_t
+k5_htonll (uint64_t val)
 {
 #ifdef K5_BE
     return val;
@@ -772,8 +769,8 @@ k5_htonll (UINT64_TYPE val)
     return load_64_be ((unsigned char *)&val);
 #endif
 }
-static inline UINT64_TYPE
-k5_ntohll (UINT64_TYPE val)
+static inline uint64_t
+k5_ntohll (uint64_t val)
 {
     return k5_htonll (val);
 }
diff --git a/src/lib/crypto/krb/prng_fortuna.c b/src/lib/crypto/krb/prng_fortuna.c
index 2a54872..7a695a3 100644
--- a/src/lib/crypto/krb/prng_fortuna.c
+++ b/src/lib/crypto/krb/prng_fortuna.c
@@ -165,7 +165,7 @@ init_state(struct fortuna_state *st)
 static void
 inc_counter(struct fortuna_state *st)
 {
-    UINT64_TYPE val;
+    uint64_t val;
 
     val = load_64_le(st->counter) + 1;
     store_64_le(val, st->counter);
diff --git a/src/lib/gssapi/generic/gssapiP_generic.h b/src/lib/gssapi/generic/gssapiP_generic.h
index 706805d..16da0fb 100644
--- a/src/lib/gssapi/generic/gssapiP_generic.h
+++ b/src/lib/gssapi/generic/gssapiP_generic.h
@@ -47,7 +47,6 @@
 
 #include "k5-platform.h"
 #include "k5-buf.h"
-typedef UINT64_TYPE gssint_uint64;
 
 /** helper macros **/
 
@@ -173,10 +172,10 @@ OM_uint32 g_display_com_err_status (OM_uint32 *minor_status,
                                     OM_uint32 status_value,
                                     gss_buffer_t status_string);
 
-gss_int32 g_order_init (void **queue, gssint_uint64 seqnum,
+gss_int32 g_order_init (void **queue, uint64_t seqnum,
                         int do_replay, int do_sequence, int wide);
 
-gss_int32 g_order_check (void **queue, gssint_uint64 seqnum);
+gss_int32 g_order_check (void **queue, uint64_t seqnum);
 
 void g_order_free (void **queue);
 
diff --git a/src/lib/gssapi/generic/util_ordering.c b/src/lib/gssapi/generic/util_ordering.c
index 95609a9..9a1ce89 100644
--- a/src/lib/gssapi/generic/util_ordering.c
+++ b/src/lib/gssapi/generic/util_ordering.c
@@ -39,14 +39,14 @@ typedef struct _queue {
     int do_sequence;
     int start;
     int length;
-    gssint_uint64 firstnum;
+    uint64_t firstnum;
     /* Stored as deltas from firstnum.  This way, the high bit won't
        overflow unless we've actually gone through 2**n messages, or
        gotten something *way* out of sequence.  */
-    gssint_uint64 elem[QUEUE_LENGTH];
+    uint64_t elem[QUEUE_LENGTH];
     /* All ones for 64-bit sequence numbers; 32 ones for 32-bit
        sequence numbers.  */
-    gssint_uint64 mask;
+    uint64_t mask;
 } queue;
 
 /* rep invariant:
@@ -58,7 +58,7 @@ typedef struct _queue {
 #define QELEM(q,i) ((q)->elem[(i)%QSIZE(q)])
 
 static void
-queue_insert(queue *q, int after, gssint_uint64 seqnum)
+queue_insert(queue *q, int after, uint64_t seqnum)
 {
     /* insert.  this is not the fastest way, but it's easy, and it's
        optimized for insert at end, which is the common case */
@@ -89,7 +89,7 @@ queue_insert(queue *q, int after, gssint_uint64 seqnum)
 }
 
 gss_int32
-g_order_init(void **vqueue, gssint_uint64 seqnum,
+g_order_init(void **vqueue, uint64_t seqnum,
              int do_replay, int do_sequence, int wide_nums)
 {
     queue *q;
@@ -105,23 +105,23 @@ g_order_init(void **vqueue, gssint_uint64 seqnum,
 
     q->do_replay = do_replay;
     q->do_sequence = do_sequence;
-    q->mask = wide_nums ? ~(gssint_uint64)0 : 0xffffffffUL;
+    q->mask = wide_nums ? ~(uint64_t)0 : 0xffffffffUL;
 
     q->start = 0;
     q->length = 1;
     q->firstnum = seqnum;
-    q->elem[q->start] = ((gssint_uint64)0 - 1) & q->mask;
+    q->elem[q->start] = ((uint64_t)0 - 1) & q->mask;
 
     *vqueue = (void *) q;
     return(0);
 }
 
 gss_int32
-g_order_check(void **vqueue, gssint_uint64 seqnum)
+g_order_check(void **vqueue, uint64_t seqnum)
 {
     queue *q;
     int i;
-    gssint_uint64 expected;
+    uint64_t expected;
 
     q = (queue *) (*vqueue);
 
diff --git a/src/lib/gssapi/krb5/gssapiP_krb5.h b/src/lib/gssapi/krb5/gssapiP_krb5.h
index 8e4f6d9..ef71a5a 100644
--- a/src/lib/gssapi/krb5/gssapiP_krb5.h
+++ b/src/lib/gssapi/krb5/gssapiP_krb5.h
@@ -221,8 +221,8 @@ typedef struct _krb5_gss_ctx_id_rec {
     /* XXX these used to be signed.  the old spec is inspecific, and
        the new spec specifies unsigned.  I don't believe that the change
        affects the wire encoding. */
-    gssint_uint64 seq_send;
-    gssint_uint64 seq_recv;
+    uint64_t seq_send;
+    uint64_t seq_recv;
     void *seqstate;
     krb5_context k5_context;
     krb5_auth_context auth_context;
diff --git a/src/lib/gssapi/krb5/gssapi_krb5.h b/src/lib/gssapi/krb5/gssapi_krb5.h
index 1271f27..3f4d0c0 100644
--- a/src/lib/gssapi/krb5/gssapi_krb5.h
+++ b/src/lib/gssapi/krb5/gssapi_krb5.h
@@ -93,8 +93,6 @@ GSS_DLLIMP extern const gss_OID_desc krb5_gss_oid_array[];
 #define gss_krb5_nt_machine_uid_name    gss_nt_machine_uid_name
 #define gss_krb5_nt_string_uid_name     gss_nt_string_uid_name
 
-typedef uint64_t gss_uint64;
-
 typedef struct gss_krb5_lucid_key {
     OM_uint32       type;           /* key encryption type */
     OM_uint32       length;         /* length of key data */
@@ -126,8 +124,8 @@ typedef struct gss_krb5_lucid_context_v1 {
                                        MUST be at beginning of struct! */
     OM_uint32       initiate;       /* Are we the initiator? */
     OM_uint32       endtime;        /* expiration time of context */
-    gss_uint64      send_seq;       /* sender sequence number */
-    gss_uint64      recv_seq;       /* receive sequence number */
+    uint64_t        send_seq;       /* sender sequence number */
+    uint64_t        recv_seq;       /* receive sequence number */
     OM_uint32       protocol;       /* 0: rfc1964,
                                        1: draft-ietf-krb-wg-gssapi-cfx-07 */
     /*
diff --git a/src/lib/gssapi/krb5/k5seal.c b/src/lib/gssapi/krb5/k5seal.c
index bd1e2a6..7665cba 100644
--- a/src/lib/gssapi/krb5/k5seal.c
+++ b/src/lib/gssapi/krb5/k5seal.c
@@ -55,7 +55,7 @@ static krb5_error_code
 make_seal_token_v1 (krb5_context context,
                     krb5_key enc,
                     krb5_key seq,
-                    gssint_uint64 *seqnum,
+                    uint64_t *seqnum,
                     int direction,
                     gss_buffer_t text,
                     gss_buffer_t token,
diff --git a/src/lib/gssapi/krb5/k5sealv3.c b/src/lib/gssapi/krb5/k5sealv3.c
index e4c2c2f..429dc8e 100644
--- a/src/lib/gssapi/krb5/k5sealv3.c
+++ b/src/lib/gssapi/krb5/k5sealv3.c
@@ -305,7 +305,7 @@ gss_krb5int_unseal_token_v3(krb5_context *contextptr,
 {
     krb5_context context = *contextptr;
     krb5_data plain;
-    gssint_uint64 seqnum;
+    uint64_t seqnum;
     size_t ec, rrc;
     int key_usage;
     unsigned char acceptor_flag;
diff --git a/src/lib/gssapi/krb5/k5sealv3iov.c b/src/lib/gssapi/krb5/k5sealv3iov.c
index 8f6c4d4..1cf0c2e 100644
--- a/src/lib/gssapi/krb5/k5sealv3iov.c
+++ b/src/lib/gssapi/krb5/k5sealv3iov.c
@@ -294,7 +294,7 @@ gss_krb5int_unseal_v3_iov(krb5_context context,
     size_t rrc, ec;
     size_t data_length, assoc_data_length;
     krb5_key key;
-    gssint_uint64 seqnum;
+    uint64_t seqnum;
     krb5_boolean valid;
     krb5_cksumtype cksumtype;
     int conf_flag = 0;
diff --git a/src/lib/gssapi/krb5/k5unseal.c b/src/lib/gssapi/krb5/k5unseal.c
index ca21d43..ef7a745 100644
--- a/src/lib/gssapi/krb5/k5unseal.c
+++ b/src/lib/gssapi/krb5/k5unseal.c
@@ -435,7 +435,7 @@ kg_unseal_v1(context, minor_status, ctx, ptr, bodysize, message_buffer,
         return(GSS_S_BAD_SIG);
     }
 
-    retval = g_order_check(&(ctx->seqstate), (gssint_uint64)seqnum);
+    retval = g_order_check(&(ctx->seqstate), (uint64_t)seqnum);
 
     /* success or ordering violation */
 
diff --git a/src/lib/gssapi/krb5/k5unsealiov.c b/src/lib/gssapi/krb5/k5unsealiov.c
index e34bda4..dc01180 100644
--- a/src/lib/gssapi/krb5/k5unsealiov.c
+++ b/src/lib/gssapi/krb5/k5unsealiov.c
@@ -280,7 +280,7 @@ kg_unseal_v1_iov(krb5_context context,
     }
 
     code = 0;
-    retval = g_order_check(&ctx->seqstate, (gssint_uint64)seqnum);
+    retval = g_order_check(&ctx->seqstate, (uint64_t)seqnum);
 
 cleanup:
     krb5_free_checksum_contents(context, &md5cksum);
diff --git a/src/lib/gssapi/krb5/ser_sctx.c b/src/lib/gssapi/krb5/ser_sctx.c
index cba5ae2..8f86acc 100644
--- a/src/lib/gssapi/krb5/ser_sctx.c
+++ b/src/lib/gssapi/krb5/ser_sctx.c
@@ -262,8 +262,8 @@ kg_ctx_size(kcontext, arg, sizep)
      *  krb5_int32      for endtime.
      *  krb5_int32      for renew_till.
      *  krb5_int32      for flags.
-     *  krb5_int64      for seq_send.
-     *  krb5_int64      for seq_recv.
+     *  int64_t         for seq_send.
+     *  int64_t         for seq_recv.
      *  ...             for seqstate
      *  ...             for auth_context
      *  ...             for mech_used
@@ -279,7 +279,7 @@ kg_ctx_size(kcontext, arg, sizep)
     kret = EINVAL;
     if ((ctx = (krb5_gss_ctx_id_rec *) arg)) {
         required = 21*sizeof(krb5_int32);
-        required += 2*sizeof(krb5_int64);
+        required += 2*sizeof(int64_t);
         required += sizeof(ctx->seed);
 
         kret = 0;
@@ -425,9 +425,9 @@ kg_ctx_externalize(kcontext, arg, buffer, lenremain)
                                        &bp, &remain);
             (void) krb5_ser_pack_int32((krb5_int32) ctx->krb_flags,
                                        &bp, &remain);
-            (void) (*kaccess.ser_pack_int64)((krb5_int64) ctx->seq_send,
+            (void) (*kaccess.ser_pack_int64)((int64_t) ctx->seq_send,
                                              &bp, &remain);
-            (void) (*kaccess.ser_pack_int64)((krb5_int64) ctx->seq_recv,
+            (void) (*kaccess.ser_pack_int64)((int64_t) ctx->seq_recv,
                                              &bp, &remain);
 
             /* Now dynamic data */
@@ -596,7 +596,7 @@ kg_ctx_internalize(kcontext, argp, buffer, lenremain)
 
         /* Get a context */
         if ((remain >= (17*sizeof(krb5_int32)
-                        + 2*sizeof(krb5_int64)
+                        + 2*sizeof(int64_t)
                         + sizeof(ctx->seed))) &&
             (ctx = (krb5_gss_ctx_id_rec *)
              xmalloc(sizeof(krb5_gss_ctx_id_rec)))) {
@@ -635,9 +635,9 @@ kg_ctx_internalize(kcontext, argp, buffer, lenremain)
             ctx->krb_times.renew_till = (krb5_timestamp) ibuf;
             (void) krb5_ser_unpack_int32(&ibuf, &bp, &remain);
             ctx->krb_flags = (krb5_flags) ibuf;
-            (void) (*kaccess.ser_unpack_int64)((krb5_int64 *)&ctx->seq_send,
+            (void) (*kaccess.ser_unpack_int64)((int64_t *)&ctx->seq_send,
                                                &bp, &remain);
-            kret = (*kaccess.ser_unpack_int64)((krb5_int64 *)&ctx->seq_recv,
+            kret = (*kaccess.ser_unpack_int64)((int64_t *)&ctx->seq_recv,
                                                &bp, &remain);
             if (kret) {
                 free(ctx);
diff --git a/src/lib/krb5/asn.1/asn1_encode.c b/src/lib/krb5/asn.1/asn1_encode.c
index b9770a1..acbec37 100644
--- a/src/lib/krb5/asn.1/asn1_encode.c
+++ b/src/lib/krb5/asn.1/asn1_encode.c
@@ -29,7 +29,7 @@
 /**** Functions for encoding primitive types ****/
 
 asn1_error_code
-k5_asn1_encode_bool(asn1buf *buf, asn1_intmax val, size_t *len_out)
+k5_asn1_encode_bool(asn1buf *buf, intmax_t val, size_t *len_out)
 {
     asn1_octet bval = val ? 0xFF : 0x00;
 
@@ -38,7 +38,7 @@ k5_asn1_encode_bool(asn1buf *buf, asn1_intmax val, size_t *len_out)
 }
 
 asn1_error_code
-k5_asn1_encode_int(asn1buf *buf, asn1_intmax val, size_t *len_out)
+k5_asn1_encode_int(asn1buf *buf, intmax_t val, size_t *len_out)
 {
     asn1_error_code ret;
     size_t len = 0;
@@ -73,11 +73,11 @@ k5_asn1_encode_int(asn1buf *buf, asn1_intmax val, size_t *len_out)
 }
 
 asn1_error_code
-k5_asn1_encode_uint(asn1buf *buf, asn1_uintmax val, size_t *len_out)
+k5_asn1_encode_uint(asn1buf *buf, uintmax_t val, size_t *len_out)
 {
     asn1_error_code ret;
     size_t len = 0;
-    asn1_uintmax valcopy;
+    uintmax_t valcopy;
     int digit;
 
     valcopy = val;
@@ -179,7 +179,7 @@ k5_asn1_encode_bitstring(asn1buf *buf, unsigned char *const *val, size_t len,
 /**** Functions for decoding primitive types ****/
 
 asn1_error_code
-k5_asn1_decode_bool(const unsigned char *asn1, size_t len, asn1_intmax *val)
+k5_asn1_decode_bool(const unsigned char *asn1, size_t len, intmax_t *val)
 {
     if (len != 1)
         return ASN1_BAD_LENGTH;
@@ -190,16 +190,16 @@ k5_asn1_decode_bool(const unsigned char *asn1, size_t len, asn1_intmax *val)
 /* Decode asn1/len as the contents of a DER integer, placing the signed result
  * in val. */
 asn1_error_code
-k5_asn1_decode_int(const unsigned char *asn1, size_t len, asn1_intmax *val)
+k5_asn1_decode_int(const unsigned char *asn1, size_t len, intmax_t *val)
 {
-    asn1_intmax n;
+    intmax_t n;
     size_t i;
 
     if (len == 0)
         return ASN1_BAD_LENGTH;
     n = (asn1[0] & 0x80) ? -1 : 0;
     /* Check length; allow extra octet if first octet is 0. */
-    if (len > sizeof(asn1_intmax) + (asn1[0] == 0))
+    if (len > sizeof(intmax_t) + (asn1[0] == 0))
         return ASN1_OVERFLOW;
     for (i = 0; i < len; i++)
         n = (n << 8) | asn1[i];
@@ -210,15 +210,15 @@ k5_asn1_decode_int(const unsigned char *asn1, size_t len, asn1_intmax *val)
 /* Decode asn1/len as the contents of a DER integer, placing the unsigned
  * result in val. */
 asn1_error_code
-k5_asn1_decode_uint(const unsigned char *asn1, size_t len, asn1_uintmax *val)
+k5_asn1_decode_uint(const unsigned char *asn1, size_t len, uintmax_t *val)
 {
-    asn1_uintmax n;
+    uintmax_t n;
     size_t i;
 
     if (len == 0)
         return ASN1_BAD_LENGTH;
     /* Check for negative values and check length. */
-    if ((asn1[0] & 0x80) || len > sizeof(asn1_uintmax) + (asn1[0] == 0))
+    if ((asn1[0] & 0x80) || len > sizeof(uintmax_t) + (asn1[0] == 0))
         return ASN1_OVERFLOW;
     for (i = 0, n = 0; i < len; i++)
         n = (n << 8) | asn1[i];
@@ -521,26 +521,26 @@ encode_nullterm_sequence_of(asn1buf *buf, const void *val,
     return encode_sequence_of(buf, len, val, type, len_out);
 }
 
-static asn1_intmax
+static intmax_t
 load_int(const void *val, size_t size)
 {
     switch (size) {
     case 1: return *(signed char *)val;
     case 2: return *(krb5_int16 *)val;
     case 4: return *(krb5_int32 *)val;
-    case 8: return *(INT64_TYPE *)val;
+    case 8: return *(int64_t *)val;
     default: abort();
     }
 }
 
-static asn1_uintmax
+static uintmax_t
 load_uint(const void *val, size_t size)
 {
     switch (size) {
     case 1: return *(unsigned char *)val;
     case 2: return *(krb5_ui_2 *)val;
     case 4: return *(krb5_ui_4 *)val;
-    case 8: return *(UINT64_TYPE *)val;
+    case 8: return *(uint64_t *)val;
     default: abort();
     }
 }
@@ -551,14 +551,14 @@ load_count(const void *val, const struct counted_info *counted,
 {
     const void *countptr = (const char *)val + counted->lenoff;
 
-    assert(sizeof(size_t) <= sizeof(asn1_uintmax));
+    assert(sizeof(size_t) <= sizeof(uintmax_t));
     if (counted->lensigned) {
-        asn1_intmax xlen = load_int(countptr, counted->lensize);
-        if (xlen < 0 || (asn1_uintmax)xlen > SIZE_MAX)
+        intmax_t xlen = load_int(countptr, counted->lensize);
+        if (xlen < 0 || (uintmax_t)xlen > SIZE_MAX)
             return EINVAL;
         *count_out = xlen;
     } else {
-        asn1_uintmax xlen = load_uint(countptr, counted->lensize);
+        uintmax_t xlen = load_uint(countptr, counted->lensize);
         if ((size_t)xlen != xlen || xlen > SIZE_MAX)
             return EINVAL;
         *count_out = xlen;
@@ -567,7 +567,7 @@ load_count(const void *val, const struct counted_info *counted,
 }
 
 static asn1_error_code
-store_int(asn1_intmax intval, size_t size, void *val)
+store_int(intmax_t intval, size_t size, void *val)
 {
     switch (size) {
     case 1:
@@ -586,9 +586,9 @@ store_int(asn1_intmax intval, size_t size, void *val)
         *(krb5_int32 *)val = intval;
         return 0;
     case 8:
-        if ((INT64_TYPE)intval != intval)
+        if ((int64_t)intval != intval)
             return ASN1_OVERFLOW;
-        *(INT64_TYPE *)intval = intval;
+        *(int64_t *)intval = intval;
         return 0;
     default:
         abort();
@@ -596,7 +596,7 @@ store_int(asn1_intmax intval, size_t size, void *val)
 }
 
 static asn1_error_code
-store_uint(asn1_uintmax intval, size_t size, void *val)
+store_uint(uintmax_t intval, size_t size, void *val)
 {
     switch (size) {
     case 1:
@@ -615,9 +615,9 @@ store_uint(asn1_uintmax intval, size_t size, void *val)
         *(krb5_ui_4 *)val = intval;
         return 0;
     case 8:
-        if ((UINT64_TYPE)intval != intval)
+        if ((uint64_t)intval != intval)
             return ASN1_OVERFLOW;
-        *(UINT64_TYPE *)val = intval;
+        *(uint64_t *)val = intval;
         return 0;
     default:
         abort();
@@ -634,7 +634,7 @@ store_count(size_t count, const struct counted_info *counted, void *val)
     if (counted->lensigned) {
         if (count == SIZE_MAX)
             return store_int(-1, counted->lensize, countptr);
-        else if ((asn1_intmax)count < 0)
+        else if ((intmax_t)count < 0)
             return ASN1_OVERFLOW;
         else
             return store_int(count, counted->lensize, countptr);
@@ -1270,21 +1270,21 @@ decode_atype(const taginfo *t, const unsigned char *asn1,
         return decode_atype(tp, asn1, len, tag->basetype, val);
     }
     case atype_bool: {
-        asn1_intmax intval;
+        intmax_t intval;
         ret = k5_asn1_decode_bool(asn1, len, &intval);
         if (ret)
             return ret;
         return store_int(intval, a->size, val);
     }
     case atype_int: {
-        asn1_intmax intval;
+        intmax_t intval;
         ret = k5_asn1_decode_int(asn1, len, &intval);
         if (ret)
             return ret;
         return store_int(intval, a->size, val);
     }
     case atype_uint: {
-        asn1_uintmax intval;
+        uintmax_t intval;
         ret = k5_asn1_decode_uint(asn1, len, &intval);
         if (ret)
             return ret;
@@ -1292,7 +1292,7 @@ decode_atype(const taginfo *t, const unsigned char *asn1,
     }
     case atype_int_immediate: {
         const struct immediate_info *imm = a->tinfo;
-        asn1_intmax intval;
+        intmax_t intval;
         ret = k5_asn1_decode_int(asn1, len, &intval);
         if (ret)
             return ret;
diff --git a/src/lib/krb5/asn.1/asn1_encode.h b/src/lib/krb5/asn.1/asn1_encode.h
index 1262fb3..b63413f 100644
--- a/src/lib/krb5/asn.1/asn1_encode.h
+++ b/src/lib/krb5/asn.1/asn1_encode.h
@@ -45,11 +45,11 @@ typedef struct {
 
 /* These functions are referenced by encoder structures.  They handle the
  * encoding of primitive ASN.1 types. */
-asn1_error_code k5_asn1_encode_bool(asn1buf *buf, asn1_intmax val,
+asn1_error_code k5_asn1_encode_bool(asn1buf *buf, intmax_t val,
                                     size_t *len_out);
-asn1_error_code k5_asn1_encode_int(asn1buf *buf, asn1_intmax val,
+asn1_error_code k5_asn1_encode_int(asn1buf *buf, intmax_t val,
                                    size_t *len_out);
-asn1_error_code k5_asn1_encode_uint(asn1buf *buf, asn1_uintmax val,
+asn1_error_code k5_asn1_encode_uint(asn1buf *buf, uintmax_t val,
                                     size_t *len_out);
 asn1_error_code k5_asn1_encode_bytestring(asn1buf *buf,
                                           unsigned char *const *val,
@@ -63,11 +63,11 @@ asn1_error_code k5_asn1_encode_generaltime(asn1buf *buf, time_t val,
 /* These functions are referenced by encoder structures.  They handle the
  * decoding of primitive ASN.1 types. */
 asn1_error_code k5_asn1_decode_bool(const unsigned char *asn1, size_t len,
-                                    asn1_intmax *val);
+                                    intmax_t *val);
 asn1_error_code k5_asn1_decode_int(const unsigned char *asn1, size_t len,
-                                   asn1_intmax *val);
+                                   intmax_t *val);
 asn1_error_code k5_asn1_decode_uint(const unsigned char *asn1, size_t len,
-                                    asn1_uintmax *val);
+                                    uintmax_t *val);
 asn1_error_code k5_asn1_decode_generaltime(const unsigned char *asn1,
                                            size_t len, time_t *time_out);
 asn1_error_code k5_asn1_decode_bytestring(const unsigned char *asn1,
@@ -190,7 +190,7 @@ struct tagged_info {
 };
 
 struct immediate_info {
-    asn1_intmax val;
+    intmax_t val;
     asn1_error_code err;
 };
 
diff --git a/src/lib/krb5/asn.1/asn1_k_encode.c b/src/lib/krb5/asn.1/asn1_k_encode.c
index b4c15bb..7b9179d 100644
--- a/src/lib/krb5/asn.1/asn1_k_encode.c
+++ b/src/lib/krb5/asn.1/asn1_k_encode.c
@@ -132,7 +132,7 @@ static asn1_error_code
 decode_seqno(const taginfo *t, const unsigned char *asn1, size_t len, void *p)
 {
     asn1_error_code ret;
-    asn1_intmax val;
+    intmax_t val;
     ret = k5_asn1_decode_int(asn1, len, &val);
     if (ret)
         return ret;
@@ -330,7 +330,7 @@ decode_lr_type(const taginfo *t, const unsigned char *asn1, size_t len,
                void *p)
 {
     asn1_error_code ret;
-    asn1_intmax val;
+    intmax_t val;
     ret = k5_asn1_decode_int(asn1, len, &val);
     if (ret)
         return ret;
diff --git a/src/lib/krb5/asn.1/krbasn1.h b/src/lib/krb5/asn.1/krbasn1.h
index 73de724..1755784 100644
--- a/src/lib/krb5/asn.1/krbasn1.h
+++ b/src/lib/krb5/asn.1/krbasn1.h
@@ -35,9 +35,6 @@ typedef enum { PRIMITIVE = 0x00, CONSTRUCTED = 0x20 } asn1_construction;
 typedef enum { UNIVERSAL = 0x00, APPLICATION = 0x40,
                CONTEXT_SPECIFIC = 0x80, PRIVATE = 0xC0 } asn1_class;
 
-typedef INT64_TYPE asn1_intmax;
-typedef UINT64_TYPE asn1_uintmax;
-
 typedef int asn1_tagnum;
 #define ASN1_TAGNUM_CEILING INT_MAX
 #define ASN1_TAGNUM_MAX (ASN1_TAGNUM_CEILING-1)
diff --git a/src/lib/krb5/keytab/kt_file.c b/src/lib/krb5/keytab/kt_file.c
index 82d3c41..44864b5 100644
--- a/src/lib/krb5/keytab/kt_file.c
+++ b/src/lib/krb5/keytab/kt_file.c
@@ -622,7 +622,7 @@ krb5_ktf_keytab_externalize(krb5_context kcontext, krb5_pointer arg, krb5_octet
     size_t              remain;
     krb5_ktfile_data    *ktdata;
     krb5_int32          file_is_open;
-    krb5_int64          file_pos;
+    int64_t             file_pos;
     char                *ktname;
     const char          *fnamep;
 
@@ -719,7 +719,7 @@ krb5_ktf_keytab_internalize(krb5_context kcontext, krb5_pointer *argp, krb5_octe
     char                *ktname = NULL;
     krb5_ktfile_data    *ktdata;
     krb5_int32          file_is_open;
-    krb5_int64          foff;
+    int64_t             foff;
 
     *argp = NULL;
     bp = *buffer;
diff --git a/src/lib/krb5/krb/authdata.h b/src/lib/krb5/krb/authdata.h
index 77db5fc..46b699c 100644
--- a/src/lib/krb5/krb/authdata.h
+++ b/src/lib/krb5/krb/authdata.h
@@ -51,7 +51,7 @@ krb5int_authdata_verify(krb5_context context,
 typedef struct _PAC_INFO_BUFFER {
     krb5_ui_4 ulType;
     krb5_ui_4 cbBufferSize;
-    krb5_ui_8 Offset;
+    uint64_t Offset;
 } PAC_INFO_BUFFER;
 
 typedef struct _PACTYPE {
@@ -100,8 +100,7 @@ k5_pac_add_buffer(krb5_context context,
                   krb5_data *out_data);
 
 krb5_error_code
-k5_seconds_since_1970_to_time(krb5_timestamp elapsedSeconds,
-                              krb5_ui_8 *ntTime);
+k5_seconds_since_1970_to_time(krb5_timestamp elapsedSeconds, uint64_t *ntTime);
 
 
 #endif /* !KRB_AUTHDATA_H */
diff --git a/src/lib/krb5/krb/init_ctx.c b/src/lib/krb5/krb/init_ctx.c
index 252596d..6801bb1 100644
--- a/src/lib/krb5/krb/init_ctx.c
+++ b/src/lib/krb5/krb/init_ctx.c
@@ -150,7 +150,7 @@ krb5_init_context_profile(profile_t profile, krb5_flags flags,
        of using uint64_t, the possibility does exist that we're
        wrong.  */
     {
-        krb5_ui_8 i64;
+        uint64_t i64;
         assert(sizeof(i64) == 8);
         i64 = 0, i64--, i64 >>= 62;
         assert(i64 == 3);
diff --git a/src/lib/krb5/krb/pac.c b/src/lib/krb5/krb/pac.c
index cc6f200..2458695 100644
--- a/src/lib/krb5/krb/pac.c
+++ b/src/lib/krb5/krb/pac.c
@@ -375,10 +375,9 @@ krb5_pac_parse(krb5_context context,
 }
 
 static krb5_error_code
-k5_time_to_seconds_since_1970(krb5_int64 ntTime,
-                              krb5_timestamp *elapsedSeconds)
+k5_time_to_seconds_since_1970(int64_t ntTime, krb5_timestamp *elapsedSeconds)
 {
-    krb5_ui_8 abstime;
+    uint64_t abstime;
 
     ntTime /= 10000000;
 
@@ -393,8 +392,7 @@ k5_time_to_seconds_since_1970(krb5_int64 ntTime,
 }
 
 krb5_error_code
-k5_seconds_since_1970_to_time(krb5_timestamp elapsedSeconds,
-                              krb5_ui_8 *ntTime)
+k5_seconds_since_1970_to_time(krb5_timestamp elapsedSeconds, uint64_t *ntTime)
 {
     *ntTime = elapsedSeconds;
 
@@ -418,7 +416,7 @@ k5_pac_validate_client(krb5_context context,
     unsigned char *p;
     krb5_timestamp pac_authtime;
     krb5_ui_2 pac_princname_length;
-    krb5_int64 pac_nt_authtime;
+    int64_t pac_nt_authtime;
     krb5_principal pac_principal;
 
     ret = k5_pac_locate_buffer(context, pac, KRB5_PAC_CLIENT_INFO,
diff --git a/src/lib/krb5/krb/pac_sign.c b/src/lib/krb5/krb/pac_sign.c
index 2053581..d40df45 100644
--- a/src/lib/krb5/krb/pac_sign.c
+++ b/src/lib/krb5/krb/pac_sign.c
@@ -40,7 +40,7 @@ k5_insert_client_info(krb5_context context,
     char *princ_name_utf8 = NULL;
     unsigned char *princ_name_ucs2 = NULL, *p;
     size_t princ_name_ucs2_len = 0;
-    krb5_ui_8 nt_authtime;
+    uint64_t nt_authtime;
 
     /* If we already have a CLIENT_INFO buffer, then just validate it */
     if (k5_pac_locate_buffer(context, pac, KRB5_PAC_CLIENT_INFO,
diff --git a/src/lib/krb5/krb/serialize.c b/src/lib/krb5/krb/serialize.c
index 9ad2d22..6d60f22 100644
--- a/src/lib/krb5/krb/serialize.c
+++ b/src/lib/krb5/krb/serialize.c
@@ -192,12 +192,12 @@ krb5_ser_pack_int32(krb5_int32 iarg, krb5_octet **bufp, size_t *remainp)
  *                                Update buffer pointer and remaining space.
  */
 krb5_error_code KRB5_CALLCONV
-krb5_ser_pack_int64(krb5_int64 iarg, krb5_octet **bufp, size_t *remainp)
+krb5_ser_pack_int64(int64_t iarg, krb5_octet **bufp, size_t *remainp)
 {
-    if (*remainp >= sizeof(krb5_int64)) {
+    if (*remainp >= sizeof(int64_t)) {
         store_64_be(iarg, (unsigned char *)*bufp);
-        *bufp += sizeof(krb5_int64);
-        *remainp -= sizeof(krb5_int64);
+        *bufp += sizeof(int64_t);
+        *remainp -= sizeof(int64_t);
         return(0);
     }
     else
@@ -240,12 +240,12 @@ krb5_ser_unpack_int32(krb5_int32 *intp, krb5_octet **bufp, size_t *remainp)
  * krb5_ser_unpack_int64()      - Unpack an 8-byte integer if it's there.
  */
 krb5_error_code KRB5_CALLCONV
-krb5_ser_unpack_int64(krb5_int64 *intp, krb5_octet **bufp, size_t *remainp)
+krb5_ser_unpack_int64(int64_t *intp, krb5_octet **bufp, size_t *remainp)
 {
-    if (*remainp >= sizeof(krb5_int64)) {
+    if (*remainp >= sizeof(int64_t)) {
         *intp = load_64_be((unsigned char *)*bufp);
-        *bufp += sizeof(krb5_int64);
-        *remainp -= sizeof(krb5_int64);
+        *bufp += sizeof(int64_t);
+        *remainp -= sizeof(int64_t);
         return(0);
     }
     else
diff --git a/src/lib/krb5/os/sendto_kdc.c b/src/lib/krb5/os/sendto_kdc.c
index e0f360a..828bfff 100644
--- a/src/lib/krb5/os/sendto_kdc.c
+++ b/src/lib/krb5/os/sendto_kdc.c
@@ -57,7 +57,7 @@
 #define SSF_WRITE 0x02
 #define SSF_EXCEPTION 0x04
 
-typedef krb5_int64 time_ms;
+typedef int64_t time_ms;
 
 /* Since fd_set is large on some platforms (8K on AIX 5.2), this probably
  * shouldn't be allocated in automatic storage. */
diff --git a/src/util/profile/prof_init.c b/src/util/profile/prof_init.c
index 9845a18..cc92248 100644
--- a/src/util/profile/prof_init.c
+++ b/src/util/profile/prof_init.c
@@ -13,8 +13,6 @@
 #endif
 #include <errno.h>
 
-typedef int32_t prof_int32;
-
 /* Create a vtable profile, possibly with a library handle.  The new profile
  * takes ownership of the handle refcount on success. */
 static errcode_t
@@ -529,20 +527,20 @@ errcode_t profile_ser_size(const char *unused, profile_t profile,
     size_t      required;
     prf_file_t  pfp;
 
-    required = 3*sizeof(prof_int32);
+    required = 3*sizeof(int32_t);
     for (pfp = profile->first_file; pfp; pfp = pfp->next) {
-        required += sizeof(prof_int32);
+        required += sizeof(int32_t);
         required += strlen(pfp->data->filespec);
     }
     *sizep += required;
     return 0;
 }
 
-static void pack_int32(prof_int32 oval, unsigned char **bufpp, size_t *remainp)
+static void pack_int32(int32_t oval, unsigned char **bufpp, size_t *remainp)
 {
     store_32_be(oval, *bufpp);
-    *bufpp += sizeof(prof_int32);
-    *remainp -= sizeof(prof_int32);
+    *bufpp += sizeof(int32_t);
+    *remainp -= sizeof(int32_t);
 }
 
 errcode_t profile_ser_externalize(const char *unused, profile_t profile,
@@ -553,7 +551,7 @@ errcode_t profile_ser_externalize(const char *unused, profile_t profile,
     unsigned char       *bp;
     size_t              remain;
     prf_file_t          pfp;
-    prof_int32          fcount, slen;
+    int32_t             fcount, slen;
 
     required = 0;
     bp = *bufpp;
@@ -569,7 +567,7 @@ errcode_t profile_ser_externalize(const char *unused, profile_t profile,
             pack_int32(PROF_MAGIC_PROFILE, &bp, &remain);
             pack_int32(fcount, &bp, &remain);
             for (pfp = profile->first_file; pfp; pfp = pfp->next) {
-                slen = (prof_int32) strlen(pfp->data->filespec);
+                slen = (int32_t) strlen(pfp->data->filespec);
                 pack_int32(slen, &bp, &remain);
                 if (slen) {
                     memcpy(bp, pfp->data->filespec, (size_t) slen);
@@ -586,13 +584,13 @@ errcode_t profile_ser_externalize(const char *unused, profile_t profile,
     return(retval);
 }
 
-static int unpack_int32(prof_int32 *intp, unsigned char **bufpp,
+static int unpack_int32(int32_t *intp, unsigned char **bufpp,
                         size_t *remainp)
 {
-    if (*remainp >= sizeof(prof_int32)) {
+    if (*remainp >= sizeof(int32_t)) {
         *intp = load_32_be(*bufpp);
-        *bufpp += sizeof(prof_int32);
-        *remainp -= sizeof(prof_int32);
+        *bufpp += sizeof(int32_t);
+        *remainp -= sizeof(int32_t);
         return 0;
     }
     else
@@ -606,7 +604,7 @@ errcode_t profile_ser_internalize(const char *unused, profile_t *profilep,
     unsigned char   *bp;
     size_t          remain;
     int                     i;
-    prof_int32              fcount, tmp;
+    int32_t                 fcount, tmp;
     profile_filespec_t              *flist = 0;
 
     bp = *bufpp;
diff --git a/src/util/profile/prof_int.h b/src/util/profile/prof_int.h
index 6700b50..cddc1fd 100644
--- a/src/util/profile/prof_int.h
+++ b/src/util/profile/prof_int.h
@@ -49,7 +49,7 @@ struct _prf_data_t {
 	   This is icky.  I just hope it's adequate.
 
 	   For next major release, fix this.  */
-	union { double d; void *p; UINT64_TYPE ll; k5_mutex_t m; } pad;
+	union { double d; void *p; uint64_t ll; k5_mutex_t m; } pad;
 
 	int		refcount; /* prf_file_t references */
 	struct _prf_data_t *next;
diff --git a/src/util/support/t_unal.c b/src/util/support/t_unal.c
index 6b2720b..cc2f4c9 100644
--- a/src/util/support/t_unal.c
+++ b/src/util/support/t_unal.c
@@ -9,7 +9,7 @@ int main ()
        on.  */
 
     union {
-        UINT64_TYPE n64;
+        uint64_t n64;
         uint32_t n32;
         uint16_t n16;
         unsigned char b[9];


More information about the cvs-krb5 mailing list