Check for ethernet/ipv4/ipv6 related structures.

This commit is contained in:
Guus Sliepen 2003-07-18 13:42:35 +00:00
parent 00ddbf5723
commit 96ee04b678
6 changed files with 341 additions and 306 deletions

View file

@ -1,6 +1,6 @@
dnl Process this file with autoconf to produce a configure script.
dnl $Id: configure.in,v 1.13.2.67 2003/07/17 15:06:25 guus Exp $
dnl $Id: configure.in,v 1.13.2.68 2003/07/18 13:42:35 guus Exp $
AC_PREREQ(2.53)
AC_INIT(src/tincd.c)
@ -89,16 +89,21 @@ dnl Checks for libraries.
dnl Checks for header files.
AC_HEADER_STDC
AC_CHECK_HEADERS([syslog.h sys/file.h sys/ioctl.h sys/param.h \
sys/time.h sys/socket.h sys/wait.h netdb.h arpa/inet.h netinet/in_systm.h])
AC_CHECK_HEADERS([net/ethernet.h net/if.h net/if_arp.h netinet/if_ether.h netinet/ip.h \
netinet/tcp.h netinet/ip_icmp.h netinet/ip6.h netinet/icmp6.h],
AC_CHECK_HEADERS([syslog.h sys/file.h sys/ioctl.h sys/param.h sys/time.h sys/socket.h sys/wait.h netdb.h arpa/inet.h netinet/in_systm.h netinet/in.h])
AC_CHECK_HEADERS([net/ethernet.h net/if.h net/if_arp.h netinet/if_ether.h netinet/ip.h netinet/tcp.h netinet/ip_icmp.h netinet/ip6.h netinet/icmp6.h],
[], [],
[#include <sys/types.h>
[#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif
#ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h>
#endif
#ifdef HAVE_NETINET_IN_SYSTM_H
#include <netinet/in_systm.h>
#endif
#ifdef HAVE_NETINET_IN_H
#include <netinet/in.h>
#endif
]
)
@ -109,11 +114,40 @@ AC_TYPE_SIZE_T
AC_HEADER_TIME
AC_STRUCT_TM
AC_CHECK_TYPES([socklen_t, struct addrinfo, struct in6_addr, struct sockaddr_in6], , ,
[#include <sys/types.h>
AC_CHECK_TYPES([socklen_t, struct arphdr, struct ether_arp, struct in_addr, struct addrinfo, struct ip, struct icmp, struct in6_addr, struct sockaddr_in6, struct ip6_hdr, struct icmp6_hdr, struct nd_neighbor_solicit, struct nd_opt_hdr], , ,
[#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif
#ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h>
#endif
#ifdef HAVE_NETDB_H
#include <netdb.h>
#endif
#ifdef HAVE_NET_IF_ARP_H
#include <net/if_arp.h>
#endif
#ifdef HAVE_NETINET_IF_ETHER_H
#include <netinet/if_ether.h>
#endif
#ifdef HAVE_NETINET_IN_SYSTM_H
#include <netinet/in_systm.h>
#endif
#ifdef HAVE_NETINET_IN_H
#include <netinet/in.h>
#endif
#ifdef HAVE_NETINET_IP_H
#include <netinet/ip.h>
#endif
#ifdef HAVE_NETINET_IP_ICMP_H
#include <netinet/ip_icmp.h>
#endif
#ifdef HAVE_NETINET_IP6_H
#include <netinet/ip.h>
#endif
#ifdef HAVE_NETINET_ICMP6_H
#include <netinet/icmp.h>
#endif
]
)
@ -121,8 +155,7 @@ dnl Checks for library functions.
AC_FUNC_MEMCMP
AC_FUNC_ALLOCA
AC_TYPE_SIGNAL
AC_CHECK_FUNCS([asprintf daemon fcloseall flock ftime get_current_dir_name \
putenv select strdup strerror strsignal strtol unsetenv mlockall vsyslog])
AC_CHECK_FUNCS([asprintf daemon fcloseall flock ftime get_current_dir_name putenv select strdup strerror strsignal strtol unsetenv mlockall vsyslog])
jm_FUNC_MALLOC
jm_FUNC_REALLOC

View file

@ -17,12 +17,15 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: dropin.h,v 1.1.2.12 2003/07/17 15:06:25 guus Exp $
$Id: dropin.h,v 1.1.2.13 2003/07/18 13:42:35 guus Exp $
*/
#ifndef __DROPIN_H__
#define __DROPIN_H__
#include "fake-getaddrinfo.h"
#include "fake-getnameinfo.h"
#ifndef HAVE_DAEMON
extern int daemon(int, int);
#endif

View file

@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: ethernet.h,v 1.1.2.2 2003/07/18 12:21:02 guus Exp $
$Id: ethernet.h,v 1.1.2.3 2003/07/18 13:42:35 guus Exp $
*/
#ifndef __TINC_ETHERNET_H__
@ -39,8 +39,7 @@
#define ETHERTYPE_IP 0x0800
#endif
#ifndef HAVE_NET_IF_ARP_H
#ifndef HAVE_STRUCT_ARPHDR
struct arphdr {
unsigned short int ar_hrd;
unsigned short int ar_pro;
@ -56,11 +55,9 @@ struct arphdr {
#define ARPOP_InREQUEST 8
#define ARPOP_InREPLY 9
#define ARPOP_NAK 10
#endif
#ifndef HAVE_NETINET_IF_ETHER_H
#ifndef HAVE_STRUCT_ETHER_ARP
struct ether_arp {
struct arphdr ea_hdr;
uint8_t arp_sha[ETH_ALEN];
@ -73,7 +70,6 @@ struct ether_arp {
#define arp_hln ea_hdr.ar_hln
#define arp_pln ea_hdr.ar_pln
#define arp_op ea_hdr.ar_op
#endif
#endif /* __TINC_ETHERNET_H__ */

View file

@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: ipv4.h,v 1.1.2.1 2003/07/18 12:16:23 guus Exp $
$Id: ipv4.h,v 1.1.2.2 2003/07/18 13:42:35 guus Exp $
*/
#ifndef __TINC_IPV4_H__
@ -47,8 +47,7 @@
#define IP_MSS 576
#endif
#ifndef HAVE_NETINET_IP_H
#ifndef HAVE_STRUCT_IP
struct ip {
#if __BYTE_ORDER == __LITTLE_ENDIAN
unsigned int ip_hl:4;
@ -70,11 +69,9 @@ struct ip {
u_short ip_sum;
struct in_addr ip_src, ip_dst;
};
#endif
#ifndef HAVE_NETINET_IP_ICMP_H
#ifndef HAVE_STRUCT_ICMP
struct icmp {
uint8_t icmp_type;
uint8_t icmp_code;
@ -130,7 +127,6 @@ struct icmp {
#define icmp_mask icmp_dun.id_mask
#define icmp_data icmp_dun.id_data
};
#endif
#endif /* __TINC_IPV4_H__ */

View file

@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: ipv6.h,v 1.1.2.4 2003/07/17 15:06:25 guus Exp $
$Id: ipv6.h,v 1.1.2.5 2003/07/18 13:42:35 guus Exp $
*/
#ifndef __TINC_IPV6_H__
@ -60,7 +60,7 @@ struct sockaddr_in6 {
&& (((__const uint32_t *) (a))[2] == htonl (0xffff)))
#endif
#ifndef HAVE_NETINET_IP6_H
#ifndef HAVE_STRUCT_IP6_HDR
struct ip6_hdr {
union {
struct ip6_hdrctl {
@ -80,7 +80,9 @@ struct ip6_hdr {
#define ip6_nxt ip6_ctlun.ip6_un1.ip6_un1_nxt
#define ip6_hlim ip6_ctlun.ip6_un1.ip6_un1_hlim
#define ip6_hops ip6_ctlun.ip6_un1.ip6_un1_hlim
#endif
#ifndef HAVE_STRUCT_ICMP6_HDR
struct icmp6_hdr {
uint8_t icmp6_type;
uint8_t icmp6_code;
@ -96,14 +98,18 @@ struct icmp6_hdr {
#define ICMP6_DST_UNREACH_ADDR 3
#define ND_NEIGHBOR_SOLICIT 135
#define ND_NEIGHBOR_ADVERT 136
#endif
#ifndef HAVE_STRUCT_ND_NEIGHBOR_SOLICIT
struct nd_neighbor_solicit {
struct icmp6_hdr nd_ns_hdr;
struct in6_addr nd_ns_target;
};
#define ND_OPT_SOURCE_LINKADDR 1
#define ND_OPT_TARGET_LINKADDR 2
#endif
#ifndef HAVE_STRUCT_ND_OPT_HDR
struct nd_opt_hdr {
uint8_t nd_opt_type;
uint8_t nd_opt_len;

559
po/nl.po

File diff suppressed because it is too large Load diff