Is this a bug?

Jeremy Hunt jeremyh at optimation.com.au
Fri Sep 30 02:44:16 EDT 2005


I am currently trying to build a new version of Kerberos with the 
replication changes from the University of Michigan. I am shoehorning a 
patch for version 1.3.4 onto the latest verson 1.4.2. But that does not 
appear to be the problem.

After applying the patch, and other changes, I ran configure, and 
finally  make.

I got this error:

In file included from crc32.c:30:
../../../include/k5-int.h:1791: redefinition of `struct _krb5_donot_replay'
../../../include/k5-int.h:1798: redefinition of `krb5_donot_replay'
../../../include/krb5.h:1283: `krb5_donot_replay' previously declared here
*** Error code 1
make: Fatal error: Command failed for target `crc32.o'
Current working directory 
/opt/home/nconjth/Kerberos/Krb5/src/lib/crypto/crc32

This seems harmless enough, however further investigation shows that 
k5-int.h has this definition for struct _krb5_donot_replay:

typedef struct _krb5_donot_replay {
    krb5_magic magic;
    krb5_ui_4 hash;
    char *server;                       /* null-terminated */
    char *client;                       /* null-terminated */
    krb5_int32 cusec;
    krb5_timestamp ctime;
} krb5_donot_replay;

and krb5-hin (which generates krb5.in after make) has this definition:

typedef struct _krb5_donot_replay {
    krb5_magic magic;
    char *server;                       /* null-terminated */
    char *client;                       /* null-terminated */
    krb5_int32 cusec;
    krb5_timestamp ctime;
} krb5_donot_replay;

which because of the missing krb5_ui_4 hash component appears to be 
incompatible.

The structure 'krb5_donot_replay' is not part of the replication patch, 
but it appears that if you do a make of a file which includes k5-int.h, 
then you will get the error I got.

So my questions are:

1. Is this an oversight? I notice from the include Changelog that 
krb5_donot_replay was recently moved to krb5.h, was the change meant as 
well?
2. Which definition should be used to rebuild Kerberos?
3. As this is not part of the replication changes and no one else has 
mentioned this, have I missed something or am I doing something wrong?

Thanks in advance,

Jeremy Hunt




More information about the Kerberos mailing list