kern/181823: make ipv6 mroute return same errror codes as IPv4

Sven-Thorsten Dietrich sven at vyatta.com
Wed Sep 4 19:50:03 UTC 2013


>Number:         181823
>Category:       kern
>Synopsis:       make ipv6 mroute return same errror codes as IPv4
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Sep 04 19:50:02 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator:     Sven-Thorsten Dietrich
>Release:        HEAD
>Organization:
Vyatta
>Environment:
>Description:
IPv4 mroute code returns EPERM when MRT_INIT hasn't been called.
Make IPV6 behave the same way.
Arguably IPv4 should return EACCESS, but since IPV6 came later,
the logical first step would be to make them consistent.

>How-To-Repeat:

>Fix:
see patch

Patch attached with submission follows:

IPv4 mroute code returns EPERM when MRT_INIT hasn't been called.
Make IPV6 behave the same way.
Arguably IPv4 should return EACCESS, but since IPV6 came later,
the logical first step would be to make them consistent.
Signed-off-by: Sven-Throsten Dietrich <sven at vyatta.com>

Index: netinet6/ip6_mroute.c
===================================================================
--- netinet6/ip6_mroute.c	(revision 255189)
+++ netinet6/ip6_mroute.c	(working copy)
@@ -353,7 +353,7 @@
 	mifi_t mifi;
 
 	if (so != V_ip6_mrouter && sopt->sopt_name != MRT6_INIT)
-		return (EACCES);
+		return (EPERM);
 
 	switch (sopt->sopt_name) {
 	case MRT6_INIT:


>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list