libopie exports conflicting symbols

Bug #518653 reported by Simon Schubert
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
opie (Ubuntu)
Fix Released
Wishlist
Unassigned

Bug Description

libopie.a exports the functions md5_init, md5_append and md5_finish. These are quite common names that should be avoided by a central library. The problem arises when any binary that also uses these symbol names is linked to libopie.a, especially when this happens indirectly.

Concretely, I ran into a problem when trying to use dovecot with libpam-opie. pam_opie.so contains (part of) libopie.a, and thus also the global functions md5_init, etc. Dovecot contains md5_init, md5_update and md5_finish as global functions. Note that libopie and dovecot differ in md5_append vs md5_update, yet share the other function names.

As a result, pam_opie.so will use part dovecot functions (per standard plt resolution), and part its own (since md5_append is not defined my dovecot). That results in an invalid md5 calculation and thus in failed authentication.

Possible solution:
libopie.a should not export such common names, and instead prefix them appropriately. Alternatively use hidden visibility if applicable.

Description: Ubuntu 9.10
Release: 9.10

libopie-dev:
  Installed: 2.40~dfsg-0ubuntu1
  Candidate: 2.40~dfsg-0ubuntu1
  Version table:
 *** 2.40~dfsg-0ubuntu1 0
        500 http://ch.archive.ubuntu.com karmic/main Packages
        100 /var/lib/dpkg/status
libpam-opie:
  Installed: 0.21-8build2
  Candidate: 0.21-8build2
  Version table:
 *** 0.21-8build2 0
        500 http://ch.archive.ubuntu.com karmic/main Packages
        100 /var/lib/dpkg/status

Related branches

Revision history for this message
Simon Schubert (corecode) wrote :
Chuck Short (zulcss)
Changed in opie (Ubuntu):
importance: Undecided → Wishlist
status: New → Confirmed
Revision history for this message
Benjamin Drung (bdrung) wrote :

This is fixed upstream in opie-2.4.1-test1. Then let's get your fix into maverick.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package opie - 2.40~dfsg-0ubuntu3

---------------
opie (2.40~dfsg-0ubuntu3) maverick; urgency=low

  * Rename all internal md5_* symbols to opiemd5_ to avoid collisions with
    other packages (e.g. dovecot). It's fixed upstream in 2.4.1-test1.
    (LP: #518653)
 -- Simon Schubert <2@0x2c.org> Tue, 17 Aug 2010 13:51:56 +0200

Changed in opie (Ubuntu):
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.