Bug#391454: libyate1.0.0: MD5 broken on Big Endian architectures.
Sebastien Bernard
sbernard at nerim.net
Fri Oct 6 15:55:36 UTC 2006
Package: libyate1.0.0
Version: 1.0.0-1.dfsg-2
Severity: important
Build of the YMD5.cpp is dependand of the WORDS_BIGENDIAN symbol for
building a big or little endian version.
This symbol is not defined by gcc whereas BIGENDIAN is.
This generate a MD5 version byteswaped, thus making any authentication
fails wether it is from a client or to another server.
The patch below - courtesy made by Harry Roberts - fixes this problem on sparc
but it may fix the problem for all others bigendian platforms.
--- yate-1.0.0-1.dfsg.orig/engine/YMD5.cpp
+++ yate-1.0.0-1.dfsg/engine/YMD5.cpp
@@ -37,7 +37,7 @@
} MD5_CTX;
-#ifndef WORDS_BIGENDIAN
+#if defined(BIGENDIAN) || defined(WORDS_BIGENDIAN)
#define byteReverse(buf, len) /* Nothing */
#else
-- System Information:
Debian Release: testing/unstable
APT prefers unstable
APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: sparc (sparc64)
Shell: /bin/sh linked to /bin/bash
Kernel: Linux 2.6.18-smp
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Versions of packages libyate1.0.0 depends on:
ii libc6 2.3.999.2-12 GNU C Library: Shared libraries
ii libgcc1 1:4.1.1-15 GCC support library
ii libstdc++6 4.1.1-15 The GNU Standard C++ Library v3
libyate1.0.0 recommends no packages.
-- no debconf information
More information about the Pkg-voip-maintainers
mailing list