diff -uprN bird-1.0.12/sysdep/unix/io.c bird-1.0.12-fix/sysdep/unix/io.c --- bird-1.0.12/sysdep/unix/io.c 2008-11-12 12:09:59.000000000 +0100 +++ bird-1.0.12-fix/sysdep/unix/io.c 2009-01-23 16:22:13.000000000 +0100 @@ -743,36 +743,7 @@ sk_set_ttl(sock *s, int ttl) static int sk_set_md5_auth_int(sock *s, sockaddr *sa, char *passwd) { - struct tcp_md5sig md5; - - memset(&md5, 0, sizeof(md5)); - memcpy(&md5.tcpm_addr, (struct sockaddr *) sa, sizeof(*sa)); - - if (passwd) - { - int len = strlen(passwd); - - if (len > TCP_MD5SIG_MAXKEYLEN) - { - log(L_ERR "MD5 password too long"); - return -1; - } - - md5.tcpm_keylen = len; - memcpy(&md5.tcpm_key, passwd, len); - } - - int rv = setsockopt(s->fd, IPPROTO_TCP, TCP_MD5SIG, &md5, sizeof(md5)); - - if (rv < 0) - { - if (errno == ENOPROTOOPT) - log(L_ERR "Kernel does not support TCP MD5 signatures"); - else - log(L_ERR "sk_set_md5_auth_int: setsockopt: %m"); - } - - return rv; + return -1; } /**