Hello,

I face a problem when configuring RIP with MD5 authentication in bird.
I find no examples in configuring bird this way, so maybe this could be added to the documentation.

This is the bird configuration I use:

protocol kernel {
  scan time 20;           # Scan kernel routing table every 20 seconds
  export all;             # Default is export none
  learn;
  device routes;
}

protocol device {
  scan time 10;           # Scan interfaces every 10 seconds
}

protocol direct {
  interface "eth0";
}

filter rip_export {
  # redistribute connected
  if ( source = RTS_DEVICE ) then {
     print "net accepted:", net;
     accept;
  }

  reject;
}

protocol rip RIP {
  debug all;
  honor neighbor;
  authentication md5;
  passwords {
    password "secret";
  };

  port 520;

  interface "eth0" {
    mode multicast;
  };

  import all;
  export filter rip_export;
}

I tried to configure bird with the configuration above to connect to quagga (v0.99.23.1) and also to another instance of bird (v1.4.4 and v1.5.0). In both cases I get an error message in the logs that the authentication has failed:
Nov 11 15:39:12 AVILA err   bird: MD5 tail signature is not there
Nov 11 15:39:12 AVILA err   bird: RIP: Authentication failed

In case I use plain configuration (authentication plaintext) instead of MD5 then the boxes connect successfully and routes are exchanged.
Do I use a wrong RIP configuration or is this a bug in bird ?

Best regards,
Alexander Velkov