ip_sockglue.c (d8c97a9451068dd9f7b838a240bb6db894133a5e) | ip_sockglue.c (20380731bc2897f2952ae055420972ded4cd786e) |
---|---|
1/* 2 * INET An implementation of the TCP/IP protocol suite for the LINUX 3 * operating system. INET is implemented using the BSD Socket 4 * interface as the means of communication with the user level. 5 * 6 * The IP to API glue. 7 * 8 * Version: $Id: ip_sockglue.c,v 1.62 2002/02/01 22:01:04 davem Exp $ --- 600 unchanged lines hidden (view full) --- 609 if (optname == IP_ADD_MEMBERSHIP) 610 err = ip_mc_join_group(sk, &mreq); 611 else 612 err = ip_mc_leave_group(sk, &mreq); 613 break; 614 } 615 case IP_MSFILTER: 616 { | 1/* 2 * INET An implementation of the TCP/IP protocol suite for the LINUX 3 * operating system. INET is implemented using the BSD Socket 4 * interface as the means of communication with the user level. 5 * 6 * The IP to API glue. 7 * 8 * Version: $Id: ip_sockglue.c,v 1.62 2002/02/01 22:01:04 davem Exp $ --- 600 unchanged lines hidden (view full) --- 609 if (optname == IP_ADD_MEMBERSHIP) 610 err = ip_mc_join_group(sk, &mreq); 611 else 612 err = ip_mc_leave_group(sk, &mreq); 613 break; 614 } 615 case IP_MSFILTER: 616 { |
617 extern int sysctl_optmem_max; | |
618 extern int sysctl_igmp_max_msf; 619 struct ip_msfilter *msf; 620 621 if (optlen < IP_MSFILTER_SIZE(0)) 622 goto e_inval; 623 if (optlen > sysctl_optmem_max) { 624 err = -ENOBUFS; 625 break; --- 138 unchanged lines hidden (view full) --- 764 add = 0; 765 } 766 err = ip_mc_source(add, omode, sk, &mreqs, 767 greqs.gsr_interface); 768 break; 769 } 770 case MCAST_MSFILTER: 771 { | 617 extern int sysctl_igmp_max_msf; 618 struct ip_msfilter *msf; 619 620 if (optlen < IP_MSFILTER_SIZE(0)) 621 goto e_inval; 622 if (optlen > sysctl_optmem_max) { 623 err = -ENOBUFS; 624 break; --- 138 unchanged lines hidden (view full) --- 763 add = 0; 764 } 765 err = ip_mc_source(add, omode, sk, &mreqs, 766 greqs.gsr_interface); 767 break; 768 } 769 case MCAST_MSFILTER: 770 { |
772 extern int sysctl_optmem_max; | |
773 extern int sysctl_igmp_max_msf; 774 struct sockaddr_in *psin; 775 struct ip_msfilter *msf = NULL; 776 struct group_filter *gsf = NULL; 777 int msize, i, ifindex; 778 779 if (optlen < GROUP_FILTER_SIZE(0)) 780 goto e_inval; --- 314 unchanged lines hidden --- | 771 extern int sysctl_igmp_max_msf; 772 struct sockaddr_in *psin; 773 struct ip_msfilter *msf = NULL; 774 struct group_filter *gsf = NULL; 775 int msize, i, ifindex; 776 777 if (optlen < GROUP_FILTER_SIZE(0)) 778 goto e_inval; --- 314 unchanged lines hidden --- |