mirror of
https://repo.or.cz/socat.git
synced 2024-12-22 23:42:34 +00:00
MacOSX port: made defines IPV6_* conditional
This commit is contained in:
parent
43bb8e9ed6
commit
9922641b60
2 changed files with 40 additions and 0 deletions
16
xio-ip6.c
16
xio-ip6.c
|
@ -26,27 +26,41 @@ const struct optdesc opt_ipv6_v6only = { "ipv6-v6only", "ipv6only", OPT_IPV6_V6O
|
||||||
const struct optdesc opt_ipv6_join_group = { "ipv6-join-group", "join-group", OPT_IPV6_JOIN_GROUP, GROUP_SOCK_IP6, PH_PASTBIND, TYPE_IP_MREQN, OFUNC_SOCKOPT, SOL_IPV6, IPV6_JOIN_GROUP };
|
const struct optdesc opt_ipv6_join_group = { "ipv6-join-group", "join-group", OPT_IPV6_JOIN_GROUP, GROUP_SOCK_IP6, PH_PASTBIND, TYPE_IP_MREQN, OFUNC_SOCKOPT, SOL_IPV6, IPV6_JOIN_GROUP };
|
||||||
#endif
|
#endif
|
||||||
const struct optdesc opt_ipv6_pktinfo = { "ipv6-pktinfo", "pktinfo", OPT_IPV6_PKTINFO, GROUP_SOCK_IP6, PH_PASTSOCKET, TYPE_BOOL, OFUNC_SOCKOPT, SOL_IPV6, IPV6_PKTINFO };
|
const struct optdesc opt_ipv6_pktinfo = { "ipv6-pktinfo", "pktinfo", OPT_IPV6_PKTINFO, GROUP_SOCK_IP6, PH_PASTSOCKET, TYPE_BOOL, OFUNC_SOCKOPT, SOL_IPV6, IPV6_PKTINFO };
|
||||||
|
#ifdef IPV6_RECVPKTINFO
|
||||||
const struct optdesc opt_ipv6_recvpktinfo = { "ipv6-recvpktinfo", "recvpktinfo", OPT_IPV6_RECVPKTINFO, GROUP_SOCK_IP6, PH_PASTSOCKET, TYPE_BOOL, OFUNC_SOCKOPT, SOL_IPV6, IPV6_RECVPKTINFO };
|
const struct optdesc opt_ipv6_recvpktinfo = { "ipv6-recvpktinfo", "recvpktinfo", OPT_IPV6_RECVPKTINFO, GROUP_SOCK_IP6, PH_PASTSOCKET, TYPE_BOOL, OFUNC_SOCKOPT, SOL_IPV6, IPV6_RECVPKTINFO };
|
||||||
|
#endif
|
||||||
const struct optdesc opt_ipv6_rthdr = { "ipv6-rthdr", "rthdr", OPT_IPV6_RTHDR, GROUP_SOCK_IP6, PH_PASTSOCKET, TYPE_BOOL, OFUNC_SOCKOPT, SOL_IPV6, IPV6_RTHDR };
|
const struct optdesc opt_ipv6_rthdr = { "ipv6-rthdr", "rthdr", OPT_IPV6_RTHDR, GROUP_SOCK_IP6, PH_PASTSOCKET, TYPE_BOOL, OFUNC_SOCKOPT, SOL_IPV6, IPV6_RTHDR };
|
||||||
|
#ifdef IPV6_RECVRTHDR
|
||||||
const struct optdesc opt_ipv6_recvrthdr = { "ipv6-recvrthdr", "recvrthdr", OPT_IPV6_RECVRTHDR, GROUP_SOCK_IP6, PH_PASTSOCKET, TYPE_BOOL, OFUNC_SOCKOPT, SOL_IPV6, IPV6_RECVRTHDR };
|
const struct optdesc opt_ipv6_recvrthdr = { "ipv6-recvrthdr", "recvrthdr", OPT_IPV6_RECVRTHDR, GROUP_SOCK_IP6, PH_PASTSOCKET, TYPE_BOOL, OFUNC_SOCKOPT, SOL_IPV6, IPV6_RECVRTHDR };
|
||||||
|
#endif
|
||||||
#ifdef IPV6_AUTHHDR
|
#ifdef IPV6_AUTHHDR
|
||||||
const struct optdesc opt_ipv6_authhdr = { "ipv6-authhdr", "authhdr", OPT_IPV6_AUTHHDR, GROUP_SOCK_IP6, PH_PASTSOCKET, TYPE_BOOL, OFUNC_SOCKOPT, SOL_IPV6, IPV6_AUTHHDR };
|
const struct optdesc opt_ipv6_authhdr = { "ipv6-authhdr", "authhdr", OPT_IPV6_AUTHHDR, GROUP_SOCK_IP6, PH_PASTSOCKET, TYPE_BOOL, OFUNC_SOCKOPT, SOL_IPV6, IPV6_AUTHHDR };
|
||||||
#endif
|
#endif
|
||||||
const struct optdesc opt_ipv6_dstopts = { "ipv6-dstopts", "dstopts", OPT_IPV6_DSTOPTS, GROUP_SOCK_IP6, PH_PASTSOCKET, TYPE_BOOL, OFUNC_SOCKOPT, SOL_IPV6, IPV6_DSTOPTS };
|
const struct optdesc opt_ipv6_dstopts = { "ipv6-dstopts", "dstopts", OPT_IPV6_DSTOPTS, GROUP_SOCK_IP6, PH_PASTSOCKET, TYPE_BOOL, OFUNC_SOCKOPT, SOL_IPV6, IPV6_DSTOPTS };
|
||||||
|
#ifdef IPV6_RECVDSTOPTS
|
||||||
const struct optdesc opt_ipv6_recvdstopts = { "ipv6-recvdstopts", "recvdstopts", OPT_IPV6_RECVDSTOPTS, GROUP_SOCK_IP6, PH_PASTSOCKET, TYPE_BOOL, OFUNC_SOCKOPT, SOL_IPV6, IPV6_RECVDSTOPTS };
|
const struct optdesc opt_ipv6_recvdstopts = { "ipv6-recvdstopts", "recvdstopts", OPT_IPV6_RECVDSTOPTS, GROUP_SOCK_IP6, PH_PASTSOCKET, TYPE_BOOL, OFUNC_SOCKOPT, SOL_IPV6, IPV6_RECVDSTOPTS };
|
||||||
|
#endif
|
||||||
const struct optdesc opt_ipv6_hopopts = { "ipv6-hopopts", "hopopts", OPT_IPV6_HOPOPTS, GROUP_SOCK_IP6, PH_PASTSOCKET, TYPE_BOOL, OFUNC_SOCKOPT, SOL_IPV6, IPV6_HOPOPTS };
|
const struct optdesc opt_ipv6_hopopts = { "ipv6-hopopts", "hopopts", OPT_IPV6_HOPOPTS, GROUP_SOCK_IP6, PH_PASTSOCKET, TYPE_BOOL, OFUNC_SOCKOPT, SOL_IPV6, IPV6_HOPOPTS };
|
||||||
|
#ifdef IPV6_RECVHOPOPTS
|
||||||
const struct optdesc opt_ipv6_recvhopopts = { "ipv6-recvhopopts", "recvhopopts", OPT_IPV6_RECVHOPOPTS, GROUP_SOCK_IP6, PH_PASTSOCKET, TYPE_BOOL, OFUNC_SOCKOPT, SOL_IPV6, IPV6_RECVHOPOPTS };
|
const struct optdesc opt_ipv6_recvhopopts = { "ipv6-recvhopopts", "recvhopopts", OPT_IPV6_RECVHOPOPTS, GROUP_SOCK_IP6, PH_PASTSOCKET, TYPE_BOOL, OFUNC_SOCKOPT, SOL_IPV6, IPV6_RECVHOPOPTS };
|
||||||
|
#endif
|
||||||
#ifdef IPV6_FLOWINFO /* is in linux/in6.h */
|
#ifdef IPV6_FLOWINFO /* is in linux/in6.h */
|
||||||
const struct optdesc opt_ipv6_flowinfo= { "ipv6-flowinfo","flowinfo",OPT_IPV6_FLOWINFO,GROUP_SOCK_IP6, PH_PASTSOCKET, TYPE_BOOL, OFUNC_SOCKOPT, SOL_IPV6, IPV6_FLOWINFO };
|
const struct optdesc opt_ipv6_flowinfo= { "ipv6-flowinfo","flowinfo",OPT_IPV6_FLOWINFO,GROUP_SOCK_IP6, PH_PASTSOCKET, TYPE_BOOL, OFUNC_SOCKOPT, SOL_IPV6, IPV6_FLOWINFO };
|
||||||
#endif
|
#endif
|
||||||
const struct optdesc opt_ipv6_hoplimit= { "ipv6-hoplimit","hoplimit",OPT_IPV6_HOPLIMIT,GROUP_SOCK_IP6, PH_PASTSOCKET, TYPE_BOOL, OFUNC_SOCKOPT, SOL_IPV6, IPV6_HOPLIMIT };
|
const struct optdesc opt_ipv6_hoplimit= { "ipv6-hoplimit","hoplimit",OPT_IPV6_HOPLIMIT,GROUP_SOCK_IP6, PH_PASTSOCKET, TYPE_BOOL, OFUNC_SOCKOPT, SOL_IPV6, IPV6_HOPLIMIT };
|
||||||
const struct optdesc opt_ipv6_unicast_hops= { "ipv6-unicast-hops","unicast-hops",OPT_IPV6_UNICAST_HOPS,GROUP_SOCK_IP6, PH_PASTSOCKET, TYPE_INT, OFUNC_SOCKOPT, SOL_IPV6, IPV6_UNICAST_HOPS };
|
const struct optdesc opt_ipv6_unicast_hops= { "ipv6-unicast-hops","unicast-hops",OPT_IPV6_UNICAST_HOPS,GROUP_SOCK_IP6, PH_PASTSOCKET, TYPE_INT, OFUNC_SOCKOPT, SOL_IPV6, IPV6_UNICAST_HOPS };
|
||||||
|
#ifdef IPV6_RECVHOPLIMIT
|
||||||
const struct optdesc opt_ipv6_recvhoplimit= { "ipv6-recvhoplimit","recvhoplimit",OPT_IPV6_RECVHOPLIMIT,GROUP_SOCK_IP6, PH_PASTSOCKET, TYPE_BOOL, OFUNC_SOCKOPT, SOL_IPV6, IPV6_RECVHOPLIMIT };
|
const struct optdesc opt_ipv6_recvhoplimit= { "ipv6-recvhoplimit","recvhoplimit",OPT_IPV6_RECVHOPLIMIT,GROUP_SOCK_IP6, PH_PASTSOCKET, TYPE_BOOL, OFUNC_SOCKOPT, SOL_IPV6, IPV6_RECVHOPLIMIT };
|
||||||
|
#endif
|
||||||
#ifdef IPV6_RECVERR
|
#ifdef IPV6_RECVERR
|
||||||
const struct optdesc opt_ipv6_recverr = { "ipv6-recverr", "recverr", OPT_IPV6_RECVERR, GROUP_SOCK_IP6, PH_PASTSOCKET, TYPE_BOOL, OFUNC_SOCKOPT, SOL_IPV6, IPV6_RECVERR };
|
const struct optdesc opt_ipv6_recverr = { "ipv6-recverr", "recverr", OPT_IPV6_RECVERR, GROUP_SOCK_IP6, PH_PASTSOCKET, TYPE_BOOL, OFUNC_SOCKOPT, SOL_IPV6, IPV6_RECVERR };
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef IPV6_TCLASS
|
||||||
const struct optdesc opt_ipv6_tclass = { "ipv6-tclass", "tclass", OPT_IPV6_TCLASS, GROUP_SOCK_IP6, PH_PASTSOCKET, TYPE_INT, OFUNC_SOCKOPT, SOL_IPV6, IPV6_TCLASS };
|
const struct optdesc opt_ipv6_tclass = { "ipv6-tclass", "tclass", OPT_IPV6_TCLASS, GROUP_SOCK_IP6, PH_PASTSOCKET, TYPE_INT, OFUNC_SOCKOPT, SOL_IPV6, IPV6_TCLASS };
|
||||||
|
#endif
|
||||||
|
#ifdef IPV6_RECVTCLASS
|
||||||
const struct optdesc opt_ipv6_recvtclass = { "ipv6-recvtclass", "recvtclass", OPT_IPV6_RECVTCLASS, GROUP_SOCK_IP6, PH_PASTSOCKET, TYPE_BOOL, OFUNC_SOCKOPT, SOL_IPV6, IPV6_RECVTCLASS };
|
const struct optdesc opt_ipv6_recvtclass = { "ipv6-recvtclass", "recvtclass", OPT_IPV6_RECVTCLASS, GROUP_SOCK_IP6, PH_PASTSOCKET, TYPE_BOOL, OFUNC_SOCKOPT, SOL_IPV6, IPV6_RECVTCLASS };
|
||||||
|
#endif
|
||||||
#ifdef IPV6_RECVPATHMTU
|
#ifdef IPV6_RECVPATHMTU
|
||||||
const struct optdesc opt_ipv6_recvpathmtu = { "ipv6-recvpathmtu", "recvpathmtu", OPT_IPV6_RECVPATHMTU, GROUP_SOCK_IP6, PH_PASTSOCKET, TYPE_BOOL, OFUNC_SOCKOPT, SOL_IPV6, IPV6_RECVPATHMTU };
|
const struct optdesc opt_ipv6_recvpathmtu = { "ipv6-recvpathmtu", "recvpathmtu", OPT_IPV6_RECVPATHMTU, GROUP_SOCK_IP6, PH_PASTSOCKET, TYPE_BOOL, OFUNC_SOCKOPT, SOL_IPV6, IPV6_RECVPATHMTU };
|
||||||
#endif
|
#endif
|
||||||
|
@ -234,11 +248,13 @@ int xiolog_ancillary_ip6(struct cmsghdr *cmsg, int *num,
|
||||||
xiodump(CMSG_DATA(cmsg), msglen, valbuff, vallen, 0);
|
xiodump(CMSG_DATA(cmsg), msglen, valbuff, vallen, 0);
|
||||||
return STAT_OK;
|
return STAT_OK;
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef IPV6_TCLASS
|
||||||
case IPV6_TCLASS:
|
case IPV6_TCLASS:
|
||||||
strncpy(typbuff, "IPV6_TCLASS", typlen);
|
strncpy(typbuff, "IPV6_TCLASS", typlen);
|
||||||
strncpy(nambuff, "tclass", namlen);
|
strncpy(nambuff, "tclass", namlen);
|
||||||
xiodump(CMSG_DATA(cmsg), msglen, valbuff, vallen, 0);
|
xiodump(CMSG_DATA(cmsg), msglen, valbuff, vallen, 0);
|
||||||
return STAT_OK;
|
return STAT_OK;
|
||||||
|
#endif
|
||||||
default:
|
default:
|
||||||
snprintf(typbuff, typlen, "IPV6.%u", cmsg->cmsg_type);
|
snprintf(typbuff, typlen, "IPV6.%u", cmsg->cmsg_type);
|
||||||
strncpy(nambuff, "data", namlen);
|
strncpy(nambuff, "data", namlen);
|
||||||
|
|
24
xioopts.c
24
xioopts.c
|
@ -719,20 +719,34 @@ const struct optname optionnames[] = {
|
||||||
IF_IP6 ("ipv6-hopopts", &opt_ipv6_hopopts)
|
IF_IP6 ("ipv6-hopopts", &opt_ipv6_hopopts)
|
||||||
IF_IP6 ("ipv6-join-group", &opt_ipv6_join_group)
|
IF_IP6 ("ipv6-join-group", &opt_ipv6_join_group)
|
||||||
IF_IP6 ("ipv6-pktinfo", &opt_ipv6_pktinfo)
|
IF_IP6 ("ipv6-pktinfo", &opt_ipv6_pktinfo)
|
||||||
|
#ifdef IPV6_RECVDSTOPTS
|
||||||
IF_IP6 ("ipv6-recvdstopts", &opt_ipv6_recvdstopts)
|
IF_IP6 ("ipv6-recvdstopts", &opt_ipv6_recvdstopts)
|
||||||
|
#endif
|
||||||
#ifdef IPV6_RECVERR
|
#ifdef IPV6_RECVERR
|
||||||
IF_IP6 ("ipv6-recverr", &opt_ipv6_recverr)
|
IF_IP6 ("ipv6-recverr", &opt_ipv6_recverr)
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef IPV6_RECVHOPLIMIT
|
||||||
IF_IP6 ("ipv6-recvhoplimit", &opt_ipv6_recvhoplimit)
|
IF_IP6 ("ipv6-recvhoplimit", &opt_ipv6_recvhoplimit)
|
||||||
|
#endif
|
||||||
|
#ifdef IPV6_RECVHOPOPTS
|
||||||
IF_IP6 ("ipv6-recvhopopts", &opt_ipv6_recvhopopts)
|
IF_IP6 ("ipv6-recvhopopts", &opt_ipv6_recvhopopts)
|
||||||
|
#endif
|
||||||
#ifdef IPV6_PATHMTU
|
#ifdef IPV6_PATHMTU
|
||||||
IF_IP6 ("ipv6-recvpathmtu", &opt_ipv6_recvpathmtu)
|
IF_IP6 ("ipv6-recvpathmtu", &opt_ipv6_recvpathmtu)
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef IPV6_RECVPKTINFO
|
||||||
IF_IP6 ("ipv6-recvpktinfo", &opt_ipv6_recvpktinfo)
|
IF_IP6 ("ipv6-recvpktinfo", &opt_ipv6_recvpktinfo)
|
||||||
|
#endif
|
||||||
|
#ifdef IPV6_RECVRTHDR
|
||||||
IF_IP6 ("ipv6-recvrthdr", &opt_ipv6_recvrthdr)
|
IF_IP6 ("ipv6-recvrthdr", &opt_ipv6_recvrthdr)
|
||||||
|
#endif
|
||||||
|
#ifdef IPV6_RECVTCLASS
|
||||||
IF_IP6 ("ipv6-recvtclass", &opt_ipv6_recvtclass)
|
IF_IP6 ("ipv6-recvtclass", &opt_ipv6_recvtclass)
|
||||||
|
#endif
|
||||||
IF_IP6 ("ipv6-rthdr", &opt_ipv6_rthdr)
|
IF_IP6 ("ipv6-rthdr", &opt_ipv6_rthdr)
|
||||||
|
#ifdef IPV6_TCLASS
|
||||||
IF_IP6 ("ipv6-tclass", &opt_ipv6_tclass)
|
IF_IP6 ("ipv6-tclass", &opt_ipv6_tclass)
|
||||||
|
#endif
|
||||||
IF_IP6 ("ipv6-unicast-hops", &opt_ipv6_unicast_hops)
|
IF_IP6 ("ipv6-unicast-hops", &opt_ipv6_unicast_hops)
|
||||||
#ifdef IPV6_V6ONLY
|
#ifdef IPV6_V6ONLY
|
||||||
IF_IP6 ("ipv6-v6only", &opt_ipv6_v6only)
|
IF_IP6 ("ipv6-v6only", &opt_ipv6_v6only)
|
||||||
|
@ -1145,20 +1159,30 @@ const struct optname optionnames[] = {
|
||||||
#ifdef IP_RECVDSTADDR
|
#ifdef IP_RECVDSTADDR
|
||||||
IF_IP ("recvdstaddr", &opt_ip_recvdstaddr)
|
IF_IP ("recvdstaddr", &opt_ip_recvdstaddr)
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef IPV6_RECVDSTOPTS
|
||||||
IF_IP6 ("recvdstopts", &opt_ipv6_recvdstopts)
|
IF_IP6 ("recvdstopts", &opt_ipv6_recvdstopts)
|
||||||
|
#endif
|
||||||
#ifdef IP_RECVERR
|
#ifdef IP_RECVERR
|
||||||
IF_IP ("recverr", &opt_ip_recverr)
|
IF_IP ("recverr", &opt_ip_recverr)
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef IPV6_RECVHOPLIMIT
|
||||||
IF_IP6 ("recvhoplimit", &opt_ipv6_recvhoplimit)
|
IF_IP6 ("recvhoplimit", &opt_ipv6_recvhoplimit)
|
||||||
|
#endif
|
||||||
|
#ifdef IPV6_RECVHOPOPTS
|
||||||
IF_IP6 ("recvhopopts", &opt_ipv6_recvhopopts)
|
IF_IP6 ("recvhopopts", &opt_ipv6_recvhopopts)
|
||||||
|
#endif
|
||||||
#ifdef IP_RECVIF
|
#ifdef IP_RECVIF
|
||||||
IF_IP ("recvif", &opt_ip_recvif)
|
IF_IP ("recvif", &opt_ip_recvif)
|
||||||
#endif
|
#endif
|
||||||
#ifdef IP_RECVOPTS
|
#ifdef IP_RECVOPTS
|
||||||
IF_IP ("recvopts", &opt_ip_recvopts)
|
IF_IP ("recvopts", &opt_ip_recvopts)
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef IPV6_RECVPKTINFO
|
||||||
IF_IP6 ("recvpktinfo", &opt_ipv6_recvpktinfo)
|
IF_IP6 ("recvpktinfo", &opt_ipv6_recvpktinfo)
|
||||||
|
#endif
|
||||||
|
#ifdef IPV6_RECVRTHDR
|
||||||
IF_IP6 ("recvrthdr", &opt_ipv6_recvrthdr)
|
IF_IP6 ("recvrthdr", &opt_ipv6_recvrthdr)
|
||||||
|
#endif
|
||||||
#ifdef IP_RECVTOS
|
#ifdef IP_RECVTOS
|
||||||
IF_IP ("recvtos", &opt_ip_recvtos)
|
IF_IP ("recvtos", &opt_ip_recvtos)
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in a new issue