#include <errno.h>
#include <krb5.h>
+#ifndef HAVE_HEIMDAL_VERSION
+#include "gssapi_headerfix.h"
+#endif
#ifdef WIN32
# ifndef __cplusplus
#ifdef HAVE_HEIMDAL_VERSION
+#include <der.h>
+
#define KRB_TIME_FOREVER ((time_t)~0L)
#define KRB_KEY_TYPE(key) ((key)->keytype)
(cksum)->checksum.data = (d)->value; \
} while (0)
+#define KRB_CHECKSUM_FREE(ctx, cksum) do { \
+ der_free_octet_string(&(cksum)->checksum); \
+ memset((cksum), 0, sizeof(*(cksum))); \
+ } while (0)
+
#else
#define KRB_TIME_FOREVER KRB5_INT32_MAX
(cksum)->contents = (d)->value; \
} while (0)
+#define KRB_CHECKSUM_FREE(ctx, cksum) krb5_free_checksum_contents((ctx), (cksum))
+
#endif /* HAVE_HEIMDAL_VERSION */
#define KRB_KEY_INIT(key) do { \
const gss_OID_set src,
gss_OID_set *dst);
-static inline int
-oidEqual(const gss_OID_desc *o1, const gss_OID_desc *o2)
-{
- if (o1 == GSS_C_NO_OID)
- return (o2 == GSS_C_NO_OID);
- else if (o2 == GSS_C_NO_OID)
- return (o1 == GSS_C_NO_OID);
- else
- return (o1->length == o2->length &&
- memcmp(o1->elements, o2->elements, o1->length) == 0);
-}
+extern int
+oidEqual(const gss_OID_desc *o1, const gss_OID_desc *o2);
/* util_ordering.c */
OM_uint32