GNOME Bugzilla – Bug 351969
Update to non-deprecated ldap functions
Last modified: 2006-11-01 16:41:44 UTC
Select personal key pair right click and select sync Error message: Couldn't publish keys to server: ldap://keyserver.pgp.com entry has no objectClass attribute Console output: [transfer] starting export [hkp] Get Request: method: GET uri: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x7108E308 [multi-operation 0x082842C0] start [multi-operation 0x082842C0] adding part: 0x08342D58 [multi-operation 0x082842C0] single progress: Syncing keys 0.000000 [transfer] starting export [multi-operation 0x082842C0] adding part: 0x08342DD8 [multi-operation 0x082842C0] multi progress: Syncing keys 0.000000 [transfer] starting export [multi-operation 0x082842C0] adding part: 0x08342E18 [multi-operation 0x082842C0] multi progress: Syncing keys 0.000000 [transfer] export progress: 0.000000 [transfer] export progress: 1.000000 [multi-operation 0x082842C0] multi progress: Syncing keys 0.166667 [transfer] export done [transfer] starting import [multi-operation 0x082842C0] multi progress: Resolving server address: keyserver.pgp.com 0.166667 [transfer] import progress: 0.000000 [multi-operation 0x082842C0] multi progress: Connecting to: keyserver.pgp.com 0.166667 [hkp] Get Result: status: 200 reason: OK Server: pks_www/0.9.6 Content-type: text/html response: <title>Public Key Server -- Get ``0x7108E308 ''</title><p> <h1>Public Key Server -- Get ``0x7108E308 ''</h1><p> <pre> -----BEGIN PGP PUBLIC KEY BLOCK----- Version: PGP Key Server 0.9.6 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 =Oute -----END PGP PUBLIC KEY BLOCK----- </pre> [transfer] export progress: 1.000000 [multi-operation 0x082842C0] multi progress: Syncing keys 0.333333 [transfer] export done [transfer] starting import [multi-operation 0x082842C0] multi progress: Syncing keys 0.333333 [transfer] export progress: 0.000000 [transfer] import progress: 0.000000 [multi-operation 0x082842C0] multi progress: Sending keys to key server... 0.333333 [transfer] export progress: 1.000000 [multi-operation 0x082842C0] multi progress: Syncing keys 0.500000 [transfer] export progress: 1.000000 [transfer] export done [transfer] starting import [multi-operation 0x082842C0] multi progress: Syncing keys 0.500000 [transfer] import progress: 1.000000 [multi-operation 0x082842C0] multi progress: Syncing keys 0.666667 [transfer] import done [multi-operation 0x082842C0] multi progress: Syncing keys 0.666667 [transfer] import progress: 1.000000 [multi-operation 0x082842C0] multi progress: Syncing keys 0.833333 [transfer] import done [multi-operation 0x082842C0] multi progress: Syncing keys 0.833333 [multi-operation 0x082842C0] part complete (3): 0x08342DD8/(null) [multi-operation 0x082842C0] multi progress: Syncing keys 0.833333 [transfer] import progress: 1.000000 [multi-operation 0x082842C0] multi progress: Syncing keys 1.000000 [transfer] import done [multi-operation 0x082842C0] multi progress: (null) 1.000000 [multi-operation 0x082842C0] part complete (3): 0x08342D58/(null) [multi-operation 0x082842C0] complete
This works for me. There are also no [ldap] debug messages in your log.
Might it have something to do with these warnings while building libseahorse: seahorse/libseahorse$ make |grep warning seahorse-ldap-source.c: In function `dump_ldap_entry': seahorse-ldap-source.c:135: warning: implicit declaration of function `ldap_get_values' seahorse-ldap-source.c:135: warning: assignment makes pointer from integer without a cast seahorse-ldap-source.c:139: warning: implicit declaration of function `ldap_value_free' seahorse-ldap-source.c: In function `get_string_attribute': seahorse-ldap-source.c:163: warning: assignment makes pointer from integer without a cast seahorse-ldap-source.c: In function `get_boolean_attribute': seahorse-ldap-source.c:177: warning: assignment makes pointer from integer without a cast seahorse-ldap-source.c: In function `get_int_attribute': seahorse-ldap-source.c:191: warning: assignment makes pointer from integer without a cast seahorse-ldap-source.c: In function `get_date_attribute': seahorse-ldap-source.c:206: warning: assignment makes pointer from integer without a cast seahorse-ldap-source.c: In function `get_algo_attribute': seahorse-ldap-source.c:235: warning: assignment makes pointer from integer without a cast seahorse-ldap-source.c: In function `seahorse_ldap_operation_dispose': seahorse-ldap-source.c:346: warning: implicit declaration of function `ldap_abandon' seahorse-ldap-source.c:351: warning: implicit declaration of function `ldap_unbind' seahorse-ldap-source.c: In function `done_bind_start_info': seahorse-ldap-source.c:561: warning: implicit declaration of function `ldap_search' seahorse-ldap-source.c: In function `resolved_callback': seahorse-ldap-source.c:611: warning: implicit declaration of function `ldap_init' seahorse-ldap-source.c:611: warning: assignment makes pointer from integer without a cast seahorse-ldap-source.c:632: warning: implicit declaration of function `ldap_simple_bind' seahorse-ldap-source.c: In function `send_key_to_ldap': seahorse-ldap-source.c:1133: warning: implicit declaration of function `ldap_add' $ ldd /usr/bin/seahorse|grep ldap libldap-2.3.so.0 => /usr/lib/libldap-2.3.so.0 (0xb7ad6000)
Probably something to do with how openldap is installed on your machine. You should look at configure.in and see how it can be changed to detect your installation properly.
As far as I know, the openldap package is installed correctly. However the /usr/include/ldap.h file describes all of those functions as deprecated.
FWIW, I have the same error using Seahorse 0.9.5 on Ubuntu Edgy 6.10. I don't know how to troubleshoot Ubuntu's build of openldap but wanted to report that someone else sees the error. In case it helps: $ ldd /usr/bin/seahorse|grep ldap libldap_r.so.2 => /usr/lib/libldap_r.so.2 (0xb7c16000)
The LDAP guys seem to be getting a little too deprecation happy. In any case, I've committed code to remove the deprecated calls to: `ldap_get_values' `ldap_value_free' `ldap_abandon' `ldap_unbind' `ldap_search' `ldap_add' ldap_get_values and ldap_value_free are dumb deprecations without functions that fill their same scope. So I simply rewrote those functions within seahorse. As far as the following: `ldap_init' `ldap_simple_bind' These are not deprecated on my system (OpenLDAP 2.1.30 libraries in Ubuntu Edgy). In addition ldap_simple_bind does not have a replacement that I can tell. The documentation on the openldap.org site does not reflect any of these deprecations (even the documentation for version 2.3) nor does it outline the functions that should be used in replacement. For example this page still advocates using ldap_simple_bind and does not document the SASL methods at all: http://www.openldap.org/software/man.cgi?query=ldap_simple_bind&apropos=0&sektion=0&manpath=OpenLDAP+2.3-Release&format=html Older LDAP servers (version 2) don't support anything but a simple bind. Also OpenLDAP's own tools (like ldapsearch) continue to use deprecated functions (ldap_bind in particular): http://www.openldap.org/devel/cvsweb.cgi/~checkout~/clients/tools/common.c?rev=1.81&hideattic=1&sortbydate=0