X-Git-Url: http://git.openafs.org/?p=openafs.git;a=blobdiff_plain;f=src%2Faklog%2Fasetkey.c;h=5e1ca7554d8916e1a9b9032ca04092ae24e6965a;hp=36642229be7271e4acac07867848b802ea73f639;hb=c26f3d6f5cb8d0e42289da20c75c03a4e6373eda;hpb=6b042d4edb7f26358523da9dcdb565ed023e00da diff --git a/src/aklog/asetkey.c b/src/aklog/asetkey.c index 3664222..5e1ca75 100644 --- a/src/aklog/asetkey.c +++ b/src/aklog/asetkey.c @@ -6,10 +6,17 @@ * Updated for Kerberos 5 */ +#include #include #include #include #include +#ifdef HAVE_UNISTD_H +#include +#endif +#ifdef HAVE_STDLIB_H +#include +#endif #ifdef HAVE_MEMORY_H #include #endif /* HAVE_MEMORY_H */ @@ -21,14 +28,21 @@ #endif /* HAVE_STRINGS_H */ #endif /* HAVE_STRING_H */ +#include #include -#include -#include +#include #include #include #include +#ifdef HAVE_KRB5_CREDS_KEYBLOCK +#define USING_MIT 1 +#endif +#ifdef HAVE_KRB5_CREDS_SESSION +#define USING_HEIMDAL 1 +#endif + int main(int argc, char *argv[]) { @@ -81,13 +95,26 @@ main(int argc, char *argv[]) exit(1); } - if (key->length != 8) { +#ifdef USING_HEIMDAL +#define deref_key_length(key) \ + key->keyvalue.length + +#define deref_key_contents(key) \ + key->keyvalue.data +#else +#define deref_key_length(key) \ + key->length + +#define deref_key_contents(key) \ + key->contents +#endif + if (deref_key_length(key) != 8) { fprintf(stderr, "Key length should be 8, but is really %d!\n", - key->length); + deref_key_length(key)); exit(1); } - code = afsconf_AddKey(tdir, kvno, (char *) key->contents, 1); + code = afsconf_AddKey(tdir, kvno, (char *) deref_key_contents(key), 1); if (code) { fprintf(stderr, "%s: failed to set key, code %d.\n", argv[0], code); exit(1);