summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjardin <jardin>2005-10-19 19:29:59 +0000
committerjardin <jardin>2005-10-19 19:29:59 +0000
commit38d3c163cff92465c94732cb7ecb9761053d2038 (patch)
tree9ef8e7525d9d671ae833de6cd44d820812ac0898
parent5012322ddb0219138ee3583c50fd6e99c5a1d857 (diff)
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.
-rw-r--r--ripd/ChangeLog6
-rw-r--r--ripd/ripd.c2
2 files changed, 8 insertions, 0 deletions
diff --git a/ripd/ChangeLog b/ripd/ChangeLog
index 24369e0f..3399868b 100644
--- a/ripd/ChangeLog
+++ b/ripd/ChangeLog
@@ -1,3 +1,9 @@
+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.
+
2005-10-06 Alain Ritoux <alain.ritoux@6wind.com>
* rip_interface.c: Now the command "no ip rip split-horizon
diff --git a/ripd/ripd.c b/ripd/ripd.c
index fd1f2da6..3267e157 100644
--- a/ripd/ripd.c
+++ b/ripd/ripd.c
@@ -1358,6 +1358,8 @@ rip_create_socket (struct sockaddr_in *from)
#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 */