Menu

#29 Static libtirpc depends on symbols no longer available

open
nobody
None
5
2012-11-20
2011-11-29
Bart Kus
No

/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../lib64/libtirpc.a(libtirpc_la-auth_des.o): In function `authdes_validate':
(.text+0xee): undefined reference to `ecb_crypt'
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../lib64/libtirpc.a(libtirpc_la-auth_des.o): In function `authdes_marshal':
(.text+0x252): undefined reference to `cbc_crypt'
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../lib64/libtirpc.a(libtirpc_la-auth_des.o): In function `authdes_marshal':
(.text+0x320): undefined reference to `ecb_crypt'
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../lib64/libtirpc.a(libtirpc_la-auth_des.o): In function `authdes_refresh':
(.text+0x446): undefined reference to `key_encryptsession_pk'
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../lib64/libtirpc.a(libtirpc_la-auth_des.o): In function `authdes_pk_seccreate':
(.text+0x5c9): undefined reference to `getnetname'
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../lib64/libtirpc.a(libtirpc_la-auth_des.o): In function `authdes_pk_seccreate':
(.text+0x775): undefined reference to `key_gendes'
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../lib64/libtirpc.a(libtirpc_la-auth_des.o): In function `authdes_seccreate':
(.text+0x91e): undefined reference to `getpublickey'

These symbols are now only available in the dynamic version of glibc and look to be heading for the garbage bin. Can libtirpc be changed to depend on libopenssl instead? It does provide equivalent symbols for these:

$ nm /usr/lib64/libcrypto.a 2>/dev/null | egrep " T DES_(ecb|cbc)_encrypt"
0000000000000060 T DES_ecb_encrypt
0000000000000000 T DES_cbc_encrypt

Various bugs are related to this:

https://bugs.busybox.net/show_bug.cgi?id=4562
https://bugs.gentoo.org/show_bug.cgi?id=391817

Discussion

  • steved

    steved - 2011-11-29

    Hmm... what I don't understand is all those routines are locally defined the the following files:
    src/des_crypt.c
    src/key_call.c
    src/getpublickey.c

    Which is probably why they are defined dynamic library... so its bizarre they are not define in the static version...

     
  • Nobody/Anonymous

    flP5nN <a href="http://pvzaciwluqhq.com/">pvzaciwluqhq</a>, [url=http://tbfrvolxzgwx.com/]tbfrvolxzgwx[/url], [link=http://fhjytkkkrjvx.com/]fhjytkkkrjvx[/link], http://pvgcteyocicm.com/

     
  • Nobody/Anonymous

    ncSqml <a href="http://gxwggbjhjrvm.com/">gxwggbjhjrvm</a>, [url=http://yqzbalrjfzau.com/]yqzbalrjfzau[/url], [link=http://ssmuwswuesma.com/]ssmuwswuesma[/link], http://zpdkqkhmgndr.com/

     
  • Nobody/Anonymous

    HAthoR <a href="http://rtfiycmnsccs.com/">rtfiycmnsccs</a>, [url=http://wescuatwdcji.com/]wescuatwdcji[/url], [link=http://zxlakgocenzx.com/]zxlakgocenzx[/link], http://ptyyvbeonorf.com/

     
  • Nobody/Anonymous

    VccElI <a href="http://jpmqakmjnlnj.com/">jpmqakmjnlnj</a>, [url=http://dkdaehcrwcjk.com/]dkdaehcrwcjk[/url], [link=http://ltmiawlwtppu.com/]ltmiawlwtppu[/link], http://kfzgiifyxpzo.com/

     
MongoDB Logo MongoDB