Bug #1137
closedsymbol md5* clash in libwt.so
0%
Description
libwt.so export the symbols: md5_append, md5_finish, md5_init
$ nm -DC /usr/local/lib/libwt.so | grep md5
00000000001e8850 T Wt::Utils::md5(std::string const&)
000000000051bc80 T _crypt_gensalt_md5_rn
00000000004b2570 T md5_append
00000000004b2700 T md5_finish
00000000004b1c10 T md5_init
I suggest to rename those symbols in:
wt_md5_append
wt_md5_finish
wt_md5_init
we were bite by the fact even on our own shared libraries we have md5_init, md5_finish, md5_append
(we have now renamed it).
Googling around it seems that is common usage to rename those 3 functions prepending it with a prefix,
(namespacing it) examples:
- nm -DC libgs.so.8 | grep md5
00000000009f9a40 D gs_md50Eco_device
00000000009f7f60 D gs_md50Mono_device
00000000000ec9f0 T gs_md5_append
00000000000ecb80 T gs_md5_finish
00000000000ec100 T gs_md5_init
00000000009fed00 D gs_md5k_device
0000000000717500 D zfmd5_op_defs
<!-- -->
- nm -DC libaprutil-1.so | grep md5
000000000000e270 T apr_md5
000000000000e360 T apr_md5_encode
000000000000e010 T apr_md5_final
000000000000d220 T apr_md5_init
000000000000e310 T apr_md5_set_xlate
000000000000e160 T apr_md5_update
I suggest to namespace those in wt as well
Updated by Koen Deforche almost 13 years ago
- Status changed from New to InProgress
- Assignee set to Pieter Libin
- Target version set to 3.2.1
Hey,
Oops, we didn't consider that these C symbols were indeed exported. Because making them library scope is hard (and uncommon) in Linux, I agree the prefixing is probably the simplest solution.
Same probably goes for the SHA-1 C implementation.
Regards,
koen
Updated by Pieter Libin almost 13 years ago
- Status changed from InProgress to Resolved