mirror of
https://repo.or.cz/socat.git
synced 2024-12-22 23:42:34 +00:00
port to Cygwin - struct pktinfo.ipi_spec_dst
This commit is contained in:
parent
26801266f2
commit
7a3ed71270
4 changed files with 34 additions and 5 deletions
4
CHANGES
4
CHANGES
|
@ -57,6 +57,10 @@ porting:
|
||||||
Cedril Priscal ported socat to Android (using Googles cross compiler).
|
Cedril Priscal ported socat to Android (using Googles cross compiler).
|
||||||
The port includes the socat_buildscript_for_android.sh script
|
The port includes the socat_buildscript_for_android.sh script
|
||||||
|
|
||||||
|
added check for component ipi_spec_dst in struct in_pktinfo so
|
||||||
|
compilation does not fail on Cygwin (thanks to Peter Wagemans for
|
||||||
|
reporting this problem)
|
||||||
|
|
||||||
####################### V 1.7.1.3:
|
####################### V 1.7.1.3:
|
||||||
|
|
||||||
security:
|
security:
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/* source: config.h.in */
|
/* source: config.h.in */
|
||||||
/* Copyright Gerhard Rieger 2001-2009 */
|
/* Copyright Gerhard Rieger 2001-2011 */
|
||||||
/* Published under the GNU General Public License V.2, see file COPYING */
|
/* Published under the GNU General Public License V.2, see file COPYING */
|
||||||
|
|
||||||
#ifndef __config_h_included
|
#ifndef __config_h_included
|
||||||
|
@ -364,6 +364,9 @@
|
||||||
/* define if you have struct in_pktinfo */
|
/* define if you have struct in_pktinfo */
|
||||||
#undef HAVE_STRUCT_IN_PKTINFO
|
#undef HAVE_STRUCT_IN_PKTINFO
|
||||||
|
|
||||||
|
/* define if your struct in_pktinfo has component ipi_spec_dst */
|
||||||
|
#undef HAVE_PKTINFO_IPI_SPEC_DST
|
||||||
|
|
||||||
/* define if your struct ip has ip_hl; otherwise assume ip_vhl */
|
/* define if your struct ip has ip_hl; otherwise assume ip_vhl */
|
||||||
#undef HAVE_STRUCT_IP_IP_HL
|
#undef HAVE_STRUCT_IP_IP_HL
|
||||||
|
|
||||||
|
|
17
configure.in
17
configure.in
|
@ -1,5 +1,5 @@
|
||||||
nl source: configure.in
|
nl source: configure.in
|
||||||
dnl Copyright Gerhard Rieger 2001-2009
|
dnl Copyright Gerhard Rieger 2001-2011
|
||||||
dnl Published under the GNU General Public License V.2, see file COPYING
|
dnl Published under the GNU General Public License V.2, see file COPYING
|
||||||
|
|
||||||
dnl Process this file with autoconf to produce a configure script.
|
dnl Process this file with autoconf to produce a configure script.
|
||||||
|
@ -1161,6 +1161,21 @@ if test $sc_cv_struct_in_pktinfo = yes; then
|
||||||
fi
|
fi
|
||||||
AC_MSG_RESULT($sc_cv_struct_in_pktinfo)
|
AC_MSG_RESULT($sc_cv_struct_in_pktinfo)
|
||||||
|
|
||||||
|
if test $sc_cv_struct_in_pktinfo = 'yes'; then
|
||||||
|
dnl check for component ipi_spec_dst in struct in_pktinfo
|
||||||
|
AC_MSG_CHECKING(for ipi_spec_dst in struct in_pktinfo)
|
||||||
|
AC_CACHE_VAL(sc_cv_pktinfo_ipi_spec_dst,
|
||||||
|
[AC_TRY_COMPILE([#include <sys/types.h>
|
||||||
|
#include <sys/socket.h>
|
||||||
|
#include <netinet/in.h>],[struct in_pktinfo s; s.ipi_spec_dst],
|
||||||
|
[sc_cv_pktinfo_ipi_spec_dst=yes],
|
||||||
|
[sc_cv_pktinfo_ipi_spec_dst=no])])
|
||||||
|
if test $sc_cv_pktinfo_ipi_spec_dst = yes; then
|
||||||
|
AC_DEFINE(HAVE_PKTINFO_IPI_SPEC_DST)
|
||||||
|
fi
|
||||||
|
AC_MSG_RESULT($sc_cv_pktinfo_ipi_spec_dst)
|
||||||
|
fi
|
||||||
|
|
||||||
dnl check for ip_hl in struct ip
|
dnl check for ip_hl in struct ip
|
||||||
AC_MSG_CHECKING(for struct ip.ip_hl)
|
AC_MSG_CHECKING(for struct ip.ip_hl)
|
||||||
AC_CACHE_VAL(sc_cv_struct_ip_ip_hl,
|
AC_CACHE_VAL(sc_cv_struct_ip_ip_hl,
|
||||||
|
|
13
xio-ip.c
13
xio-ip.c
|
@ -1,5 +1,5 @@
|
||||||
/* source: xio-ip.c */
|
/* source: xio-ip.c */
|
||||||
/* Copyright Gerhard Rieger 2001-2009 */
|
/* Copyright Gerhard Rieger 2001-2011 */
|
||||||
/* Published under the GNU General Public License V.2, see file COPYING */
|
/* Published under the GNU General Public License V.2, see file COPYING */
|
||||||
|
|
||||||
/* this file contains the source for IP related functions */
|
/* this file contains the source for IP related functions */
|
||||||
|
@ -477,8 +477,15 @@ int xiolog_ancillary_ip(struct cmsghdr *cmsg, int *num,
|
||||||
"IP_LOCADDR", '\0', "IP_DSTADDR");
|
"IP_LOCADDR", '\0', "IP_DSTADDR");
|
||||||
snprintf(valbuff, vallen, "%s%c%s%c%s",
|
snprintf(valbuff, vallen, "%s%c%s%c%s",
|
||||||
xiogetifname(pktinfo->ipi_ifindex, scratch1, -1), '\0',
|
xiogetifname(pktinfo->ipi_ifindex, scratch1, -1), '\0',
|
||||||
inet4addr_info(ntohl(pktinfo->ipi_spec_dst.s_addr), scratch2, sizeof(scratch2)), '\0',
|
#if HAVE_PKTINFO_IPI_SPEC_DST
|
||||||
inet4addr_info(ntohl(pktinfo->ipi_addr.s_addr), scratch3, sizeof(scratch3)));
|
inet4addr_info(ntohl(pktinfo->ipi_spec_dst.s_addr),
|
||||||
|
scratch2, sizeof(scratch2)),
|
||||||
|
#else
|
||||||
|
"",
|
||||||
|
#endif
|
||||||
|
'\0',
|
||||||
|
inet4addr_info(ntohl(pktinfo->ipi_addr.s_addr),
|
||||||
|
scratch3, sizeof(scratch3)));
|
||||||
}
|
}
|
||||||
return STAT_OK;
|
return STAT_OK;
|
||||||
#endif /* defined(IP_PKTINFO) && HAVE_STRUCT_IN_PKTINFO */
|
#endif /* defined(IP_PKTINFO) && HAVE_STRUCT_IN_PKTINFO */
|
||||||
|
|
Loading…
Reference in a new issue