On Mon, Oct 17, 2005 at 02:09:23AM +0200, Steinar H. Gunderson wrote:
> We're using cfengine2 over IPv6, and since 2.1.15-1.0.1 (which was
> rebuilt against libssl 0.9.7; 2.1.15-1.0 works), we've had odd problems
> with authentication. More specifically, the machine identifies itself
> with the wrong IPv6 address; some nibbles are switched with 1c00:0000.

So, this isn't related to OpenSSL at all; it's just random crappy cfengine2
code. Look at src/proto.c, IdentifyForVerification():

   struct sockaddr_in myaddr;
   (...)
   case AF_INET6: len = sizeof(struct sockaddr_in6);
   (...)
   if (getsockname(sd,(struct sockaddr *)&myaddr,&len) == -1)

Now, sizeof(struct sockaddr_in) = 16, sizeof(struct sockaddr_in6) = 28.
Increasing the size of myaddr makes the problem go away. (myaddr is on the
stack, which explains why regular Valgrind can't find it.)

/* Steinar */
-- 
Homepage: http://www.sesse.net/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to