X-Git-Url: http://git.openafs.org/?p=openafs.git;a=blobdiff_plain;f=src%2Faklog%2Fasetkey.c;h=5e1ca7554d8916e1a9b9032ca04092ae24e6965a;hp=ecf7d686c245cbc02cdd35086253deff006de2c3;hb=c26f3d6f5cb8d0e42289da20c75c03a4e6373eda;hpb=233c31c628d6ce30a549c55760f890a00955fb0e diff --git a/src/aklog/asetkey.c b/src/aklog/asetkey.c index ecf7d68..5e1ca75 100644 --- a/src/aklog/asetkey.c +++ b/src/aklog/asetkey.c @@ -11,6 +11,12 @@ #include #include #include +#ifdef HAVE_UNISTD_H +#include +#endif +#ifdef HAVE_STDLIB_H +#include +#endif #ifdef HAVE_MEMORY_H #include #endif /* HAVE_MEMORY_H */ @@ -30,6 +36,13 @@ #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[]) { @@ -82,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);