Bug 9383
Summary: | [PATCH] Appletalk packets are delivered to the last interface FD_SET | ||
---|---|---|---|
Product: | Networking | Reporter: | James Andrewartha (trs80) |
Component: | Other | Assignee: | Arnaldo Carvalho de Melo (acme) |
Status: | RESOLVED OBSOLETE | ||
Severity: | normal | CC: | alan, did447 |
Priority: | P1 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | 2.6.21.3 | Subsystem: | |
Regression: | No | Bisected commit-id: |
Description
James Andrewartha
2007-11-15 01:51:13 UTC
*** Bug 9384 has been marked as a duplicate of this bug. *** Hi,
it's the 64233bffbb50f12e576c61d1698a573c8033004a commit,
>now Because a broadcast packet should be
>send to the first matching socket (as it is done in many other protocols
>(?)), we removed the network comparison in broadcast case.
It's true but atalkd is expecting broadcast packets on the socket attached to the interface of the sender and complains loudly about missconfigured router.
There's no ingress filtering for ddp and now it's impossible for userland to detect a router plugged in a wrong connector.
The following patch restore this functionality.
Didier Gautheron
diff --git a/net/appletalk/ddp.c b/net/appletalk/ddp.c
index 9fc4da5..98f7ac6 100644
--- a/net/appletalk/ddp.c
+++ b/net/appletalk/ddp.c
@@ -103,6 +103,7 @@ static struct sock *atalk_search_socket(struct sockaddr_at *to,
continue;
if (to->sat_addr.s_net == ATADDR_ANYNET &&
+ at->src_net == atif->address.s_net &&
to->sat_addr.s_node == ATADDR_BCAST)
goto found;
|