2005-10-17 Vincent Jardin <vincent.jardin@6wind.com>
* ripd.c: rip_create_socket() for each packet, it does not bind to the
proper interfaces because we forget to use the from address when
it is specified.
diff --git a/ripd/ripd.c b/ripd/ripd.c
index fd1f2da..3267e15 100644
--- a/ripd/ripd.c
+++ b/ripd/ripd.c
@@ -1358,6 +1358,8 @@
#ifdef HAVE_SINLEN
addr.sin_len = sizeof (struct sockaddr_in);
#endif /* HAVE_SINLEN */
+ } else {
+ memcpy(&addr, from, sizeof(addr));
}
/* sending port must always be the RIP port */