[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: heimdal 0.8-rc1



On Mon, Nov 27, 2006 at 05:22:51PM -0200, Andreas Hasenack wrote:
> On Fri, Oct 27, 2006 at 03:43:43AM +0200, bernie@develer.com wrote:
> > Hello,
> > 
> > | Before 0.8 is released these major problems need to fixed:
> > | -  bring back gssapi error messages from mech glue merge
> > | - fix gssapi DCE_STYLE
> > 
> > The LDAP hdb also looks like it needs a little more Love
> > (sorry, couldn't resist).
> > 
> > Since a long time, hdb-ldap.c doesn't even build because of
> > changes in the hdb interface.  It also has problems with
> > OpenLDAP 2.3.x.
> 
> Just for the record, this is the error with 0.8rc1 and openldap-2.3.30:
> (...)
> i586-mandriva-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I../../include -I../../include -I../../lib/roken -I../../lib/roken -I../asn1 -I./../asn1 -I/usr/include
>  -I/usr/include/et -D_FILE_OFFSET_BITS=64 -Wall -Wmissing-prototypes -Wpointer-arith -Wbad-function-cast -Wmissing-declarations -Wnested-externs -D_REENTRANT
>  -DHAVE_SNPRINTF -DLDAP_DEPRECATED -c hdb-ldap.c  -fPIC -DPIC -o .libs/hdb-ldap.o
> hdb-ldap.c: In function ‘LDAP_addmod_len’:
> hdb-ldap.c:229: warning: pointer targets in assignment differ in signedness
> hdb-ldap.c: In function ‘LDAP_entry2mods’:
> hdb-ldap.c:395: warning: passing argument 4 of ‘LDAP_message2entry’ from incompatible pointer type
> hdb-ldap.c:721: warning: passing argument 2 of ‘hdb_free_entry’ from incompatible pointer type
> hdb-ldap.c: In function ‘LDAP_message2entry’:
> hdb-ldap.c:924: warning: pointer targets in passing argument 4 of ‘LDAP_get_integer_value’ differ in signedness
> hdb-ldap.c:983: error: ‘struct hdb_entry_ex’ has no member named ‘etypes’
> hdb-ldap.c:984: error: ‘struct hdb_entry_ex’ has no member named ‘etypes’

This fixes the build:

--- heimdal-0.8-rc1/lib/hdb/hdb-ldap.c.orig	2006-11-27 18:44:01.000000000 -0200
+++ heimdal-0.8-rc1/lib/hdb/hdb-ldap.c	2006-11-27 18:44:06.000000000 -0200
@@ -980,8 +980,8 @@
 	ldap_value_free(values);
     }
 
-    for (i = 0; i < ent->etypes->len; i++) {
-	if (ent->etypes->val[i] == ETYPE_ARCFOUR_HMAC_MD5) {
+    for (i = 0; i < ent->entry.etypes->len; i++) {
+	if (ent->entry.etypes->val[i] == ETYPE_ARCFOUR_HMAC_MD5) {
 	    have_arcfour = 1;
 	    break;
 	}