icmptypes.c revision 255332
1/* 2 * Copyright (C) 2012 by Darren Reed. 3 * 4 * See the IPFILTER.LICENCE file for details on licencing. 5 * 6 * $Id$ 7 */ 8#include "ipf.h" 9 10#ifndef USE_INET6 11# undef ICMP6_ECHO_REQUEST 12# define ICMP6_ECHO_REQUEST 0 13# undef ICMP6_ECHO_REPLY 14# define ICMP6_ECHO_REPLY 0 15# undef ICMP6_NI_QUERY 16# define ICMP6_NI_QUERY 0 17# undef ICMP6_NI_REPLY 18# define ICMP6_NI_REPLY 0 19# undef ICMP6_PARAM_PROB 20# define ICMP6_PARAM_PROB 0 21# undef ND_ROUTER_ADVERT 22# define ND_ROUTER_ADVERT 0 23# undef ND_ROUTER_SOLICIT 24# define ND_ROUTER_SOLICIT 0 25# undef ICMP6_TIME_EXCEEDED 26# define ICMP6_TIME_EXCEEDED 0 27# undef ICMP6_DST_UNREACH 28# define ICMP6_DST_UNREACH 0 29# undef ICMP6_PACKET_TOO_BIG 30# define ICMP6_PACKET_TOO_BIG 0 31# undef MLD_LISTENER_QUERY 32# define MLD_LISTENER_QUERY 0 33# undef MLD_LISTENER_REPORT 34# define MLD_LISTENER_REPORT 0 35# undef MLD_LISTENER_DONE 36# define MLD_LISTENER_DONE 0 37# undef ICMP6_MEMBERSHIP_QUERY 38# define ICMP6_MEMBERSHIP_QUERY 0 39# undef ICMP6_MEMBERSHIP_REPORT 40# define ICMP6_MEMBERSHIP_REPORT 0 41# undef ICMP6_MEMBERSHIP_REDUCTION 42# define ICMP6_MEMBERSHIP_REDUCTION 0 43# undef ND_NEIGHBOR_ADVERT 44# define ND_NEIGHBOR_ADVERT 0 45# undef ND_NEIGHBOR_SOLICIT 46# define ND_NEIGHBOR_SOLICIT 0 47# undef ICMP6_ROUTER_RENUMBERING 48# define ICMP6_ROUTER_RENUMBERING 0 49# undef ICMP6_WRUREQUEST 50# define ICMP6_WRUREQUEST 0 51# undef ICMP6_WRUREPLY 52# define ICMP6_WRUREPLY 0 53# undef ICMP6_FQDN_QUERY 54# define ICMP6_FQDN_QUERY 0 55# undef ICMP6_FQDN_REPLY 56# define ICMP6_FQDN_REPLY 0 57#else 58# if !defined(MLD_LISTENER_QUERY) 59# define MLD_LISTENER_QUERY 130 60# endif 61# if !defined(MLD_LISTENER_REPORT) 62# define MLD_LISTENER_REPORT 131 63# endif 64# if !defined(MLD_LISTENER_DONE) 65# define MLD_LISTENER_DONE 132 66# endif 67# if defined(MLD_LISTENER_REDUCTION) && !defined(MLD_LISTENER_DONE) 68# define MLD_LISTENER_DONE MLD_LISTENER_REDUCTION 69# endif 70#endif 71 72icmptype_t icmptypelist[] = { 73 { "echo", ICMP_ECHO, ICMP6_ECHO_REQUEST }, 74 { "echorep", ICMP_ECHOREPLY, ICMP6_ECHO_REPLY }, 75 { "fqdnquery", -1, ICMP6_FQDN_QUERY }, 76 { "fqdnreply", -1, ICMP6_FQDN_REPLY }, 77 { "infoqry", -1, ICMP6_NI_QUERY }, 78 { "inforeq", ICMP_IREQ, ICMP6_NI_QUERY }, 79 { "inforep", ICMP_IREQREPLY, ICMP6_NI_REPLY }, 80 { "listendone", -1, MLD_LISTENER_DONE }, 81 { "listenqry", -1, MLD_LISTENER_QUERY }, 82 { "listenrep", -1, MLD_LISTENER_REPORT }, 83 { "maskrep", ICMP_MASKREPLY, -1 }, 84 { "maskreq", ICMP_MASKREQ, -1 }, 85 { "memberqry", -1, ICMP6_MEMBERSHIP_QUERY }, 86 { "memberred", -1, ICMP6_MEMBERSHIP_REDUCTION }, 87 { "memberreply",-1, ICMP6_MEMBERSHIP_REPORT }, 88 { "neighadvert", -1, ND_NEIGHBOR_ADVERT }, 89 { "neighborsol", -1, ND_NEIGHBOR_SOLICIT }, 90 { "neighborsolicit", -1, ND_NEIGHBOR_SOLICIT }, 91 { "paramprob", ICMP_PARAMPROB, ICMP6_PARAM_PROB }, 92 { "redir", ICMP_REDIRECT, ND_REDIRECT }, 93 { "renumber", -1, ICMP6_ROUTER_RENUMBERING }, 94 { "routerad", ICMP_ROUTERADVERT, ND_ROUTER_ADVERT }, 95 { "routeradvert",ICMP_ROUTERADVERT, ND_ROUTER_ADVERT }, 96 { "routersol", ICMP_ROUTERSOLICIT, ND_ROUTER_SOLICIT }, 97 { "routersolcit",ICMP_ROUTERSOLICIT, ND_ROUTER_SOLICIT }, 98 { "squench", ICMP_SOURCEQUENCH, -1 }, 99 { "timest", ICMP_TSTAMP, -1 }, 100 { "timestrep", ICMP_TSTAMPREPLY, -1 }, 101 { "timex", ICMP_TIMXCEED, ICMP6_TIME_EXCEEDED }, 102 { "toobig", -1, ICMP6_PACKET_TOO_BIG }, 103 { "unreach", ICMP_UNREACH, ICMP6_DST_UNREACH }, 104 { "whorep", -1, ICMP6_WRUREPLY }, 105 { "whoreq", -1, ICMP6_WRUREQUEST }, 106 { NULL, -1, -1 } 107}; 108