On 26.01.2011 18:43, gregor herrmann writes:

Hi,

[ CC Aleksey, who is the upstream maintainer of dictd ]
> 
> Setting a user in .dictrc leads to an authentication failure when I
> try to access a dictd on an i386 machine (dictd from testing) with a
> dict client on an amd64 machine (version from stable).
> 
> On the client I get
> dict: Authentication to $server.2628 denied
> and on the server
> "$USER@$HOST/$IP denied: hash mismatch"
> 
> The authentication against this server works fine with i386 clients
> (stable, testing, unstable).
> 
> And the really interesting thing is: I've now installed the _i386_
> dict binary (1.10.11.dfsg-2) on the amd64 machine -- and it works.
> 


Thanks for the bug report, unfortunately I had some troubles while
trying to compile & run dictd on our Debian amd64 machine.

However I've  just looked into source codes and found the possible cause
of the bug: the five following lines from the top of the md5.h file:

#ifdef __alpha
typedef unsigned int uint32;
#else
typedef unsigned long uint32;
#endif

This is obviously wrong for amd64, as unsigned long is 8-bytes on 64-bit
platforms.

I think these lines should be better replaced with something like this:

#include <stdint.h>
typedef uint32_t uint32

Gregor,
would you be so kind to recompile dictd with the above change in md5.h
and check if it solves your the problem?

Regards,
robert



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to