After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 351969 - Update to non-deprecated ldap functions
Update to non-deprecated ldap functions
Status: RESOLVED FIXED
Product: seahorse
Classification: Applications
Component: general
git master
Other Linux
: Normal minor
: 1.0.0
Assigned To: Seahorse Maintainer
Seahorse Maintainer
Depends on:
Blocks:
 
 
Reported: 2006-08-18 18:26 UTC by Adam Schreiber
Modified: 2006-11-01 16:41 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Adam Schreiber 2006-08-18 18:26:16 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
Comment 1 Stef Walter 2006-08-18 19:29:04 UTC
This works for me. There are also no [ldap] debug messages in your log.
Comment 2 Adam Schreiber 2006-08-18 19:50:32 UTC
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)

Comment 3 Stef Walter 2006-08-19 21:16:28 UTC
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.
Comment 4 Adam Schreiber 2006-08-19 22:43:59 UTC
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.
Comment 5 Ted Anderson 2006-10-31 20:57:38 UTC
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)
Comment 6 Stef Walter 2006-11-01 16:41:44 UTC
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