Eric Boehm
2003-Oct-16 12:41 UTC
[Samba] Samba 3.0.0 CVS 3.0.1pre2: "libads/kerberos_verify.c", line 77: improper member use: keyblock
This has been submitted to https://bugzilla.samba.org/ as Bug 636 I'm trying to build Samba 3.0.0 CVS 3.0.1pre2 under Solaris 8 with MIT Kerberos 5 1.3.1 OpenLDAP 2.1.22 using the Sun Workshop 6U2 compiler Arguments to configure are: configured by ./configure, generated by GNU Autoconf 2.53, with options \"'--with-readline' '--with-libiconv=/usr/local' '--with-ldap' '- -with-krb5=/usr/local/kerberos' '--with-ldapsam' '--with-automount' '--with-libs mbclient' '--with-acl-support' '--with-winbind' '--prefix=/usr/local' 'CC=cc' 'C FLAGS=-xarch=v9a' 'CPPFLAGS=-I/usr/local/include -I/usr/local/openldap/include - I/usr/local/sasl/include -I/usr/local/kerberos/include -I/usr/local/BerkeleyDB.4 .1/include -I/usr/local/openssl/include' 'LDFLAGS=-L/usr/local/lib/sparcv9 -L/us r/local/openldap/lib -L/usr/local/sasl/lib -L/usr/local/kerberos/lib -L/usr/loca l/BerkeleyDB.4.1/lib -L/usr/local/openssl/lib -R/usr/local/lib/sparcv9 -R/usr/lo cal/openldap/lib -R/usr/local/sasl/lib -R/usr/local/kerberos/lib -R/usr/local/Be rkeleyDB.4.1/lib -R/usr/local/openssl/lib'\" I get the following error trying to compile libads/kerberos_verify.c "libads/kerberos_verify.c", line 77: improper member use: keyblock The relevant code below looks okay to me static krb5_error_code create_keytab(krb5_context context, krb5_principal host_princ, char *host_princ_s, krb5_data password, krb5_enctype *enctypes, krb5_keytab *keytab, char *keytab_name) { krb5_keytab_entry entry; krb5_kvno kvno = 1; krb5_error_code ret; krb5_keyblock *key; int i; [... lines deleted ...] entry.keyblock = *key; The problem is that the structure member name is key, not keyblock.>From krb5.htypedef struct krb5_keytab_entry_st { krb5_magic magic; krb5_principal principal; /* principal of this key */ krb5_timestamp timestamp; /* time entry written to keytable */ krb5_kvno vno; /* key version number */ krb5_keyblock key; /* the secret key */ } krb5_keytab_entry; Here's a possible patch --- libads/kerberos_verify.c~ Tue Oct 14 13:28:27 2003 +++ libads/kerberos_verify.c Thu Oct 16 08:37:20 2003 @@ -74,7 +74,7 @@ /* this will have to be detected in configure...heimdal calls it keyblock, MIT calls it key, but it does not matter we are creating keytabs with MIT */ - entry.keyblock = *key; + entry.key = *key; DEBUG(10,("adding keytab-entry for (%s) with encryption type (%d)\n", host_princ_s, enctypes[i])); -- Eric M. Boehm /"\ ASCII Ribbon Campaign boehm@nortelnetworks.com \ / No HTML or RTF in mail X No proprietary word-processing Respect Open Standards / \ files in mail