mirror of
https://github.com/nmap/nmap.git
synced 2025-12-12 18:59:03 +00:00
Upgrading shipped libdnet to 1.12
This commit is contained in:
@@ -22,6 +22,8 @@ o A script could be executed twice if it was given with the --script
|
|||||||
option, also in the "version" category, and version detection (-sV)
|
option, also in the "version" category, and version detection (-sV)
|
||||||
was requested. This has been fixed. [David]
|
was requested. This has been fixed. [David]
|
||||||
|
|
||||||
|
o Upgraded the shipped libdnet to 1.12. [Kris]
|
||||||
|
|
||||||
o Upgraded the OpenSSL shipped for Windows to 0.9.8i. [Kris]
|
o Upgraded the OpenSSL shipped for Windows to 0.9.8i. [Kris]
|
||||||
|
|
||||||
Nmap 4.76 [2008-9-12]
|
Nmap 4.76 [2008-9-12]
|
||||||
|
|||||||
@@ -56,4 +56,4 @@ To build a Microsoft Visual C++ native library and Python module
|
|||||||
cd ../src && lib /out:dnet.lib *.obj
|
cd ../src && lib /out:dnet.lib *.obj
|
||||||
|
|
||||||
|
|
||||||
# $Id: INSTALL,v 1.4 2005/02/15 07:38:19 dugsong Exp $
|
# $Id: INSTALL 590 2005-02-15 07:38:19Z dugsong $
|
||||||
|
|||||||
@@ -1,28 +1,31 @@
|
|||||||
|
|
||||||
Copyright (c) 2000-2004 Dug Song <dugsong@monkey.org>
|
Copyright (c) 2000-2006 Dug Song <dugsong@monkey.org>
|
||||||
All rights reserved, all wrongs reversed.
|
All rights reserved, all wrongs reversed.
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
Redistribution and use in source and binary forms, with or without
|
||||||
modification, are permitted provided that the following conditions
|
modification, are permitted provided that the following conditions
|
||||||
are met:
|
are met:
|
||||||
|
|
||||||
1. Redistributions of source code must retain the above copyright
|
1. Redistributions of source code must retain the above copyright
|
||||||
notice, this list of conditions and the following disclaimer.
|
notice, this list of conditions and the following disclaimer.
|
||||||
2. Redistributions in binary form must reproduce the above copyright
|
|
||||||
notice, this list of conditions and the following disclaimer in the
|
2. Redistributions in binary form must reproduce the above
|
||||||
documentation and/or other materials provided with the distribution.
|
copyright notice, this list of conditions and the following
|
||||||
3. The names of the authors and copyright holders may not be used to
|
disclaimer in the documentation and/or other materials provided
|
||||||
endorse or promote products derived from this software without
|
with the distribution.
|
||||||
specific prior written permission.
|
|
||||||
|
|
||||||
THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
3. The names of the authors and copyright holders may not be used
|
||||||
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
|
to endorse or promote products derived from this software
|
||||||
AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
without specific prior written permission.
|
||||||
THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
|
||||||
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
|
||||||
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
|
|
||||||
OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
|
||||||
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
|
||||||
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
|
||||||
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||||
|
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||||
|
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
|
||||||
|
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||||
|
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||||
|
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||||
|
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||||
|
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
||||||
|
OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
## $Id: Makefile.am,v 1.7 2004/01/03 08:52:22 dugsong Exp $
|
## $Id: Makefile.am 618 2006-01-15 06:42:19Z dugsong $
|
||||||
|
|
||||||
include $(top_srcdir)/Makefile.am.common
|
include $(top_srcdir)/Makefile.am.common
|
||||||
|
|
||||||
SUBDIRS = include src
|
SUBDIRS = include man src python test
|
||||||
|
|
||||||
bin_SCRIPTS = dnet-config
|
bin_SCRIPTS = dnet-config
|
||||||
|
|
||||||
@@ -12,10 +12,5 @@ CLEANFILES = dnet-config
|
|||||||
|
|
||||||
aux_dir = config
|
aux_dir = config
|
||||||
|
|
||||||
AUX_DIST = $(aux_dir)/acinclude.m4
|
AUX_DIST = $(aux_dir)/acinclude.m4
|
||||||
|
|
||||||
dist-hook:
|
|
||||||
(cd $(distdir) && mkdir $(aux_dir))
|
|
||||||
for file in $(AUX_DIST); do \
|
|
||||||
cp $$file $(distdir)/$$file; \
|
|
||||||
done
|
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
## $Id: Makefile.am.common,v 1.2 2002/12/02 04:05:25 dugsong Exp $
|
## $Id: Makefile.am.common 623 2006-01-19 06:09:27Z dugsong $
|
||||||
|
|
||||||
AUTOMAKE_OPTIONS = foreign no-dependencies
|
AUTOMAKE_OPTIONS = foreign no-dependencies
|
||||||
|
|
||||||
INCLUDES = -I$(top_srcdir)/include
|
AM_CPPFLAGS = -I$(top_srcdir)/include
|
||||||
|
|
||||||
DISTCLEANFILES = *~
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
# Makefile.in generated by automake 1.9.2 from Makefile.am.
|
# Makefile.in generated by automake 1.6.3 from Makefile.am.
|
||||||
# @configure_input@
|
# @configure_input@
|
||||||
|
|
||||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
|
||||||
# 2003, 2004 Free Software Foundation, Inc.
|
# Free Software Foundation, Inc.
|
||||||
# This Makefile.in is free software; the Free Software Foundation
|
# This Makefile.in is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
# with or without modifications, as long as this notice is preserved.
|
# with or without modifications, as long as this notice is preserved.
|
||||||
@@ -13,244 +13,164 @@
|
|||||||
# PARTICULAR PURPOSE.
|
# PARTICULAR PURPOSE.
|
||||||
|
|
||||||
@SET_MAKE@
|
@SET_MAKE@
|
||||||
|
SHELL = @SHELL@
|
||||||
|
|
||||||
srcdir = @srcdir@
|
srcdir = @srcdir@
|
||||||
top_srcdir = @top_srcdir@
|
top_srcdir = @top_srcdir@
|
||||||
VPATH = @srcdir@
|
VPATH = @srcdir@
|
||||||
|
prefix = @prefix@
|
||||||
|
exec_prefix = @exec_prefix@
|
||||||
|
|
||||||
|
bindir = @bindir@
|
||||||
|
sbindir = @sbindir@
|
||||||
|
libexecdir = @libexecdir@
|
||||||
|
datadir = @datadir@
|
||||||
|
sysconfdir = @sysconfdir@
|
||||||
|
sharedstatedir = @sharedstatedir@
|
||||||
|
localstatedir = @localstatedir@
|
||||||
|
libdir = @libdir@
|
||||||
|
infodir = @infodir@
|
||||||
|
mandir = @mandir@
|
||||||
|
includedir = @includedir@
|
||||||
|
oldincludedir = /usr/include
|
||||||
pkgdatadir = $(datadir)/@PACKAGE@
|
pkgdatadir = $(datadir)/@PACKAGE@
|
||||||
pkglibdir = $(libdir)/@PACKAGE@
|
pkglibdir = $(libdir)/@PACKAGE@
|
||||||
pkgincludedir = $(includedir)/@PACKAGE@
|
pkgincludedir = $(includedir)/@PACKAGE@
|
||||||
top_builddir = .
|
top_builddir = .
|
||||||
|
|
||||||
|
ACLOCAL = @ACLOCAL@
|
||||||
|
AUTOCONF = @AUTOCONF@
|
||||||
|
AUTOMAKE = @AUTOMAKE@
|
||||||
|
AUTOHEADER = @AUTOHEADER@
|
||||||
|
|
||||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||||
INSTALL = @INSTALL@
|
INSTALL = @INSTALL@
|
||||||
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||||
|
INSTALL_DATA = @INSTALL_DATA@
|
||||||
install_sh_DATA = $(install_sh) -c -m 644
|
install_sh_DATA = $(install_sh) -c -m 644
|
||||||
install_sh_PROGRAM = $(install_sh) -c
|
install_sh_PROGRAM = $(install_sh) -c
|
||||||
install_sh_SCRIPT = $(install_sh) -c
|
install_sh_SCRIPT = $(install_sh) -c
|
||||||
|
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||||
INSTALL_HEADER = $(INSTALL_DATA)
|
INSTALL_HEADER = $(INSTALL_DATA)
|
||||||
transform = $(program_transform_name)
|
transform = @program_transform_name@
|
||||||
NORMAL_INSTALL = :
|
NORMAL_INSTALL = :
|
||||||
PRE_INSTALL = :
|
PRE_INSTALL = :
|
||||||
POST_INSTALL = :
|
POST_INSTALL = :
|
||||||
NORMAL_UNINSTALL = :
|
NORMAL_UNINSTALL = :
|
||||||
PRE_UNINSTALL = :
|
PRE_UNINSTALL = :
|
||||||
POST_UNINSTALL = :
|
POST_UNINSTALL = :
|
||||||
build_triplet = @build@
|
host_alias = @host_alias@
|
||||||
host_triplet = @host@
|
host_triplet = @host@
|
||||||
DIST_COMMON = README $(am__configure_deps) $(srcdir)/../config.guess \
|
|
||||||
$(srcdir)/../config.sub $(srcdir)/../install-sh \
|
EXEEXT = @EXEEXT@
|
||||||
$(srcdir)/../ltmain.sh $(srcdir)/../missing \
|
OBJEXT = @OBJEXT@
|
||||||
$(srcdir)/Makefile.am $(srcdir)/Makefile.in \
|
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||||
$(srcdir)/dnet-config.in $(top_srcdir)/Makefile.am.common \
|
|
||||||
$(top_srcdir)/configure INSTALL THANKS TODO acconfig.h
|
|
||||||
subdir = .
|
|
||||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
|
||||||
am__aclocal_m4_deps = $(top_srcdir)/config/acinclude.m4 \
|
|
||||||
$(top_srcdir)/configure.in
|
|
||||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
|
||||||
$(ACLOCAL_M4)
|
|
||||||
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
|
|
||||||
configure.lineno configure.status.lineno
|
|
||||||
mkinstalldirs = $(install_sh) -d
|
|
||||||
CONFIG_HEADER = $(top_builddir)/include/config.h
|
|
||||||
CONFIG_CLEAN_FILES = dnet-config
|
|
||||||
am__installdirs = "$(DESTDIR)$(bindir)"
|
|
||||||
binSCRIPT_INSTALL = $(INSTALL_SCRIPT)
|
|
||||||
SCRIPTS = $(bin_SCRIPTS)
|
|
||||||
depcomp =
|
|
||||||
am__depfiles_maybe =
|
|
||||||
SOURCES =
|
|
||||||
DIST_SOURCES =
|
|
||||||
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
|
|
||||||
html-recursive info-recursive install-data-recursive \
|
|
||||||
install-exec-recursive install-info-recursive \
|
|
||||||
install-recursive installcheck-recursive installdirs-recursive \
|
|
||||||
pdf-recursive ps-recursive uninstall-info-recursive \
|
|
||||||
uninstall-recursive
|
|
||||||
ETAGS = etags
|
|
||||||
CTAGS = ctags
|
|
||||||
DIST_SUBDIRS = $(SUBDIRS)
|
|
||||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
|
||||||
distdir = $(PACKAGE)-$(VERSION)
|
|
||||||
top_distdir = $(distdir)
|
|
||||||
am__remove_distdir = \
|
|
||||||
{ test ! -d $(distdir) \
|
|
||||||
|| { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
|
|
||||||
&& rm -fr $(distdir); }; }
|
|
||||||
DIST_ARCHIVES = $(distdir).tar.gz
|
|
||||||
GZIP_ENV = --best
|
|
||||||
distuninstallcheck_listfiles = find . -type f -print
|
|
||||||
distcleancheck_listfiles = find . -type f -print
|
|
||||||
ACLOCAL = @ACLOCAL@
|
|
||||||
AMDEP_FALSE = @AMDEP_FALSE@
|
|
||||||
AMDEP_TRUE = @AMDEP_TRUE@
|
|
||||||
AMTAR = @AMTAR@
|
AMTAR = @AMTAR@
|
||||||
AR = @AR@
|
AR = @AR@
|
||||||
AUTOCONF = @AUTOCONF@
|
AS = @AS@
|
||||||
AUTOHEADER = @AUTOHEADER@
|
|
||||||
AUTOMAKE = @AUTOMAKE@
|
|
||||||
AWK = @AWK@
|
AWK = @AWK@
|
||||||
CC = @CC@
|
CC = @CC@
|
||||||
CCDEPMODE = @CCDEPMODE@
|
|
||||||
CFLAGS = @CFLAGS@
|
|
||||||
CHECKINC = @CHECKINC@
|
CHECKINC = @CHECKINC@
|
||||||
CHECKLIB = @CHECKLIB@
|
CHECKLIB = @CHECKLIB@
|
||||||
CPP = @CPP@
|
|
||||||
CPPFLAGS = @CPPFLAGS@
|
|
||||||
CXX = @CXX@
|
CXX = @CXX@
|
||||||
CXXCPP = @CXXCPP@
|
CXXCPP = @CXXCPP@
|
||||||
CXXDEPMODE = @CXXDEPMODE@
|
|
||||||
CXXFLAGS = @CXXFLAGS@
|
|
||||||
CYGPATH_W = @CYGPATH_W@
|
|
||||||
DEFS = @DEFS@
|
|
||||||
DEPDIR = @DEPDIR@
|
DEPDIR = @DEPDIR@
|
||||||
|
DLLTOOL = @DLLTOOL@
|
||||||
ECHO = @ECHO@
|
ECHO = @ECHO@
|
||||||
ECHO_C = @ECHO_C@
|
|
||||||
ECHO_N = @ECHO_N@
|
|
||||||
ECHO_T = @ECHO_T@
|
|
||||||
EGREP = @EGREP@
|
EGREP = @EGREP@
|
||||||
EXEEXT = @EXEEXT@
|
|
||||||
F77 = @F77@
|
F77 = @F77@
|
||||||
FFLAGS = @FFLAGS@
|
GCJ = @GCJ@
|
||||||
GREP = @GREP@
|
GCJFLAGS = @GCJFLAGS@
|
||||||
HAVE_CHECK_FALSE = @HAVE_CHECK_FALSE@
|
|
||||||
HAVE_CHECK_TRUE = @HAVE_CHECK_TRUE@
|
|
||||||
INSTALL_DATA = @INSTALL_DATA@
|
|
||||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
|
||||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
|
||||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||||
LDFLAGS = @LDFLAGS@
|
|
||||||
LIBOBJS = @LIBOBJS@
|
|
||||||
LIBS = @LIBS@
|
|
||||||
LIBTOOL = @LIBTOOL@
|
LIBTOOL = @LIBTOOL@
|
||||||
LN_S = @LN_S@
|
LN_S = @LN_S@
|
||||||
LTLIBOBJS = @LTLIBOBJS@
|
|
||||||
MAINT = @MAINT@
|
MAINT = @MAINT@
|
||||||
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
|
OBJDUMP = @OBJDUMP@
|
||||||
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
|
|
||||||
MAKEINFO = @MAKEINFO@
|
|
||||||
OBJEXT = @OBJEXT@
|
|
||||||
PACKAGE = @PACKAGE@
|
PACKAGE = @PACKAGE@
|
||||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
|
||||||
PACKAGE_NAME = @PACKAGE_NAME@
|
|
||||||
PACKAGE_STRING = @PACKAGE_STRING@
|
|
||||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
|
||||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
|
||||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
|
||||||
PYTHON = @PYTHON@
|
PYTHON = @PYTHON@
|
||||||
PYTHON_FALSE = @PYTHON_FALSE@
|
|
||||||
PYTHON_TRUE = @PYTHON_TRUE@
|
|
||||||
RANLIB = @RANLIB@
|
RANLIB = @RANLIB@
|
||||||
SET_MAKE = @SET_MAKE@
|
RC = @RC@
|
||||||
SHELL = @SHELL@
|
|
||||||
STRIP = @STRIP@
|
STRIP = @STRIP@
|
||||||
TCLINC = @TCLINC@
|
TCLINC = @TCLINC@
|
||||||
TCLLIB = @TCLLIB@
|
TCLLIB = @TCLLIB@
|
||||||
TCL_FALSE = @TCL_FALSE@
|
|
||||||
TCL_TRUE = @TCL_TRUE@
|
|
||||||
VERSION = @VERSION@
|
VERSION = @VERSION@
|
||||||
ac_ct_CC = @ac_ct_CC@
|
ac_aux_dir = @ac_aux_dir@
|
||||||
ac_ct_CXX = @ac_ct_CXX@
|
|
||||||
ac_ct_F77 = @ac_ct_F77@
|
|
||||||
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
|
||||||
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
|
|
||||||
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
|
|
||||||
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
|
|
||||||
am__include = @am__include@
|
am__include = @am__include@
|
||||||
am__leading_dot = @am__leading_dot@
|
|
||||||
am__quote = @am__quote@
|
am__quote = @am__quote@
|
||||||
am__tar = @am__tar@
|
|
||||||
am__untar = @am__untar@
|
|
||||||
bindir = @bindir@
|
|
||||||
build = @build@
|
|
||||||
build_alias = @build_alias@
|
|
||||||
build_cpu = @build_cpu@
|
|
||||||
build_os = @build_os@
|
|
||||||
build_vendor = @build_vendor@
|
|
||||||
datadir = @datadir@
|
|
||||||
datarootdir = @datarootdir@
|
|
||||||
docdir = @docdir@
|
|
||||||
dvidir = @dvidir@
|
|
||||||
exec_prefix = @exec_prefix@
|
|
||||||
host = @host@
|
|
||||||
host_alias = @host_alias@
|
|
||||||
host_cpu = @host_cpu@
|
|
||||||
host_os = @host_os@
|
|
||||||
host_vendor = @host_vendor@
|
|
||||||
htmldir = @htmldir@
|
|
||||||
includedir = @includedir@
|
|
||||||
infodir = @infodir@
|
|
||||||
install_sh = @install_sh@
|
install_sh = @install_sh@
|
||||||
libdir = @libdir@
|
|
||||||
libexecdir = @libexecdir@
|
|
||||||
localedir = @localedir@
|
|
||||||
localstatedir = @localstatedir@
|
|
||||||
mandir = @mandir@
|
|
||||||
mkdir_p = @mkdir_p@
|
|
||||||
oldincludedir = @oldincludedir@
|
|
||||||
pdfdir = @pdfdir@
|
|
||||||
prefix = @prefix@
|
|
||||||
program_transform_name = @program_transform_name@
|
|
||||||
psdir = @psdir@
|
|
||||||
sbindir = @sbindir@
|
|
||||||
sharedstatedir = @sharedstatedir@
|
|
||||||
sysconfdir = @sysconfdir@
|
|
||||||
target_alias = @target_alias@
|
|
||||||
AUTOMAKE_OPTIONS = foreign no-dependencies
|
AUTOMAKE_OPTIONS = foreign no-dependencies
|
||||||
INCLUDES = -I$(top_srcdir)/include
|
|
||||||
DISTCLEANFILES = *~
|
AM_CPPFLAGS = -I$(top_srcdir)/include
|
||||||
SUBDIRS = include src
|
|
||||||
|
SUBDIRS = include src
|
||||||
|
|
||||||
bin_SCRIPTS = dnet-config
|
bin_SCRIPTS = dnet-config
|
||||||
|
|
||||||
EXTRA_DIST = LICENSE Makefile.am.common acconfig.h
|
EXTRA_DIST = LICENSE Makefile.am.common acconfig.h
|
||||||
|
|
||||||
CLEANFILES = dnet-config
|
CLEANFILES = dnet-config
|
||||||
aux_dir = config
|
|
||||||
AUX_DIST = $(aux_dir)/acinclude.m4
|
AUX_DIST = $(ac_aux_dir)/acinclude.m4 \
|
||||||
|
$(ac_aux_dir)/config.guess \
|
||||||
|
$(ac_aux_dir)/config.sub \
|
||||||
|
$(ac_aux_dir)/install-sh \
|
||||||
|
$(ac_aux_dir)/ltmain.sh \
|
||||||
|
$(ac_aux_dir)/missing \
|
||||||
|
$(ac_aux_dir)/mkinstalldirs
|
||||||
|
|
||||||
|
subdir = .
|
||||||
|
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||||
|
mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
|
||||||
|
CONFIG_HEADER = $(top_builddir)/include/config.h
|
||||||
|
CONFIG_CLEAN_FILES = dnet-config
|
||||||
|
SCRIPTS = $(bin_SCRIPTS)
|
||||||
|
|
||||||
|
depcomp =
|
||||||
|
am__depfiles_maybe =
|
||||||
|
DIST_SOURCES =
|
||||||
|
|
||||||
|
RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \
|
||||||
|
uninstall-info-recursive all-recursive install-data-recursive \
|
||||||
|
install-exec-recursive installdirs-recursive install-recursive \
|
||||||
|
uninstall-recursive check-recursive installcheck-recursive
|
||||||
|
DIST_COMMON = README INSTALL Makefile.am Makefile.in THANKS TODO \
|
||||||
|
acconfig.h aclocal.m4 config/acinclude.m4 config/config.guess \
|
||||||
|
config/config.sub config/install-sh config/ltmain.sh \
|
||||||
|
config/missing config/mkinstalldirs configure configure.in \
|
||||||
|
dnet-config.in
|
||||||
|
DIST_SUBDIRS = $(SUBDIRS)
|
||||||
all: all-recursive
|
all: all-recursive
|
||||||
|
|
||||||
.SUFFIXES:
|
.SUFFIXES:
|
||||||
am--refresh:
|
|
||||||
@:
|
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
|
||||||
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/Makefile.am.common $(am__configure_deps)
|
configure.lineno
|
||||||
@for dep in $?; do \
|
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/Makefile.am.common $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||||
case '$(am__configure_deps)' in \
|
|
||||||
*$$dep*) \
|
|
||||||
echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \
|
|
||||||
cd $(srcdir) && $(AUTOMAKE) --foreign \
|
|
||||||
&& exit 0; \
|
|
||||||
exit 1;; \
|
|
||||||
esac; \
|
|
||||||
done; \
|
|
||||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
|
|
||||||
cd $(top_srcdir) && \
|
cd $(top_srcdir) && \
|
||||||
$(AUTOMAKE) --foreign Makefile
|
$(AUTOMAKE) --foreign Makefile
|
||||||
.PRECIOUS: Makefile
|
Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)
|
||||||
@case '$?' in \
|
|
||||||
*config.status*) \
|
|
||||||
echo ' $(SHELL) ./config.status'; \
|
|
||||||
$(SHELL) ./config.status;; \
|
|
||||||
*) \
|
|
||||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
|
|
||||||
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
|
|
||||||
esac;
|
|
||||||
|
|
||||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
$(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||||
$(SHELL) ./config.status --recheck
|
$(SHELL) ./config.status --recheck
|
||||||
|
$(srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
|
||||||
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
|
|
||||||
cd $(srcdir) && $(AUTOCONF)
|
cd $(srcdir) && $(AUTOCONF)
|
||||||
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
|
|
||||||
|
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ configure.in
|
||||||
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
|
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
|
||||||
dnet-config: $(top_builddir)/config.status $(srcdir)/dnet-config.in
|
dnet-config: $(top_builddir)/config.status dnet-config.in
|
||||||
cd $(top_builddir) && $(SHELL) ./config.status $@
|
cd $(top_builddir) && $(SHELL) ./config.status $@
|
||||||
|
binSCRIPT_INSTALL = $(INSTALL_SCRIPT)
|
||||||
install-binSCRIPTS: $(bin_SCRIPTS)
|
install-binSCRIPTS: $(bin_SCRIPTS)
|
||||||
@$(NORMAL_INSTALL)
|
@$(NORMAL_INSTALL)
|
||||||
test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
|
$(mkinstalldirs) $(DESTDIR)$(bindir)
|
||||||
@list='$(bin_SCRIPTS)'; for p in $$list; do \
|
@list='$(bin_SCRIPTS)'; for p in $$list; do \
|
||||||
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||||
if test -f $$d$$p; then \
|
if test -f $$d$$p; then \
|
||||||
f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
|
f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
|
||||||
echo " $(binSCRIPT_INSTALL) '$$d$$p' '$(DESTDIR)$(bindir)/$$f'"; \
|
echo " $(binSCRIPT_INSTALL) $$d$$p $(DESTDIR)$(bindir)/$$f"; \
|
||||||
$(binSCRIPT_INSTALL) "$$d$$p" "$(DESTDIR)$(bindir)/$$f"; \
|
$(binSCRIPT_INSTALL) $$d$$p $(DESTDIR)$(bindir)/$$f; \
|
||||||
else :; fi; \
|
else :; fi; \
|
||||||
done
|
done
|
||||||
|
|
||||||
@@ -258,8 +178,8 @@ uninstall-binSCRIPTS:
|
|||||||
@$(NORMAL_UNINSTALL)
|
@$(NORMAL_UNINSTALL)
|
||||||
@list='$(bin_SCRIPTS)'; for p in $$list; do \
|
@list='$(bin_SCRIPTS)'; for p in $$list; do \
|
||||||
f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
|
f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
|
||||||
echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
|
echo " rm -f $(DESTDIR)$(bindir)/$$f"; \
|
||||||
rm -f "$(DESTDIR)$(bindir)/$$f"; \
|
rm -f $(DESTDIR)$(bindir)/$$f; \
|
||||||
done
|
done
|
||||||
|
|
||||||
mostlyclean-libtool:
|
mostlyclean-libtool:
|
||||||
@@ -326,10 +246,11 @@ tags-recursive:
|
|||||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||||
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
|
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
|
||||||
done
|
done
|
||||||
ctags-recursive:
|
|
||||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
ETAGS = etags
|
||||||
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
|
ETAGSFLAGS =
|
||||||
done
|
|
||||||
|
tags: TAGS
|
||||||
|
|
||||||
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
||||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||||
@@ -339,23 +260,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
|||||||
$(AWK) ' { files[$$0] = 1; } \
|
$(AWK) ' { files[$$0] = 1; } \
|
||||||
END { for (i in files) print i; }'`; \
|
END { for (i in files) print i; }'`; \
|
||||||
mkid -fID $$unique
|
mkid -fID $$unique
|
||||||
tags: TAGS
|
|
||||||
|
|
||||||
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
||||||
$(TAGS_FILES) $(LISP)
|
$(TAGS_FILES) $(LISP)
|
||||||
tags=; \
|
tags=; \
|
||||||
here=`pwd`; \
|
here=`pwd`; \
|
||||||
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
|
|
||||||
include_option=--etags-include; \
|
|
||||||
empty_fix=.; \
|
|
||||||
else \
|
|
||||||
include_option=--include; \
|
|
||||||
empty_fix=; \
|
|
||||||
fi; \
|
|
||||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||||
if test "$$subdir" = .; then :; else \
|
if test "$$subdir" = .; then :; else \
|
||||||
test ! -f $$subdir/TAGS || \
|
test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
|
||||||
tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
|
|
||||||
fi; \
|
fi; \
|
||||||
done; \
|
done; \
|
||||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||||
@@ -364,24 +276,8 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
|||||||
done | \
|
done | \
|
||||||
$(AWK) ' { files[$$0] = 1; } \
|
$(AWK) ' { files[$$0] = 1; } \
|
||||||
END { for (i in files) print i; }'`; \
|
END { for (i in files) print i; }'`; \
|
||||||
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|
test -z "$(ETAGS_ARGS)$$tags$$unique" \
|
||||||
test -n "$$unique" || unique=$$empty_fix; \
|
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
|
||||||
$$tags $$unique; \
|
|
||||||
fi
|
|
||||||
ctags: CTAGS
|
|
||||||
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
|
||||||
$(TAGS_FILES) $(LISP)
|
|
||||||
tags=; \
|
|
||||||
here=`pwd`; \
|
|
||||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
|
||||||
unique=`for i in $$list; do \
|
|
||||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
|
||||||
done | \
|
|
||||||
$(AWK) ' { files[$$0] = 1; } \
|
|
||||||
END { for (i in files) print i; }'`; \
|
|
||||||
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|
|
||||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
|
||||||
$$tags $$unique
|
$$tags $$unique
|
||||||
|
|
||||||
GTAGS:
|
GTAGS:
|
||||||
@@ -390,24 +286,30 @@ GTAGS:
|
|||||||
&& gtags -i $(GTAGS_ARGS) $$here
|
&& gtags -i $(GTAGS_ARGS) $$here
|
||||||
|
|
||||||
distclean-tags:
|
distclean-tags:
|
||||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
|
||||||
|
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
|
|
||||||
|
top_distdir = .
|
||||||
|
distdir = $(PACKAGE)-$(VERSION)
|
||||||
|
|
||||||
|
am__remove_distdir = \
|
||||||
|
{ test ! -d $(distdir) \
|
||||||
|
|| { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
|
||||||
|
&& rm -fr $(distdir); }; }
|
||||||
|
|
||||||
|
GZIP_ENV = --best
|
||||||
|
distcleancheck_listfiles = find . -type f -print
|
||||||
|
|
||||||
distdir: $(DISTFILES)
|
distdir: $(DISTFILES)
|
||||||
$(am__remove_distdir)
|
$(am__remove_distdir)
|
||||||
mkdir $(distdir)
|
mkdir $(distdir)
|
||||||
$(mkdir_p) $(distdir)/. $(distdir)/.. $(distdir)/config
|
$(mkinstalldirs) $(distdir)/. $(distdir)/config
|
||||||
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
|
@list='$(DISTFILES)'; for file in $$list; do \
|
||||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
|
|
||||||
list='$(DISTFILES)'; for file in $$list; do \
|
|
||||||
case $$file in \
|
|
||||||
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
|
|
||||||
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
|
|
||||||
esac; \
|
|
||||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||||
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||||
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||||
dir="/$$dir"; \
|
dir="/$$dir"; \
|
||||||
$(mkdir_p) "$(distdir)$$dir"; \
|
$(mkinstalldirs) "$(distdir)$$dir"; \
|
||||||
else \
|
else \
|
||||||
dir=''; \
|
dir=''; \
|
||||||
fi; \
|
fi; \
|
||||||
@@ -422,78 +324,45 @@ distdir: $(DISTFILES)
|
|||||||
|| exit 1; \
|
|| exit 1; \
|
||||||
fi; \
|
fi; \
|
||||||
done
|
done
|
||||||
list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
|
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||||
if test "$$subdir" = .; then :; else \
|
if test "$$subdir" = .; then :; else \
|
||||||
test -d "$(distdir)/$$subdir" \
|
test -d $(distdir)/$$subdir \
|
||||||
|| $(mkdir_p) "$(distdir)/$$subdir" \
|
|| mkdir $(distdir)/$$subdir \
|
||||||
|| exit 1; \
|
|| exit 1; \
|
||||||
distdir=`$(am__cd) $(distdir) && pwd`; \
|
|
||||||
top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
|
|
||||||
(cd $$subdir && \
|
(cd $$subdir && \
|
||||||
$(MAKE) $(AM_MAKEFLAGS) \
|
$(MAKE) $(AM_MAKEFLAGS) \
|
||||||
top_distdir="$$top_distdir" \
|
top_distdir="$(top_distdir)" \
|
||||||
distdir="$$distdir/$$subdir" \
|
distdir=../$(distdir)/$$subdir \
|
||||||
distdir) \
|
distdir) \
|
||||||
|| exit 1; \
|
|| exit 1; \
|
||||||
fi; \
|
fi; \
|
||||||
done
|
done
|
||||||
$(MAKE) $(AM_MAKEFLAGS) \
|
|
||||||
top_distdir="$(top_distdir)" distdir="$(distdir)" \
|
|
||||||
dist-hook
|
|
||||||
-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
|
-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
|
||||||
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
|
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
|
||||||
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
|
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
|
||||||
! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
|
! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
|
||||||
|| chmod -R a+r $(distdir)
|
|| chmod -R a+r $(distdir)
|
||||||
dist-gzip: distdir
|
dist-gzip: distdir
|
||||||
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
|
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
|
||||||
$(am__remove_distdir)
|
|
||||||
|
|
||||||
dist-bzip2: distdir
|
|
||||||
tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
|
|
||||||
$(am__remove_distdir)
|
|
||||||
|
|
||||||
dist-tarZ: distdir
|
|
||||||
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
|
|
||||||
$(am__remove_distdir)
|
|
||||||
|
|
||||||
dist-shar: distdir
|
|
||||||
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
|
|
||||||
$(am__remove_distdir)
|
|
||||||
|
|
||||||
dist-zip: distdir
|
|
||||||
-rm -f $(distdir).zip
|
|
||||||
zip -rq $(distdir).zip $(distdir)
|
|
||||||
$(am__remove_distdir)
|
$(am__remove_distdir)
|
||||||
|
|
||||||
dist dist-all: distdir
|
dist dist-all: distdir
|
||||||
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
|
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
|
||||||
$(am__remove_distdir)
|
$(am__remove_distdir)
|
||||||
|
|
||||||
# This target untars the dist file and tries a VPATH configuration. Then
|
# This target untars the dist file and tries a VPATH configuration. Then
|
||||||
# it guarantees that the distribution is self-contained by making another
|
# it guarantees that the distribution is self-contained by making another
|
||||||
# tarfile.
|
# tarfile.
|
||||||
distcheck: dist
|
distcheck: dist
|
||||||
case '$(DIST_ARCHIVES)' in \
|
$(am__remove_distdir)
|
||||||
*.tar.gz*) \
|
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf -
|
||||||
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
|
|
||||||
*.tar.bz2*) \
|
|
||||||
bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
|
|
||||||
*.tar.Z*) \
|
|
||||||
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
|
|
||||||
*.shar.gz*) \
|
|
||||||
GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
|
|
||||||
*.zip*) \
|
|
||||||
unzip $(distdir).zip ;;\
|
|
||||||
esac
|
|
||||||
chmod -R a-w $(distdir); chmod a+w $(distdir)
|
chmod -R a-w $(distdir); chmod a+w $(distdir)
|
||||||
mkdir $(distdir)/_build
|
mkdir $(distdir)/=build
|
||||||
mkdir $(distdir)/_inst
|
mkdir $(distdir)/=inst
|
||||||
chmod a-w $(distdir)
|
chmod a-w $(distdir)
|
||||||
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
|
dc_install_base=`$(am__cd) $(distdir)/=inst && pwd` \
|
||||||
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
|
&& cd $(distdir)/=build \
|
||||||
&& cd $(distdir)/_build \
|
&& ../configure --srcdir=.. --prefix=$$dc_install_base \
|
||||||
&& ../configure --srcdir=.. --prefix="$$dc_install_base" \
|
|
||||||
$(DISTCHECK_CONFIGURE_FLAGS) \
|
$(DISTCHECK_CONFIGURE_FLAGS) \
|
||||||
&& $(MAKE) $(AM_MAKEFLAGS) \
|
&& $(MAKE) $(AM_MAKEFLAGS) \
|
||||||
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
|
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
|
||||||
@@ -501,40 +370,23 @@ distcheck: dist
|
|||||||
&& $(MAKE) $(AM_MAKEFLAGS) install \
|
&& $(MAKE) $(AM_MAKEFLAGS) install \
|
||||||
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
|
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
|
||||||
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \
|
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \
|
||||||
&& $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
|
&& (test `find $$dc_install_base -type f -print | wc -l` -le 1 \
|
||||||
distuninstallcheck \
|
|| { echo "ERROR: files left after uninstall:" ; \
|
||||||
&& chmod -R a-w "$$dc_install_base" \
|
find $$dc_install_base -type f -print ; \
|
||||||
&& ({ \
|
exit 1; } >&2 ) \
|
||||||
(cd ../.. && umask 077 && mkdir "$$dc_destdir") \
|
&& $(MAKE) $(AM_MAKEFLAGS) dist-gzip \
|
||||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
|
&& rm -f $(distdir).tar.gz \
|
||||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
|
|
||||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
|
|
||||||
distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
|
|
||||||
} || { rm -rf "$$dc_destdir"; exit 1; }) \
|
|
||||||
&& rm -rf "$$dc_destdir" \
|
|
||||||
&& $(MAKE) $(AM_MAKEFLAGS) dist \
|
|
||||||
&& rm -rf $(DIST_ARCHIVES) \
|
|
||||||
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck
|
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck
|
||||||
$(am__remove_distdir)
|
$(am__remove_distdir)
|
||||||
@(echo "$(distdir) archives ready for distribution: "; \
|
@echo "$(distdir).tar.gz is ready for distribution" | \
|
||||||
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
|
sed 'h;s/./=/g;p;x;p;x'
|
||||||
sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
|
|
||||||
distuninstallcheck:
|
|
||||||
@cd $(distuninstallcheck_dir) \
|
|
||||||
&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
|
|
||||||
|| { echo "ERROR: files left after uninstall:" ; \
|
|
||||||
if test -n "$(DESTDIR)"; then \
|
|
||||||
echo " (check DESTDIR support)"; \
|
|
||||||
fi ; \
|
|
||||||
$(distuninstallcheck_listfiles) ; \
|
|
||||||
exit 1; } >&2
|
|
||||||
distcleancheck: distclean
|
distcleancheck: distclean
|
||||||
@if test '$(srcdir)' = . ; then \
|
if test '$(srcdir)' = . ; then \
|
||||||
echo "ERROR: distcleancheck can only run from a VPATH build" ; \
|
echo "ERROR: distcleancheck can only run from a VPATH build" ; \
|
||||||
exit 1 ; \
|
exit 1 ; \
|
||||||
fi
|
fi
|
||||||
@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|
test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|
||||||
|| { echo "ERROR: files left in build directory after distclean:" ; \
|
|| { echo "ERROR: files left after distclean:" ; \
|
||||||
$(distcleancheck_listfiles) ; \
|
$(distcleancheck_listfiles) ; \
|
||||||
exit 1; } >&2
|
exit 1; } >&2
|
||||||
check-am: all-am
|
check-am: all-am
|
||||||
@@ -542,9 +394,8 @@ check: check-recursive
|
|||||||
all-am: Makefile $(SCRIPTS)
|
all-am: Makefile $(SCRIPTS)
|
||||||
installdirs: installdirs-recursive
|
installdirs: installdirs-recursive
|
||||||
installdirs-am:
|
installdirs-am:
|
||||||
for dir in "$(DESTDIR)$(bindir)"; do \
|
$(mkinstalldirs) $(DESTDIR)$(bindir)
|
||||||
test -z "$$dir" || $(mkdir_p) "$$dir"; \
|
|
||||||
done
|
|
||||||
install: install-recursive
|
install: install-recursive
|
||||||
install-exec: install-exec-recursive
|
install-exec: install-exec-recursive
|
||||||
install-data: install-data-recursive
|
install-data: install-data-recursive
|
||||||
@@ -556,7 +407,7 @@ install-am: all-am
|
|||||||
installcheck: installcheck-recursive
|
installcheck: installcheck-recursive
|
||||||
install-strip:
|
install-strip:
|
||||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
INSTALL_STRIP_FLAG=-s \
|
||||||
`test -z '$(STRIP)' || \
|
`test -z '$(STRIP)' || \
|
||||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||||
mostlyclean-generic:
|
mostlyclean-generic:
|
||||||
@@ -565,8 +416,7 @@ clean-generic:
|
|||||||
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
|
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
|
||||||
|
|
||||||
distclean-generic:
|
distclean-generic:
|
||||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||||
-test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
|
|
||||||
|
|
||||||
maintainer-clean-generic:
|
maintainer-clean-generic:
|
||||||
@echo "This command is intended for maintainers to use"
|
@echo "This command is intended for maintainers to use"
|
||||||
@@ -577,7 +427,6 @@ clean-am: clean-generic clean-libtool mostlyclean-am
|
|||||||
|
|
||||||
distclean: distclean-recursive
|
distclean: distclean-recursive
|
||||||
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||||
-rm -f Makefile
|
|
||||||
distclean-am: clean-am distclean-generic distclean-libtool \
|
distclean-am: clean-am distclean-generic distclean-libtool \
|
||||||
distclean-tags
|
distclean-tags
|
||||||
|
|
||||||
@@ -585,8 +434,6 @@ dvi: dvi-recursive
|
|||||||
|
|
||||||
dvi-am:
|
dvi-am:
|
||||||
|
|
||||||
html: html-recursive
|
|
||||||
|
|
||||||
info: info-recursive
|
info: info-recursive
|
||||||
|
|
||||||
info-am:
|
info-am:
|
||||||
@@ -603,48 +450,34 @@ installcheck-am:
|
|||||||
|
|
||||||
maintainer-clean: maintainer-clean-recursive
|
maintainer-clean: maintainer-clean-recursive
|
||||||
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||||
-rm -rf $(top_srcdir)/autom4te.cache
|
-rm -rf autom4te.cache
|
||||||
-rm -f Makefile
|
|
||||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||||
|
|
||||||
mostlyclean: mostlyclean-recursive
|
mostlyclean: mostlyclean-recursive
|
||||||
|
|
||||||
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
|
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
|
||||||
|
|
||||||
pdf: pdf-recursive
|
|
||||||
|
|
||||||
pdf-am:
|
|
||||||
|
|
||||||
ps: ps-recursive
|
|
||||||
|
|
||||||
ps-am:
|
|
||||||
|
|
||||||
uninstall-am: uninstall-binSCRIPTS uninstall-info-am
|
uninstall-am: uninstall-binSCRIPTS uninstall-info-am
|
||||||
|
|
||||||
uninstall-info: uninstall-info-recursive
|
uninstall-info: uninstall-info-recursive
|
||||||
|
|
||||||
.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \
|
.PHONY: $(RECURSIVE_TARGETS) GTAGS all all-am check check-am clean \
|
||||||
check-am clean clean-generic clean-libtool clean-recursive \
|
clean-generic clean-libtool clean-recursive dist dist-all \
|
||||||
ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \
|
dist-gzip distcheck distclean distclean-generic \
|
||||||
dist-hook dist-shar dist-tarZ dist-zip distcheck distclean \
|
distclean-libtool distclean-recursive distclean-tags \
|
||||||
distclean-generic distclean-libtool distclean-recursive \
|
distcleancheck distdir dvi dvi-am dvi-recursive info info-am \
|
||||||
distclean-tags distcleancheck distdir distuninstallcheck dvi \
|
info-recursive install install-am install-binSCRIPTS \
|
||||||
dvi-am html html-am info info-am install install-am \
|
install-data install-data-am install-data-recursive \
|
||||||
install-binSCRIPTS install-data install-data-am install-exec \
|
install-exec install-exec-am install-exec-recursive \
|
||||||
install-exec-am install-info install-info-am install-man \
|
install-info install-info-am install-info-recursive install-man \
|
||||||
install-strip installcheck installcheck-am installdirs \
|
install-recursive install-strip installcheck installcheck-am \
|
||||||
installdirs-am maintainer-clean maintainer-clean-generic \
|
installdirs installdirs-am installdirs-recursive \
|
||||||
|
maintainer-clean maintainer-clean-generic \
|
||||||
maintainer-clean-recursive mostlyclean mostlyclean-generic \
|
maintainer-clean-recursive mostlyclean mostlyclean-generic \
|
||||||
mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \
|
mostlyclean-libtool mostlyclean-recursive tags tags-recursive \
|
||||||
tags tags-recursive uninstall uninstall-am \
|
uninstall uninstall-am uninstall-binSCRIPTS uninstall-info-am \
|
||||||
uninstall-binSCRIPTS uninstall-info-am
|
uninstall-info-recursive uninstall-recursive
|
||||||
|
|
||||||
|
|
||||||
dist-hook:
|
|
||||||
(cd $(distdir) && mkdir $(aux_dir))
|
|
||||||
for file in $(AUX_DIST); do \
|
|
||||||
cp $$file $(distdir)/$$file; \
|
|
||||||
done
|
|
||||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||||
.NOEXPORT:
|
.NOEXPORT:
|
||||||
|
|||||||
@@ -1,398 +1,358 @@
|
|||||||
$Id$
|
$Id$
|
||||||
|
|
||||||
This is Dug Song's excellent Libdnet networking library version 1.10.
|
This is Dug Song's excellent Libdnet networking library version 1.12.
|
||||||
It has been stripped down for inclusion within Nmap and modified as follows:
|
It has been stripped down for inclusion within Nmap and modified as follows:
|
||||||
|
|
||||||
o Removed the following directories:
|
o Removed the following directories:
|
||||||
python, test, man
|
python, test, man, trunk
|
||||||
|
|
||||||
o Removed all filenames from EXTRA_libdnet_la_SOURCES sources, as
|
o Removed the fw-* files except for fw-none because Nmap doesn't use
|
||||||
they aren't needed with GNU automake 1.9.2
|
the firewall API. Changed configure.in to always use fw-non.
|
||||||
|
|
||||||
o Removed the fw-* files except for fw-none because Nmap doesn't use
|
o Removed files in now-removed dirs that were referenced in the AC_OUTPUT
|
||||||
the firewall API. Changed configure.in to always use fw-non.
|
at the end of configure.in
|
||||||
|
|
||||||
o Removed files in now-removed dires that were reference from
|
o Ran "aclocal -I . -I config" to regenerate aclocal.m4 with my newer
|
||||||
configure.in:318
|
aclocal.
|
||||||
|
|
||||||
o Ran "aclocal -I . -I config" to regenerate aclocal.m4 with my newer
|
o Added this NMAP_MODIFICATIONS file.
|
||||||
aclocal.
|
|
||||||
|
o Added include/winconfig.h, which is a modified config.h to better support
|
||||||
o Replaced config.guess config.sub and missing in config dir with
|
Windows compilation via Visual Studio. Added conditional includes
|
||||||
versions from Autoconf 2.59.
|
for it to a bunch of the dnet source files.
|
||||||
|
|
||||||
o Added this NMAP_MODIFICATIONS file.
|
o A number of portability changes to remove errors/warnings during
|
||||||
|
Win32 Visual Studio.Net compilation. This was mostly a matter of
|
||||||
o Added include/winconfig.h, which is a modified config.h to better support
|
adding casts and a few extra include files.
|
||||||
Windows compilation via Visual Studio. Added conditional includes
|
|
||||||
for it to a bunch of the dnet source files.
|
o Added libdnet-stripped.vcproj -- A Visual Studio.Net project file
|
||||||
|
for dnet.
|
||||||
o A number of portability changes to remove errors/warnings during
|
|
||||||
Win32 Visual Studio.Net compilation. This was mostly a matter of
|
o Made some code changes to intf.c (the patch below). This does the following:
|
||||||
adding casts and a few extra include files.
|
|
||||||
|
o Preserve the alias qualifier from interface name in more cases
|
||||||
o Added libdnet-stripped.vcproj -- A Visual Studio.Net project file
|
(e.g. don't blow away :2 from eth0:2 when it may still be needed.
|
||||||
for dnet.
|
|
||||||
|
o Set the SO_BROADCAST flag on the interface list descriptor so that
|
||||||
o Rewrote eth_open() for Win32 as its technique for translating from
|
broadcast/network IPs can be investigated.
|
||||||
a dnet-named interface to a pcap-named one did not work on any of my
|
|
||||||
systems.
|
o Update _match_intf_src so that it checks interface aliases for the
|
||||||
|
given source address rather than only the main interface address.
|
||||||
o Increase the number of available bpf devices from 32 to 128. Patch:
|
|
||||||
--- eth-bsd.c (revision 2774)
|
diff -Nruw old/src/intf.c nmap-3.83.new/src/intf.c
|
||||||
+++ eth-bsd.c (working copy)
|
--- src/intf.c 2005-05-03 09:41:35.000000000 -0700
|
||||||
@@ -45,7 +45,7 @@
|
+++ src/intf.c 2005-07-16 20:55:05.000000000 -0700
|
||||||
int i;
|
@@ -119,12 +119,16 @@
|
||||||
|
intf_open(void)
|
||||||
if ((e = calloc(1, sizeof(*e))) != NULL) {
|
{
|
||||||
- for (i = 0; i < 32; i++) {
|
intf_t *intf;
|
||||||
+ for (i = 0; i < 128; i++) {
|
+ int one = 1;
|
||||||
snprintf(file, sizeof(file), "/dev/bpf%d", i);
|
|
||||||
e->fd = open(file, O_WRONLY);
|
if ((intf = calloc(1, sizeof(*intf))) != NULL) {
|
||||||
if (e->fd != -1 || errno != EBUSY)
|
intf->fd = intf->fd6 = -1;
|
||||||
|
|
||||||
|
if ((intf->fd = socket(AF_INET, SOCK_DGRAM, 0)) < 0)
|
||||||
o Made some code changes to intf.c (the patch below). This does the following:
|
return (intf_close(intf));
|
||||||
|
+
|
||||||
o Preserve the alias qualifier from interface name in more cases
|
+ setsockopt(intf->fd, SOL_SOCKET, SO_BROADCAST,
|
||||||
(e.g. don't blow away :2 from eth0:2 when it may still be needed.
|
+ (const char *) &one, sizeof(one));
|
||||||
|
#ifdef SIOCGIFNETMASK_IN6
|
||||||
o Set the SO_BROADCAST flag on the interface list descriptor so that
|
if ((intf->fd6 = socket(AF_INET6, SOCK_DGRAM, 0)) < 0) {
|
||||||
broadcast/network IPs can be investigated.
|
# ifdef EPROTONOSUPPORT
|
||||||
|
@@ -472,6 +476,7 @@
|
||||||
o Update _match_intf_src so that it checks interface aliases for the
|
_intf_get_aliases(intf_t *intf, struct intf_entry *entry)
|
||||||
given source address rather than only the main interface address.
|
{
|
||||||
|
struct ifreq *ifr, *lifr;
|
||||||
diff -Nruw old/src/intf.c nmap-3.83.new/src/intf.c
|
+ struct ifreq tmpifr;
|
||||||
--- src/intf.c 2005-05-03 09:41:35.000000000 -0700
|
struct addr *ap, *lap;
|
||||||
+++ src/intf.c 2005-07-16 20:55:05.000000000 -0700
|
char *p;
|
||||||
@@ -119,12 +119,16 @@
|
|
||||||
intf_open(void)
|
@@ -492,9 +497,12 @@
|
||||||
{
|
if ((p = strchr(ifr->ifr_name, ':')) != NULL)
|
||||||
intf_t *intf;
|
*p = '\0';
|
||||||
+ int one = 1;
|
|
||||||
|
- if (strcmp(ifr->ifr_name, entry->intf_name) != 0)
|
||||||
if ((intf = calloc(1, sizeof(*intf))) != NULL) {
|
+ if (strcmp(ifr->ifr_name, entry->intf_name) != 0) {
|
||||||
intf->fd = intf->fd6 = -1;
|
+ if (p) *p = ':';
|
||||||
|
continue;
|
||||||
if ((intf->fd = socket(AF_INET, SOCK_DGRAM, 0)) < 0)
|
+ }
|
||||||
return (intf_close(intf));
|
|
||||||
+
|
+ if (p) *p = ':'; /* Fix the name back up */
|
||||||
+ setsockopt(intf->fd, SOL_SOCKET, SO_BROADCAST,
|
if (addr_ston(&ifr->ifr_addr, ap) < 0)
|
||||||
+ (const char *) &one, sizeof(one));
|
continue;
|
||||||
#ifdef SIOCGIFNETMASK_IN6
|
|
||||||
if ((intf->fd6 = socket(AF_INET6, SOCK_DGRAM, 0)) < 0) {
|
@@ -506,6 +514,11 @@
|
||||||
# ifdef EPROTONOSUPPORT
|
if (ap->addr_ip == entry->intf_addr.addr_ip ||
|
||||||
@@ -472,6 +476,7 @@
|
ap->addr_ip == entry->intf_dst_addr.addr_ip)
|
||||||
_intf_get_aliases(intf_t *intf, struct intf_entry *entry)
|
continue;
|
||||||
{
|
+ strlcpy(tmpifr.ifr_name, ifr->ifr_name,
|
||||||
struct ifreq *ifr, *lifr;
|
+ sizeof(tmpifr.ifr_name));
|
||||||
+ struct ifreq tmpifr;
|
+ if (ioctl(intf->fd, SIOCGIFNETMASK, &tmpifr) == 0)
|
||||||
struct addr *ap, *lap;
|
+ addr_stob(&tmpifr.ifr_addr, &ap->addr_bits);
|
||||||
char *p;
|
+
|
||||||
|
}
|
||||||
@@ -492,9 +497,12 @@
|
#ifdef SIOCGIFNETMASK_IN6
|
||||||
if ((p = strchr(ifr->ifr_name, ':')) != NULL)
|
else if (ap->addr_type == ADDR_TYPE_IP6 && intf->fd6 != -1) {
|
||||||
*p = '\0';
|
@@ -547,10 +560,22 @@
|
||||||
|
static int
|
||||||
- if (strcmp(ifr->ifr_name, entry->intf_name) != 0)
|
_match_intf_src(const struct intf_entry *entry, void *arg)
|
||||||
+ if (strcmp(ifr->ifr_name, entry->intf_name) != 0) {
|
{
|
||||||
+ if (p) *p = ':';
|
+ int matched = 0;
|
||||||
continue;
|
+ int cnt;
|
||||||
+ }
|
struct intf_entry *save = (struct intf_entry *)arg;
|
||||||
|
|
||||||
+ if (p) *p = ':'; /* Fix the name back up */
|
if (entry->intf_addr.addr_type == ADDR_TYPE_IP &&
|
||||||
if (addr_ston(&ifr->ifr_addr, ap) < 0)
|
- entry->intf_addr.addr_ip == save->intf_addr.addr_ip) {
|
||||||
continue;
|
+ entry->intf_addr.addr_ip == save->intf_addr.addr_ip)
|
||||||
|
+ matched = 1;
|
||||||
@@ -506,6 +514,11 @@
|
+
|
||||||
if (ap->addr_ip == entry->intf_addr.addr_ip ||
|
+ for (cnt = 0; !matched && cnt < (int) entry->intf_alias_num; cnt++) {
|
||||||
ap->addr_ip == entry->intf_dst_addr.addr_ip)
|
+ if (entry->intf_alias_addrs[cnt].addr_type != ADDR_TYPE_IP)
|
||||||
continue;
|
+ continue;
|
||||||
+ strlcpy(tmpifr.ifr_name, ifr->ifr_name,
|
+ if (entry->intf_alias_addrs[cnt].addr_ip == save->intf_addr.addr_ip)
|
||||||
+ sizeof(tmpifr.ifr_name));
|
+ matched = 1;
|
||||||
+ if (ioctl(intf->fd, SIOCGIFNETMASK, &tmpifr) == 0)
|
+ }
|
||||||
+ addr_stob(&tmpifr.ifr_addr, &ap->addr_bits);
|
+
|
||||||
+
|
+ if (matched) {
|
||||||
}
|
/* XXX - truncated result if entry is too small. */
|
||||||
#ifdef SIOCGIFNETMASK_IN6
|
if (save->intf_len < entry->intf_len)
|
||||||
else if (ap->addr_type == ADDR_TYPE_IP6 && intf->fd6 != -1) {
|
memcpy(save, entry, save->intf_len);
|
||||||
@@ -547,10 +560,22 @@
|
@@ -678,14 +703,18 @@
|
||||||
static int
|
if ((p = strchr(ifr->ifr_name, ':')) != NULL)
|
||||||
_match_intf_src(const struct intf_entry *entry, void *arg)
|
*p = '\0';
|
||||||
{
|
|
||||||
+ int matched = 0;
|
- if (pifr != NULL && strcmp(ifr->ifr_name, pifr->ifr_name) == 0)
|
||||||
+ int cnt;
|
+ if (pifr != NULL && strcmp(ifr->ifr_name, pifr->ifr_name) == 0) {
|
||||||
struct intf_entry *save = (struct intf_entry *)arg;
|
+ if (p) *p = ':';
|
||||||
|
continue;
|
||||||
if (entry->intf_addr.addr_type == ADDR_TYPE_IP &&
|
+ }
|
||||||
- entry->intf_addr.addr_ip == save->intf_addr.addr_ip) {
|
|
||||||
+ entry->intf_addr.addr_ip == save->intf_addr.addr_ip)
|
memset(ebuf, 0, sizeof(ebuf));
|
||||||
+ matched = 1;
|
strlcpy(entry->intf_name, ifr->ifr_name,
|
||||||
+
|
sizeof(entry->intf_name));
|
||||||
+ for (cnt = 0; !matched && cnt < (int) entry->intf_alias_num; cnt++) {
|
entry->intf_len = sizeof(ebuf);
|
||||||
+ if (entry->intf_alias_addrs[cnt].addr_type != ADDR_TYPE_IP)
|
|
||||||
+ continue;
|
+ /* Repair the alias name back up. */
|
||||||
+ if (entry->intf_alias_addrs[cnt].addr_ip == save->intf_addr.addr_ip)
|
+ if (p) *p = ':';
|
||||||
+ matched = 1;
|
if (_intf_get_noalias(intf, entry) < 0)
|
||||||
+ }
|
return (-1);
|
||||||
+
|
if (_intf_get_aliases(intf, entry) < 0)
|
||||||
+ if (matched) {
|
|
||||||
/* XXX - truncated result if entry is too small. */
|
|
||||||
if (save->intf_len < entry->intf_len)
|
|
||||||
memcpy(save, entry, save->intf_len);
|
o Made some AIX/HP-UX portability changes sent in by Peter O'Gorman
|
||||||
@@ -678,14 +703,18 @@
|
(nmap-dev@mlists.thewrittenword.com):
|
||||||
if ((p = strchr(ifr->ifr_name, ':')) != NULL)
|
|
||||||
*p = '\0';
|
|
||||||
|
Index: include/dnet/ip6.h
|
||||||
- if (pifr != NULL && strcmp(ifr->ifr_name, pifr->ifr_name) == 0)
|
===================================================================
|
||||||
+ if (pifr != NULL && strcmp(ifr->ifr_name, pifr->ifr_name) == 0) {
|
--- include/dnet/ip6.h (revision 3309)
|
||||||
+ if (p) *p = ':';
|
+++ include/dnet/ip6.h (working copy)
|
||||||
continue;
|
@@ -25,7 +25,9 @@
|
||||||
+ }
|
} ip6_addr_t;
|
||||||
|
|
||||||
memset(ebuf, 0, sizeof(ebuf));
|
#ifndef __GNUC__
|
||||||
strlcpy(entry->intf_name, ifr->ifr_name,
|
+#ifndef __attribute__
|
||||||
sizeof(entry->intf_name));
|
# define __attribute__(x)
|
||||||
entry->intf_len = sizeof(ebuf);
|
+#endif
|
||||||
|
# pragma pack(1)
|
||||||
+ /* Repair the alias name back up. */
|
#endif
|
||||||
+ if (p) *p = ':';
|
|
||||||
if (_intf_get_noalias(intf, entry) < 0)
|
Index: include/dnet/ip.h
|
||||||
return (-1);
|
===================================================================
|
||||||
if (_intf_get_aliases(intf, entry) < 0)
|
--- include/dnet/ip.h (revision 3309)
|
||||||
|
+++ include/dnet/ip.h (working copy)
|
||||||
|
@@ -25,7 +25,9 @@
|
||||||
|
typedef uint32_t ip_addr_t;
|
||||||
o Consider Windows interfaces to be down if they are disconnected, unreachable, or otherwise non-operational:
|
|
||||||
|
#ifndef __GNUC__
|
||||||
--- intf-win32.c (revision 2976)
|
+#ifndef __attribute__
|
||||||
+++ intf-win32.c (working copy)
|
# define __attribute__(x)
|
||||||
@@ -116,7 +116,9 @@
|
+#endif
|
||||||
|
# pragma pack(1)
|
||||||
/* Get interface flags. */
|
#endif
|
||||||
entry->intf_flags = 0;
|
|
||||||
- if (ifrow->dwAdminStatus == MIB_IF_ADMIN_STATUS_UP)
|
Index: include/dnet/arp.h
|
||||||
+ if (ifrow->dwAdminStatus == MIB_IF_ADMIN_STATUS_UP &&
|
===================================================================
|
||||||
+ (ifrow->dwOperStatus == MIB_IF_OPER_STATUS_OPERATIONAL ||
|
--- include/dnet/arp.h (revision 3309)
|
||||||
+ ifrow->dwOperStatus == MIB_IF_OPER_STATUS_CONNECTED))
|
+++ include/dnet/arp.h (working copy)
|
||||||
entry->intf_flags |= INTF_FLAG_UP;
|
@@ -16,7 +16,9 @@
|
||||||
if (ifrow->dwType == MIB_IF_TYPE_LOOPBACK)
|
#define ARP_ETHIP_LEN 20 /* base ARP message length */
|
||||||
entry->intf_flags |= INTF_FLAG_LOOPBACK;
|
|
||||||
|
#ifndef __GNUC__
|
||||||
o Made some AIX/HP-UX portability changes sent in by Peter O'Gorman
|
+#ifndef __attribute__
|
||||||
(nmap-dev@mlists.thewrittenword.com):
|
# define __attribute__(x)
|
||||||
|
+#endif
|
||||||
|
# pragma pack(1)
|
||||||
Index: include/dnet/ip6.h
|
#endif
|
||||||
===================================================================
|
|
||||||
--- include/dnet/ip6.h (revision 3309)
|
Index: include/dnet/tcp.h
|
||||||
+++ include/dnet/ip6.h (working copy)
|
===================================================================
|
||||||
@@ -25,7 +25,9 @@
|
--- include/dnet/tcp.h (revision 3309)
|
||||||
} ip6_addr_t;
|
+++ include/dnet/tcp.h (working copy)
|
||||||
|
@@ -17,7 +17,9 @@
|
||||||
#ifndef __GNUC__
|
#define TCP_HDR_LEN_MAX (TCP_HDR_LEN + TCP_OPT_LEN_MAX)
|
||||||
+#ifndef __attribute__
|
|
||||||
# define __attribute__(x)
|
#ifndef __GNUC__
|
||||||
+#endif
|
+#ifndef __attribute__
|
||||||
# pragma pack(1)
|
# define __attribute__(x)
|
||||||
#endif
|
+#endif
|
||||||
|
# pragma pack(1)
|
||||||
Index: include/dnet/ip.h
|
#endif
|
||||||
===================================================================
|
|
||||||
--- include/dnet/ip.h (revision 3309)
|
Index: include/dnet/icmp.h
|
||||||
+++ include/dnet/ip.h (working copy)
|
===================================================================
|
||||||
@@ -25,7 +25,9 @@
|
--- include/dnet/icmp.h (revision 3309)
|
||||||
typedef uint32_t ip_addr_t;
|
+++ include/dnet/icmp.h (working copy)
|
||||||
|
@@ -16,7 +16,9 @@
|
||||||
#ifndef __GNUC__
|
#define ICMP_LEN_MIN 8 /* minimum ICMP message size, with header */
|
||||||
+#ifndef __attribute__
|
|
||||||
# define __attribute__(x)
|
#ifndef __GNUC__
|
||||||
+#endif
|
+#ifndef __attribute__
|
||||||
# pragma pack(1)
|
# define __attribute__(x)
|
||||||
#endif
|
+#endif
|
||||||
|
# pragma pack(1)
|
||||||
Index: include/dnet/arp.h
|
#endif
|
||||||
===================================================================
|
|
||||||
--- include/dnet/arp.h (revision 3309)
|
Index: src/arp-ioctl.c
|
||||||
+++ include/dnet/arp.h (working copy)
|
===================================================================
|
||||||
@@ -16,7 +16,9 @@
|
--- src/arp-ioctl.c (revision 3309)
|
||||||
#define ARP_ETHIP_LEN 20 /* base ARP message length */
|
+++ src/arp-ioctl.c (working copy)
|
||||||
|
@@ -383,7 +383,7 @@
|
||||||
#ifndef __GNUC__
|
}
|
||||||
+#ifndef __attribute__
|
return (ret);
|
||||||
# define __attribute__(x)
|
}
|
||||||
+#endif
|
-#elif defined(HAVE_NET_RADIX_H)
|
||||||
# pragma pack(1)
|
+#elif defined(HAVE_NET_RADIX_H) && !defined(_AIX)
|
||||||
#endif
|
/* XXX - Tru64, others? */
|
||||||
|
#include <netinet/if_ether.h>
|
||||||
Index: include/dnet/tcp.h
|
#include <nlist.h>
|
||||||
===================================================================
|
Index: src/intf.c
|
||||||
--- include/dnet/tcp.h (revision 3309)
|
===================================================================
|
||||||
+++ include/dnet/tcp.h (working copy)
|
--- src/intf.c (revision 3309)
|
||||||
@@ -17,7 +17,9 @@
|
+++ src/intf.c (working copy)
|
||||||
#define TCP_HDR_LEN_MAX (TCP_HDR_LEN + TCP_OPT_LEN_MAX)
|
@@ -284,7 +284,9 @@
|
||||||
|
/* Set interface MTU. */
|
||||||
#ifndef __GNUC__
|
if (entry->intf_mtu != 0) {
|
||||||
+#ifndef __attribute__
|
ifr.ifr_mtu = entry->intf_mtu;
|
||||||
# define __attribute__(x)
|
+#ifdef SIOCSIFMTU
|
||||||
+#endif
|
if (ioctl(intf->fd, SIOCSIFMTU, &ifr) < 0)
|
||||||
# pragma pack(1)
|
+#endif
|
||||||
#endif
|
return (-1);
|
||||||
|
}
|
||||||
Index: include/dnet/icmp.h
|
/* Set interface address. */
|
||||||
===================================================================
|
@@ -396,7 +398,9 @@
|
||||||
--- include/dnet/icmp.h (revision 3309)
|
_intf_set_type(entry);
|
||||||
+++ include/dnet/icmp.h (working copy)
|
|
||||||
@@ -16,7 +16,9 @@
|
/* Get interface MTU. */
|
||||||
#define ICMP_LEN_MIN 8 /* minimum ICMP message size, with header */
|
+#ifdef SIOCGIFMTU
|
||||||
|
if (ioctl(intf->fd, SIOCGIFMTU, &ifr) < 0)
|
||||||
#ifndef __GNUC__
|
+#endif
|
||||||
+#ifndef __attribute__
|
return (-1);
|
||||||
# define __attribute__(x)
|
entry->intf_mtu = ifr.ifr_mtu;
|
||||||
+#endif
|
|
||||||
# pragma pack(1)
|
o Made the following change for Windows Vista support (thanks to Dan
|
||||||
#endif
|
Griffin):
|
||||||
|
--- old/intf-win32.c 2005-12-28 16:30:38.000000000 -0800
|
||||||
Index: src/arp-ioctl.c
|
+++ intf-win32.c 2006-11-26 20:46:13.000000000 -0800
|
||||||
===================================================================
|
@@ -31,7 +31,7 @@
|
||||||
--- src/arp-ioctl.c (revision 3309)
|
int max;
|
||||||
+++ src/arp-ioctl.c (working copy)
|
};
|
||||||
@@ -383,7 +383,7 @@
|
|
||||||
}
|
-#define MIB_IF_TYPE_MAX 32 /* XXX - ipifcons.h */
|
||||||
return (ret);
|
+#define MIB_IF_TYPE_MAX MAX_IF_TYPE /* XXX - ipifcons.h */
|
||||||
}
|
|
||||||
-#elif defined(HAVE_NET_RADIX_H)
|
struct intf_handle {
|
||||||
+#elif defined(HAVE_NET_RADIX_H) && !defined(_AIX)
|
struct ifcombo ifcombo[MIB_IF_TYPE_MAX];
|
||||||
/* XXX - Tru64, others? */
|
|
||||||
#include <netinet/if_ether.h>
|
o Fix a compiler "may be used unitialized" warning:
|
||||||
#include <nlist.h>
|
Index: addr-util.c
|
||||||
Index: src/intf.c
|
===================================================================
|
||||||
===================================================================
|
--- addr-util.c (revision 3855)
|
||||||
--- src/intf.c (revision 3309)
|
+++ addr-util.c (working copy)
|
||||||
+++ src/intf.c (working copy)
|
@@ -177,6 +177,8 @@
|
||||||
@@ -284,7 +284,9 @@
|
struct { int base, len; } best, cur;
|
||||||
/* Set interface MTU. */
|
char *p = dst;
|
||||||
if (entry->intf_mtu != 0) {
|
int i;
|
||||||
ifr.ifr_mtu = entry->intf_mtu;
|
+
|
||||||
+#ifdef SIOCSIFMTU
|
+ cur.len = best.len = 0;
|
||||||
if (ioctl(intf->fd, SIOCSIFMTU, &ifr) < 0)
|
|
||||||
+#endif
|
if (len < 46)
|
||||||
return (-1);
|
return (NULL);
|
||||||
}
|
|
||||||
/* Set interface address. */
|
o Removed config.sub, config.guess, install-sh, ltmain.sh, and missing from the
|
||||||
@@ -396,7 +398,9 @@
|
config directory. These files are found in the parent (i.e., Nmap's)
|
||||||
_intf_set_type(entry);
|
directory. Also removed config/mkinstalldirs because it is replaced with
|
||||||
|
$(install_sh) -d. Change Makefile.am not to use ac_aux_dir, which is an
|
||||||
/* Get interface MTU. */
|
internal Autoconf variable.
|
||||||
+#ifdef SIOCGIFMTU
|
Index: configure.in
|
||||||
if (ioctl(intf->fd, SIOCGIFMTU, &ifr) < 0)
|
===================================================================
|
||||||
+#endif
|
--- configure.in (revision 6317)
|
||||||
return (-1);
|
+++ configure.in (working copy)
|
||||||
entry->intf_mtu = ifr.ifr_mtu;
|
@@ -6,8 +6,6 @@
|
||||||
|
dnl $Id$
|
||||||
o Made the following change for Windows Vista support (thanks to Dan
|
|
||||||
Griffin):
|
AC_INIT(include/dnet.h)
|
||||||
--- old/intf-win32.c 2005-12-28 16:30:38.000000000 -0800
|
-AC_CONFIG_AUX_DIR(config)
|
||||||
+++ intf-win32.c 2006-11-26 20:46:13.000000000 -0800
|
-AC_SUBST(ac_aux_dir)
|
||||||
@@ -31,7 +31,7 @@
|
|
||||||
int max;
|
AM_INIT_AUTOMAKE(libdnet, 1.10)
|
||||||
};
|
AM_CONFIG_HEADER(include/config.h)
|
||||||
|
Index: Makefile.am
|
||||||
-#define MIB_IF_TYPE_MAX 32 /* XXX - ipifcons.h */
|
===================================================================
|
||||||
+#define MIB_IF_TYPE_MAX MAX_IF_TYPE /* XXX - ipifcons.h */
|
--- Makefile.am (revision 6317)
|
||||||
|
+++ Makefile.am (working copy)
|
||||||
struct intf_handle {
|
@@ -10,16 +10,12 @@
|
||||||
struct ifcombo ifcombo[MIB_IF_TYPE_MAX];
|
|
||||||
|
CLEANFILES = dnet-config
|
||||||
o Fix a compiler "may be used unitialized" warning:
|
|
||||||
Index: addr-util.c
|
-AUX_DIST = $(ac_aux_dir)/acinclude.m4 \
|
||||||
===================================================================
|
- $(ac_aux_dir)/config.guess \
|
||||||
--- addr-util.c (revision 3855)
|
- $(ac_aux_dir)/config.sub \
|
||||||
+++ addr-util.c (working copy)
|
- $(ac_aux_dir)/install-sh \
|
||||||
@@ -177,6 +177,8 @@
|
- $(ac_aux_dir)/ltmain.sh \
|
||||||
struct { int base, len; } best, cur;
|
- $(ac_aux_dir)/missing \
|
||||||
char *p = dst;
|
- $(ac_aux_dir)/mkinstalldirs
|
||||||
int i;
|
+aux_dir = config
|
||||||
+
|
|
||||||
+ cur.len = best.len = 0;
|
+AUX_DIST = $(aux_dir)/acinclude.m4
|
||||||
|
+
|
||||||
if (len < 46)
|
dist-hook:
|
||||||
return (NULL);
|
- (cd $(distdir) && mkdir $(ac_aux_dir))
|
||||||
|
+ (cd $(distdir) && mkdir $(aux_dir))
|
||||||
o Removed config.sub, config.guess, install-sh, ltmain.sh, and missing from the
|
for file in $(AUX_DIST); do \
|
||||||
config directory. These files are found in the parent (i.e., Nmap's)
|
cp $$file $(distdir)/$$file; \
|
||||||
directory. Also removed config/mkinstalldirs because it is replaced with
|
done
|
||||||
$(install_sh) -d. Change Makefile.am not to use ac_aux_dir, which is an
|
|
||||||
internal Autoconf variable.
|
o Remember the entry->intf_len before zeroing entry in _ifrow_to_entry.
|
||||||
Index: configure.in
|
intf_loop relies on passing the length inside the structure to make sure
|
||||||
===================================================================
|
interface aliases are accounted for.
|
||||||
--- configure.in (revision 6317)
|
Index: src/intf-win32.c
|
||||||
+++ configure.in (working copy)
|
===================================================================
|
||||||
@@ -6,8 +6,6 @@
|
--- src/intf-win32.c (revision 6288)
|
||||||
dnl $Id$
|
+++ src/intf-win32.c (working copy)
|
||||||
|
@@ -103,7 +103,12 @@
|
||||||
AC_INIT(include/dnet.h)
|
struct addr *ap, *lap;
|
||||||
-AC_CONFIG_AUX_DIR(config)
|
int i;
|
||||||
-AC_SUBST(ac_aux_dir)
|
|
||||||
|
+ /* The total length of the entry may be passed in inside entry.
|
||||||
AM_INIT_AUTOMAKE(libdnet, 1.10)
|
+ Remember it and clear the entry. */
|
||||||
AM_CONFIG_HEADER(include/config.h)
|
+ u_int intf_len = entry->intf_len;
|
||||||
Index: Makefile.am
|
memset(entry, 0, sizeof(*entry));
|
||||||
===================================================================
|
+ /* Restore the length. */
|
||||||
--- Makefile.am (revision 6317)
|
+ entry->intf_len = intf_len;
|
||||||
+++ Makefile.am (working copy)
|
|
||||||
@@ -10,16 +10,12 @@
|
for (i = 0; i < intf->ifcombo[ifrow->dwType].cnt; i++) {
|
||||||
|
if (intf->ifcombo[ifrow->dwType].idx[i] == ifrow->dwIndex)
|
||||||
CLEANFILES = dnet-config
|
|
||||||
|
o Forced interface type numbers to be canonicalized to internal numbers to
|
||||||
-AUX_DIST = $(ac_aux_dir)/acinclude.m4 \
|
avoid accessing uninitialized memory when an unknown device name is
|
||||||
- $(ac_aux_dir)/config.guess \
|
given.
|
||||||
- $(ac_aux_dir)/config.sub \
|
Index: libdnet-stripped/src/intf-win32.c
|
||||||
- $(ac_aux_dir)/install-sh \
|
===================================================================
|
||||||
- $(ac_aux_dir)/ltmain.sh \
|
--- libdnet-stripped/src/intf-win32.c (revision 6413)
|
||||||
- $(ac_aux_dir)/missing \
|
+++ libdnet-stripped/src/intf-win32.c (working copy)
|
||||||
- $(ac_aux_dir)/mkinstalldirs
|
@@ -42,9 +42,12 @@
|
||||||
+aux_dir = config
|
|
||||||
|
|
||||||
+AUX_DIST = $(aux_dir)/acinclude.m4
|
|
||||||
+
|
|
||||||
dist-hook:
|
|
||||||
- (cd $(distdir) && mkdir $(ac_aux_dir))
|
|
||||||
+ (cd $(distdir) && mkdir $(aux_dir))
|
|
||||||
for file in $(AUX_DIST); do \
|
|
||||||
cp $$file $(distdir)/$$file; \
|
|
||||||
done
|
|
||||||
|
|
||||||
o Remember the entry->intf_len before zeroing entry in _ifrow_to_entry.
|
|
||||||
intf_loop relies on passing the length inside the structure to make sure
|
|
||||||
interface aliases are accounted for.
|
|
||||||
Index: src/intf-win32.c
|
|
||||||
===================================================================
|
|
||||||
--- src/intf-win32.c (revision 6288)
|
|
||||||
+++ src/intf-win32.c (working copy)
|
|
||||||
@@ -103,7 +103,12 @@
|
|
||||||
struct addr *ap, *lap;
|
|
||||||
int i;
|
|
||||||
|
|
||||||
+ /* The total length of the entry may be passed in inside entry.
|
|
||||||
+ Remember it and clear the entry. */
|
|
||||||
+ u_int intf_len = entry->intf_len;
|
|
||||||
memset(entry, 0, sizeof(*entry));
|
|
||||||
+ /* Restore the length. */
|
|
||||||
+ entry->intf_len = intf_len;
|
|
||||||
|
|
||||||
for (i = 0; i < intf->ifcombo[ifrow->dwType].cnt; i++) {
|
|
||||||
if (intf->ifcombo[ifrow->dwType].idx[i] == ifrow->dwIndex)
|
|
||||||
|
|
||||||
o Forced interface type numbers to be canonicalized to internal numbers to
|
|
||||||
avoid accessing uninitialized memory when an unknown device name is
|
|
||||||
given.
|
|
||||||
Index: libdnet-stripped/src/intf-win32.c
|
|
||||||
===================================================================
|
|
||||||
--- libdnet-stripped/src/intf-win32.c (revision 6413)
|
|
||||||
+++ libdnet-stripped/src/intf-win32.c (working copy)
|
|
||||||
@@ -42,9 +42,12 @@
|
|
||||||
static char *
|
static char *
|
||||||
_ifcombo_name(int type)
|
_ifcombo_name(int type)
|
||||||
{
|
{
|
||||||
@@ -407,7 +367,7 @@ Index: libdnet-stripped/src/intf-win32.c
|
|||||||
name = "eth";
|
name = "eth";
|
||||||
} else if (type == MIB_IF_TYPE_TOKENRING) {
|
} else if (type == MIB_IF_TYPE_TOKENRING) {
|
||||||
name = "tr";
|
name = "tr";
|
||||||
@@ -60,9 +63,12 @@
|
@@ -60,9 +63,12 @@
|
||||||
return (name);
|
return (name);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -420,7 +380,7 @@ Index: libdnet-stripped/src/intf-win32.c
|
|||||||
int type = INTF_TYPE_OTHER;
|
int type = INTF_TYPE_OTHER;
|
||||||
|
|
||||||
if (strncmp(device, "eth", 3) == 0) {
|
if (strncmp(device, "eth", 3) == 0) {
|
||||||
@@ -81,6 +87,20 @@
|
@@ -81,6 +87,20 @@
|
||||||
return (type);
|
return (type);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -441,7 +401,7 @@ Index: libdnet-stripped/src/intf-win32.c
|
|||||||
static void
|
static void
|
||||||
_ifcombo_add(struct ifcombo *ifc, DWORD idx)
|
_ifcombo_add(struct ifcombo *ifc, DWORD idx)
|
||||||
{
|
{
|
||||||
@@ -102,6 +122,7 @@
|
@@ -102,6 +122,7 @@
|
||||||
{
|
{
|
||||||
struct addr *ap, *lap;
|
struct addr *ap, *lap;
|
||||||
int i;
|
int i;
|
||||||
@@ -449,7 +409,7 @@ Index: libdnet-stripped/src/intf-win32.c
|
|||||||
|
|
||||||
/* The total length of the entry may be passed in inside entry.
|
/* The total length of the entry may be passed in inside entry.
|
||||||
Remember it and clear the entry. */
|
Remember it and clear the entry. */
|
||||||
@@ -110,14 +131,15 @@
|
@@ -110,14 +131,15 @@
|
||||||
/* Restore the length. */
|
/* Restore the length. */
|
||||||
entry->intf_len = intf_len;
|
entry->intf_len = intf_len;
|
||||||
|
|
||||||
@@ -470,7 +430,7 @@ Index: libdnet-stripped/src/intf-win32.c
|
|||||||
|
|
||||||
/* Get interface flags. */
|
/* Get interface flags. */
|
||||||
entry->intf_flags = 0;
|
entry->intf_flags = 0;
|
||||||
@@ -201,9 +223,11 @@
|
@@ -201,9 +223,11 @@
|
||||||
* XXX - like IP_ADAPTER_INFO ComboIndex
|
* XXX - like IP_ADAPTER_INFO ComboIndex
|
||||||
*/
|
*/
|
||||||
for (i = 0; i < intf->iftable->dwNumEntries; i++) {
|
for (i = 0; i < intf->iftable->dwNumEntries; i++) {
|
||||||
@@ -484,11 +444,8 @@ Index: libdnet-stripped/src/intf-win32.c
|
|||||||
ifrow->dwIndex);
|
ifrow->dwIndex);
|
||||||
} else
|
} else
|
||||||
return (-1);
|
return (-1);
|
||||||
|
|
||||||
Added eth_get_pcap_devname that matches up a dnet name to its pcap
|
Added eth_get_pcap_devname() that matches up a dnet name to its pcap
|
||||||
equivalent. It starts by matching interfaces IP addresses, then falls
|
equivalent by matching hardwar addresses. It's similar to the code
|
||||||
back to matching hardware addresses. The hardware address matching code
|
used in eth_open()
|
||||||
is adapted from libdnet 1.11.
|
|
||||||
|
|
||||||
Copied include/dnet/os.h from libdnet 1.12 to avoid a duplicate typedef
|
|
||||||
of ssize_t.
|
|
||||||
|
|||||||
@@ -10,4 +10,4 @@ and raw IP packet and Ethernet frame transmission.
|
|||||||
|
|
||||||
WWW: http://libdnet.sourceforge.net/
|
WWW: http://libdnet.sourceforge.net/
|
||||||
|
|
||||||
$Id: README,v 1.2 2005/02/14 21:00:17 dugsong Exp $
|
$Id: README 578 2005-02-14 21:00:17Z dugsong $
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# $Id: THANKS,v 1.10 2005/02/17 02:58:11 dugsong Exp $
|
# $Id: THANKS 596 2005-02-17 02:58:11Z dugsong $
|
||||||
|
|
||||||
many thanks to all the folks who have contributed to libdnet:
|
many thanks to all the folks who have contributed to libdnet:
|
||||||
|
|
||||||
|
|||||||
@@ -76,4 +76,4 @@ need reliable, legit HP-UX, Unixware, and AIX accounts with root
|
|||||||
access to finish the ports to those platforms. i'd be happy to port to
|
access to finish the ports to those platforms. i'd be happy to port to
|
||||||
other platforms also, given similar (temporary) access.
|
other platforms also, given similar (temporary) access.
|
||||||
|
|
||||||
$Id: TODO,v 1.25 2005/02/14 21:56:59 dugsong Exp $
|
$Id: TODO 582 2005-02-14 21:56:59Z dugsong $
|
||||||
|
|||||||
2742
libdnet-stripped/aclocal.m4
vendored
2742
libdnet-stripped/aclocal.m4
vendored
File diff suppressed because it is too large
Load Diff
@@ -229,7 +229,7 @@ AC_DEFUN(AC_DNET_RAWIP_HOST_OFFLEN,
|
|||||||
case "$host_os" in
|
case "$host_os" in
|
||||||
*openbsd*)
|
*openbsd*)
|
||||||
ac_cv_dnet_rawip_host_offlen=no ;;
|
ac_cv_dnet_rawip_host_offlen=no ;;
|
||||||
*bsd*|*osf*|*unixware*)
|
*bsd*|*darwin*|*osf*|*unixware*)
|
||||||
ac_cv_dnet_rawip_host_offlen=yes ;;
|
ac_cv_dnet_rawip_host_offlen=yes ;;
|
||||||
*)
|
*)
|
||||||
ac_cv_dnet_rawip_host_offlen=no ;;
|
ac_cv_dnet_rawip_host_offlen=no ;;
|
||||||
|
|||||||
6423
libdnet-stripped/configure
vendored
6423
libdnet-stripped/configure
vendored
File diff suppressed because it is too large
Load Diff
@@ -3,11 +3,11 @@ dnl configure.in
|
|||||||
dnl
|
dnl
|
||||||
dnl Copyright (c) 2000 Dug Song <dugsong@monkey.org>
|
dnl Copyright (c) 2000 Dug Song <dugsong@monkey.org>
|
||||||
dnl
|
dnl
|
||||||
dnl $Id: configure.in,v 1.64 2005/02/25 23:05:09 dugsong Exp $
|
dnl $Id: configure.in 638 2007-01-20 11:39:21Z dugsong $
|
||||||
|
|
||||||
AC_INIT(include/dnet.h)
|
AC_INIT(include/dnet.h)
|
||||||
|
|
||||||
AM_INIT_AUTOMAKE(libdnet, 1.10)
|
AM_INIT_AUTOMAKE(libdnet, 1.12)
|
||||||
AM_CONFIG_HEADER(include/config.h)
|
AM_CONFIG_HEADER(include/config.h)
|
||||||
|
|
||||||
dnl XXX - stop the insanity!@#$
|
dnl XXX - stop the insanity!@#$
|
||||||
@@ -17,6 +17,11 @@ dnl Check for system type.
|
|||||||
dnl XXX - we do this to qualify our later feature checks, since some
|
dnl XXX - we do this to qualify our later feature checks, since some
|
||||||
dnl systems claim to support multiple features, but are quite b0rked.
|
dnl systems claim to support multiple features, but are quite b0rked.
|
||||||
AC_CANONICAL_HOST
|
AC_CANONICAL_HOST
|
||||||
|
dnl XXX - spoof AC_CYGWIN
|
||||||
|
case "$host_os" in
|
||||||
|
*cygwin*) CYGWIN=yes;;
|
||||||
|
*) CYGWIN=no;;
|
||||||
|
esac
|
||||||
|
|
||||||
dnl Initialize prefix.
|
dnl Initialize prefix.
|
||||||
if test "$prefix" = "NONE"; then
|
if test "$prefix" = "NONE"; then
|
||||||
@@ -69,7 +74,6 @@ if test -r /usr/include/sgidefs.h ; then
|
|||||||
CPPFLAGS="$CPPFLAGS -D__sgi"
|
CPPFLAGS="$CPPFLAGS -D__sgi"
|
||||||
fi
|
fi
|
||||||
dnl XXX - we need MingW32 under Cygwin for win32
|
dnl XXX - we need MingW32 under Cygwin for win32
|
||||||
AC_CYGWIN
|
|
||||||
if test "$CYGWIN" = yes ; then
|
if test "$CYGWIN" = yes ; then
|
||||||
if test -d /usr/include/mingw ; then
|
if test -d /usr/include/mingw ; then
|
||||||
CPPFLAGS="$CPPFLAGS -mno-cygwin"
|
CPPFLAGS="$CPPFLAGS -mno-cygwin"
|
||||||
@@ -238,8 +242,6 @@ else
|
|||||||
AC_LIBOBJ([eth-none])
|
AC_LIBOBJ([eth-none])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
dnl Using fw-none since Nmap doesn't need any of the firewall-related rules
|
|
||||||
dnl --Fyodor
|
|
||||||
AC_LIBOBJ([fw-none])
|
AC_LIBOBJ([fw-none])
|
||||||
|
|
||||||
dnl Check for network interface interface.
|
dnl Check for network interface interface.
|
||||||
@@ -276,27 +278,16 @@ if test "$ac_cv_header_linux_if_tun_h" = yes ; then
|
|||||||
AC_LIBOBJ([tun-linux])
|
AC_LIBOBJ([tun-linux])
|
||||||
elif test "$ac_cv_header_net_if_tun_h" = yes ; then
|
elif test "$ac_cv_header_net_if_tun_h" = yes ; then
|
||||||
if test "$ac_cv_header_stropts_h" = yes ; then
|
if test "$ac_cv_header_stropts_h" = yes ; then
|
||||||
case "$host_os" in
|
AC_LIBOBJ([tun-solaris])
|
||||||
*kfreebsd* | *dragonfly*)
|
|
||||||
AC_LIBOBJ([tun-bsd]);;
|
|
||||||
*)
|
|
||||||
AC_LIBOBJ([tun-solaris]);;
|
|
||||||
esac
|
|
||||||
else
|
else
|
||||||
AC_LIBOBJ([tun-bsd])
|
AC_LIBOBJ([tun-bsd])
|
||||||
fi
|
fi
|
||||||
elif test -f "/dev/tun0" ; then
|
elif test -c "/dev/tun0" ; then
|
||||||
AC_LIBOBJ([tun-bsd])
|
AC_LIBOBJ([tun-bsd])
|
||||||
else
|
else
|
||||||
AC_LIBOBJ([tun-none])
|
AC_LIBOBJ([tun-none])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
dnl Generate LTLIBOBJS for libtool.
|
|
||||||
Xsed="sed -e s/^X//"
|
|
||||||
LTLIBOBJS=`echo X"$LIBOBJS"|\
|
|
||||||
[$Xsed -e "s,\.[^.]* ,.lo ,g;s,\.[^.]*$,.lo,"]`
|
|
||||||
AC_SUBST(LTLIBOBJS)
|
|
||||||
|
|
||||||
AC_OUTPUT([Makefile dnet-config include/Makefile include/dnet/Makefile
|
AC_OUTPUT([Makefile dnet-config include/Makefile include/dnet/Makefile
|
||||||
src/Makefile],
|
src/Makefile],
|
||||||
[chmod 755 dnet-config])
|
[chmod 755 dnet-config])
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
#
|
#
|
||||||
# $Id: dnet-config.in,v 1.1 2001/10/19 01:29:00 dugsong Exp $
|
# $Id: dnet-config.in 91 2001-10-19 01:29:00Z dugsong $
|
||||||
|
|
||||||
prefix=@prefix@
|
prefix=@prefix@
|
||||||
exec_prefix=@prefix@
|
exec_prefix=@prefix@
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
## $Id: Makefile.am,v 1.2 2002/02/20 19:05:08 dugsong Exp $
|
## $Id: Makefile.am 294 2002-02-20 19:05:08Z dugsong $
|
||||||
|
|
||||||
include $(top_srcdir)/Makefile.am.common
|
include $(top_srcdir)/Makefile.am.common
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
# Makefile.in generated by automake 1.9.2 from Makefile.am.
|
# Makefile.in generated by automake 1.6.3 from Makefile.am.
|
||||||
# @configure_input@
|
# @configure_input@
|
||||||
|
|
||||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
|
||||||
# 2003, 2004 Free Software Foundation, Inc.
|
# Free Software Foundation, Inc.
|
||||||
# This Makefile.in is free software; the Free Software Foundation
|
# This Makefile.in is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
# with or without modifications, as long as this notice is preserved.
|
# with or without modifications, as long as this notice is preserved.
|
||||||
@@ -13,218 +13,126 @@
|
|||||||
# PARTICULAR PURPOSE.
|
# PARTICULAR PURPOSE.
|
||||||
|
|
||||||
@SET_MAKE@
|
@SET_MAKE@
|
||||||
|
SHELL = @SHELL@
|
||||||
|
|
||||||
srcdir = @srcdir@
|
srcdir = @srcdir@
|
||||||
top_srcdir = @top_srcdir@
|
top_srcdir = @top_srcdir@
|
||||||
VPATH = @srcdir@
|
VPATH = @srcdir@
|
||||||
|
prefix = @prefix@
|
||||||
|
exec_prefix = @exec_prefix@
|
||||||
|
|
||||||
|
bindir = @bindir@
|
||||||
|
sbindir = @sbindir@
|
||||||
|
libexecdir = @libexecdir@
|
||||||
|
datadir = @datadir@
|
||||||
|
sysconfdir = @sysconfdir@
|
||||||
|
sharedstatedir = @sharedstatedir@
|
||||||
|
localstatedir = @localstatedir@
|
||||||
|
libdir = @libdir@
|
||||||
|
infodir = @infodir@
|
||||||
|
mandir = @mandir@
|
||||||
|
includedir = @includedir@
|
||||||
|
oldincludedir = /usr/include
|
||||||
pkgdatadir = $(datadir)/@PACKAGE@
|
pkgdatadir = $(datadir)/@PACKAGE@
|
||||||
pkglibdir = $(libdir)/@PACKAGE@
|
pkglibdir = $(libdir)/@PACKAGE@
|
||||||
pkgincludedir = $(includedir)/@PACKAGE@
|
pkgincludedir = $(includedir)/@PACKAGE@
|
||||||
top_builddir = ..
|
top_builddir = ..
|
||||||
|
|
||||||
|
ACLOCAL = @ACLOCAL@
|
||||||
|
AUTOCONF = @AUTOCONF@
|
||||||
|
AUTOMAKE = @AUTOMAKE@
|
||||||
|
AUTOHEADER = @AUTOHEADER@
|
||||||
|
|
||||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||||
INSTALL = @INSTALL@
|
INSTALL = @INSTALL@
|
||||||
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||||
|
INSTALL_DATA = @INSTALL_DATA@
|
||||||
install_sh_DATA = $(install_sh) -c -m 644
|
install_sh_DATA = $(install_sh) -c -m 644
|
||||||
install_sh_PROGRAM = $(install_sh) -c
|
install_sh_PROGRAM = $(install_sh) -c
|
||||||
install_sh_SCRIPT = $(install_sh) -c
|
install_sh_SCRIPT = $(install_sh) -c
|
||||||
|
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||||
INSTALL_HEADER = $(INSTALL_DATA)
|
INSTALL_HEADER = $(INSTALL_DATA)
|
||||||
transform = $(program_transform_name)
|
transform = @program_transform_name@
|
||||||
NORMAL_INSTALL = :
|
NORMAL_INSTALL = :
|
||||||
PRE_INSTALL = :
|
PRE_INSTALL = :
|
||||||
POST_INSTALL = :
|
POST_INSTALL = :
|
||||||
NORMAL_UNINSTALL = :
|
NORMAL_UNINSTALL = :
|
||||||
PRE_UNINSTALL = :
|
PRE_UNINSTALL = :
|
||||||
POST_UNINSTALL = :
|
POST_UNINSTALL = :
|
||||||
build_triplet = @build@
|
host_alias = @host_alias@
|
||||||
host_triplet = @host@
|
host_triplet = @host@
|
||||||
DIST_COMMON = $(include_HEADERS) $(srcdir)/Makefile.am \
|
|
||||||
$(srcdir)/Makefile.in $(srcdir)/config.h.in \
|
EXEEXT = @EXEEXT@
|
||||||
$(top_srcdir)/Makefile.am.common
|
OBJEXT = @OBJEXT@
|
||||||
|
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||||
|
AMTAR = @AMTAR@
|
||||||
|
AR = @AR@
|
||||||
|
AS = @AS@
|
||||||
|
AWK = @AWK@
|
||||||
|
CC = @CC@
|
||||||
|
CHECKINC = @CHECKINC@
|
||||||
|
CHECKLIB = @CHECKLIB@
|
||||||
|
CXX = @CXX@
|
||||||
|
CXXCPP = @CXXCPP@
|
||||||
|
DEPDIR = @DEPDIR@
|
||||||
|
DLLTOOL = @DLLTOOL@
|
||||||
|
ECHO = @ECHO@
|
||||||
|
EGREP = @EGREP@
|
||||||
|
F77 = @F77@
|
||||||
|
GCJ = @GCJ@
|
||||||
|
GCJFLAGS = @GCJFLAGS@
|
||||||
|
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||||
|
LIBTOOL = @LIBTOOL@
|
||||||
|
LN_S = @LN_S@
|
||||||
|
MAINT = @MAINT@
|
||||||
|
OBJDUMP = @OBJDUMP@
|
||||||
|
PACKAGE = @PACKAGE@
|
||||||
|
PYTHON = @PYTHON@
|
||||||
|
RANLIB = @RANLIB@
|
||||||
|
RC = @RC@
|
||||||
|
STRIP = @STRIP@
|
||||||
|
TCLINC = @TCLINC@
|
||||||
|
TCLLIB = @TCLLIB@
|
||||||
|
VERSION = @VERSION@
|
||||||
|
ac_aux_dir = @ac_aux_dir@
|
||||||
|
am__include = @am__include@
|
||||||
|
am__quote = @am__quote@
|
||||||
|
install_sh = @install_sh@
|
||||||
|
|
||||||
|
AUTOMAKE_OPTIONS = foreign no-dependencies
|
||||||
|
|
||||||
|
AM_CPPFLAGS = -I$(top_srcdir)/include
|
||||||
|
|
||||||
|
include_HEADERS = dnet.h
|
||||||
|
|
||||||
|
SUBDIRS = dnet
|
||||||
|
|
||||||
|
EXTRA_DIST = err.h queue.h
|
||||||
subdir = include
|
subdir = include
|
||||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
|
||||||
am__aclocal_m4_deps = $(top_srcdir)/config/acinclude.m4 \
|
|
||||||
$(top_srcdir)/configure.in
|
|
||||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
|
||||||
$(ACLOCAL_M4)
|
|
||||||
mkinstalldirs = $(install_sh) -d
|
|
||||||
CONFIG_HEADER = config.h
|
CONFIG_HEADER = config.h
|
||||||
CONFIG_CLEAN_FILES =
|
CONFIG_CLEAN_FILES =
|
||||||
depcomp =
|
depcomp =
|
||||||
am__depfiles_maybe =
|
am__depfiles_maybe =
|
||||||
SOURCES =
|
|
||||||
DIST_SOURCES =
|
DIST_SOURCES =
|
||||||
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
|
|
||||||
html-recursive info-recursive install-data-recursive \
|
|
||||||
install-exec-recursive install-info-recursive \
|
|
||||||
install-recursive installcheck-recursive installdirs-recursive \
|
|
||||||
pdf-recursive ps-recursive uninstall-info-recursive \
|
|
||||||
uninstall-recursive
|
|
||||||
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
|
|
||||||
am__vpath_adj = case $$p in \
|
|
||||||
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
|
|
||||||
*) f=$$p;; \
|
|
||||||
esac;
|
|
||||||
am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
|
|
||||||
am__installdirs = "$(DESTDIR)$(includedir)"
|
|
||||||
includeHEADERS_INSTALL = $(INSTALL_HEADER)
|
|
||||||
HEADERS = $(include_HEADERS)
|
HEADERS = $(include_HEADERS)
|
||||||
ETAGS = etags
|
|
||||||
CTAGS = ctags
|
|
||||||
|
RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \
|
||||||
|
uninstall-info-recursive all-recursive install-data-recursive \
|
||||||
|
install-exec-recursive installdirs-recursive install-recursive \
|
||||||
|
uninstall-recursive check-recursive installcheck-recursive
|
||||||
|
DIST_COMMON = $(include_HEADERS) Makefile.am Makefile.in config.h.in
|
||||||
DIST_SUBDIRS = $(SUBDIRS)
|
DIST_SUBDIRS = $(SUBDIRS)
|
||||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
|
||||||
ACLOCAL = @ACLOCAL@
|
|
||||||
AMDEP_FALSE = @AMDEP_FALSE@
|
|
||||||
AMDEP_TRUE = @AMDEP_TRUE@
|
|
||||||
AMTAR = @AMTAR@
|
|
||||||
AR = @AR@
|
|
||||||
AUTOCONF = @AUTOCONF@
|
|
||||||
AUTOHEADER = @AUTOHEADER@
|
|
||||||
AUTOMAKE = @AUTOMAKE@
|
|
||||||
AWK = @AWK@
|
|
||||||
CC = @CC@
|
|
||||||
CCDEPMODE = @CCDEPMODE@
|
|
||||||
CFLAGS = @CFLAGS@
|
|
||||||
CHECKINC = @CHECKINC@
|
|
||||||
CHECKLIB = @CHECKLIB@
|
|
||||||
CPP = @CPP@
|
|
||||||
CPPFLAGS = @CPPFLAGS@
|
|
||||||
CXX = @CXX@
|
|
||||||
CXXCPP = @CXXCPP@
|
|
||||||
CXXDEPMODE = @CXXDEPMODE@
|
|
||||||
CXXFLAGS = @CXXFLAGS@
|
|
||||||
CYGPATH_W = @CYGPATH_W@
|
|
||||||
DEFS = @DEFS@
|
|
||||||
DEPDIR = @DEPDIR@
|
|
||||||
ECHO = @ECHO@
|
|
||||||
ECHO_C = @ECHO_C@
|
|
||||||
ECHO_N = @ECHO_N@
|
|
||||||
ECHO_T = @ECHO_T@
|
|
||||||
EGREP = @EGREP@
|
|
||||||
EXEEXT = @EXEEXT@
|
|
||||||
F77 = @F77@
|
|
||||||
FFLAGS = @FFLAGS@
|
|
||||||
GREP = @GREP@
|
|
||||||
HAVE_CHECK_FALSE = @HAVE_CHECK_FALSE@
|
|
||||||
HAVE_CHECK_TRUE = @HAVE_CHECK_TRUE@
|
|
||||||
INSTALL_DATA = @INSTALL_DATA@
|
|
||||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
|
||||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
|
||||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
|
||||||
LDFLAGS = @LDFLAGS@
|
|
||||||
LIBOBJS = @LIBOBJS@
|
|
||||||
LIBS = @LIBS@
|
|
||||||
LIBTOOL = @LIBTOOL@
|
|
||||||
LN_S = @LN_S@
|
|
||||||
LTLIBOBJS = @LTLIBOBJS@
|
|
||||||
MAINT = @MAINT@
|
|
||||||
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
|
|
||||||
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
|
|
||||||
MAKEINFO = @MAKEINFO@
|
|
||||||
OBJEXT = @OBJEXT@
|
|
||||||
PACKAGE = @PACKAGE@
|
|
||||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
|
||||||
PACKAGE_NAME = @PACKAGE_NAME@
|
|
||||||
PACKAGE_STRING = @PACKAGE_STRING@
|
|
||||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
|
||||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
|
||||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
|
||||||
PYTHON = @PYTHON@
|
|
||||||
PYTHON_FALSE = @PYTHON_FALSE@
|
|
||||||
PYTHON_TRUE = @PYTHON_TRUE@
|
|
||||||
RANLIB = @RANLIB@
|
|
||||||
SET_MAKE = @SET_MAKE@
|
|
||||||
SHELL = @SHELL@
|
|
||||||
STRIP = @STRIP@
|
|
||||||
TCLINC = @TCLINC@
|
|
||||||
TCLLIB = @TCLLIB@
|
|
||||||
TCL_FALSE = @TCL_FALSE@
|
|
||||||
TCL_TRUE = @TCL_TRUE@
|
|
||||||
VERSION = @VERSION@
|
|
||||||
ac_ct_CC = @ac_ct_CC@
|
|
||||||
ac_ct_CXX = @ac_ct_CXX@
|
|
||||||
ac_ct_F77 = @ac_ct_F77@
|
|
||||||
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
|
||||||
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
|
|
||||||
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
|
|
||||||
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
|
|
||||||
am__include = @am__include@
|
|
||||||
am__leading_dot = @am__leading_dot@
|
|
||||||
am__quote = @am__quote@
|
|
||||||
am__tar = @am__tar@
|
|
||||||
am__untar = @am__untar@
|
|
||||||
bindir = @bindir@
|
|
||||||
build = @build@
|
|
||||||
build_alias = @build_alias@
|
|
||||||
build_cpu = @build_cpu@
|
|
||||||
build_os = @build_os@
|
|
||||||
build_vendor = @build_vendor@
|
|
||||||
datadir = @datadir@
|
|
||||||
datarootdir = @datarootdir@
|
|
||||||
docdir = @docdir@
|
|
||||||
dvidir = @dvidir@
|
|
||||||
exec_prefix = @exec_prefix@
|
|
||||||
host = @host@
|
|
||||||
host_alias = @host_alias@
|
|
||||||
host_cpu = @host_cpu@
|
|
||||||
host_os = @host_os@
|
|
||||||
host_vendor = @host_vendor@
|
|
||||||
htmldir = @htmldir@
|
|
||||||
includedir = @includedir@
|
|
||||||
infodir = @infodir@
|
|
||||||
install_sh = @install_sh@
|
|
||||||
libdir = @libdir@
|
|
||||||
libexecdir = @libexecdir@
|
|
||||||
localedir = @localedir@
|
|
||||||
localstatedir = @localstatedir@
|
|
||||||
mandir = @mandir@
|
|
||||||
mkdir_p = @mkdir_p@
|
|
||||||
oldincludedir = @oldincludedir@
|
|
||||||
pdfdir = @pdfdir@
|
|
||||||
prefix = @prefix@
|
|
||||||
program_transform_name = @program_transform_name@
|
|
||||||
psdir = @psdir@
|
|
||||||
sbindir = @sbindir@
|
|
||||||
sharedstatedir = @sharedstatedir@
|
|
||||||
sysconfdir = @sysconfdir@
|
|
||||||
target_alias = @target_alias@
|
|
||||||
AUTOMAKE_OPTIONS = foreign no-dependencies
|
|
||||||
INCLUDES = -I$(top_srcdir)/include
|
|
||||||
DISTCLEANFILES = *~
|
|
||||||
include_HEADERS = dnet.h
|
|
||||||
SUBDIRS = dnet
|
|
||||||
EXTRA_DIST = err.h queue.h
|
|
||||||
all: config.h
|
all: config.h
|
||||||
$(MAKE) $(AM_MAKEFLAGS) all-recursive
|
$(MAKE) $(AM_MAKEFLAGS) all-recursive
|
||||||
|
|
||||||
.SUFFIXES:
|
.SUFFIXES:
|
||||||
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/Makefile.am.common $(am__configure_deps)
|
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/Makefile.am.common $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||||
@for dep in $?; do \
|
|
||||||
case '$(am__configure_deps)' in \
|
|
||||||
*$$dep*) \
|
|
||||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
|
|
||||||
&& exit 0; \
|
|
||||||
exit 1;; \
|
|
||||||
esac; \
|
|
||||||
done; \
|
|
||||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign include/Makefile'; \
|
|
||||||
cd $(top_srcdir) && \
|
cd $(top_srcdir) && \
|
||||||
$(AUTOMAKE) --foreign include/Makefile
|
$(AUTOMAKE) --foreign include/Makefile
|
||||||
.PRECIOUS: Makefile
|
Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
|
||||||
@case '$?' in \
|
|
||||||
*config.status*) \
|
|
||||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
|
||||||
*) \
|
|
||||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
|
||||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
|
||||||
esac;
|
|
||||||
|
|
||||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
|
||||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
|
||||||
|
|
||||||
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
|
|
||||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
|
||||||
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
|
|
||||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
|
||||||
|
|
||||||
config.h: stamp-h1
|
config.h: stamp-h1
|
||||||
@if test ! -f $@; then \
|
@if test ! -f $@; then \
|
||||||
@@ -235,10 +143,10 @@ config.h: stamp-h1
|
|||||||
stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
|
stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
|
||||||
@rm -f stamp-h1
|
@rm -f stamp-h1
|
||||||
cd $(top_builddir) && $(SHELL) ./config.status include/config.h
|
cd $(top_builddir) && $(SHELL) ./config.status include/config.h
|
||||||
$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) $(top_srcdir)/acconfig.h
|
|
||||||
|
$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(top_srcdir)/configure.in $(ACLOCAL_M4) $(top_srcdir)/acconfig.h
|
||||||
cd $(top_srcdir) && $(AUTOHEADER)
|
cd $(top_srcdir) && $(AUTOHEADER)
|
||||||
rm -f stamp-h1
|
touch $(srcdir)/config.h.in
|
||||||
touch $@
|
|
||||||
|
|
||||||
distclean-hdr:
|
distclean-hdr:
|
||||||
-rm -f config.h stamp-h1
|
-rm -f config.h stamp-h1
|
||||||
@@ -252,22 +160,23 @@ clean-libtool:
|
|||||||
distclean-libtool:
|
distclean-libtool:
|
||||||
-rm -f libtool
|
-rm -f libtool
|
||||||
uninstall-info-am:
|
uninstall-info-am:
|
||||||
|
includeHEADERS_INSTALL = $(INSTALL_HEADER)
|
||||||
install-includeHEADERS: $(include_HEADERS)
|
install-includeHEADERS: $(include_HEADERS)
|
||||||
@$(NORMAL_INSTALL)
|
@$(NORMAL_INSTALL)
|
||||||
test -z "$(includedir)" || $(mkdir_p) "$(DESTDIR)$(includedir)"
|
$(mkinstalldirs) $(DESTDIR)$(includedir)
|
||||||
@list='$(include_HEADERS)'; for p in $$list; do \
|
@list='$(include_HEADERS)'; for p in $$list; do \
|
||||||
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||||
f=$(am__strip_dir) \
|
f="`echo $$p | sed -e 's|^.*/||'`"; \
|
||||||
echo " $(includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(includedir)/$$f'"; \
|
echo " $(includeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(includedir)/$$f"; \
|
||||||
$(includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(includedir)/$$f"; \
|
$(includeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(includedir)/$$f; \
|
||||||
done
|
done
|
||||||
|
|
||||||
uninstall-includeHEADERS:
|
uninstall-includeHEADERS:
|
||||||
@$(NORMAL_UNINSTALL)
|
@$(NORMAL_UNINSTALL)
|
||||||
@list='$(include_HEADERS)'; for p in $$list; do \
|
@list='$(include_HEADERS)'; for p in $$list; do \
|
||||||
f=$(am__strip_dir) \
|
f="`echo $$p | sed -e 's|^.*/||'`"; \
|
||||||
echo " rm -f '$(DESTDIR)$(includedir)/$$f'"; \
|
echo " rm -f $(DESTDIR)$(includedir)/$$f"; \
|
||||||
rm -f "$(DESTDIR)$(includedir)/$$f"; \
|
rm -f $(DESTDIR)$(includedir)/$$f; \
|
||||||
done
|
done
|
||||||
|
|
||||||
# This directory's subdirectories are mostly independent; you can cd
|
# This directory's subdirectories are mostly independent; you can cd
|
||||||
@@ -324,10 +233,11 @@ tags-recursive:
|
|||||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||||
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
|
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
|
||||||
done
|
done
|
||||||
ctags-recursive:
|
|
||||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
ETAGS = etags
|
||||||
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
|
ETAGSFLAGS =
|
||||||
done
|
|
||||||
|
tags: TAGS
|
||||||
|
|
||||||
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
||||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||||
@@ -337,23 +247,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
|||||||
$(AWK) ' { files[$$0] = 1; } \
|
$(AWK) ' { files[$$0] = 1; } \
|
||||||
END { for (i in files) print i; }'`; \
|
END { for (i in files) print i; }'`; \
|
||||||
mkid -fID $$unique
|
mkid -fID $$unique
|
||||||
tags: TAGS
|
|
||||||
|
|
||||||
TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
|
TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
|
||||||
$(TAGS_FILES) $(LISP)
|
$(TAGS_FILES) $(LISP)
|
||||||
tags=; \
|
tags=; \
|
||||||
here=`pwd`; \
|
here=`pwd`; \
|
||||||
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
|
|
||||||
include_option=--etags-include; \
|
|
||||||
empty_fix=.; \
|
|
||||||
else \
|
|
||||||
include_option=--include; \
|
|
||||||
empty_fix=; \
|
|
||||||
fi; \
|
|
||||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||||
if test "$$subdir" = .; then :; else \
|
if test "$$subdir" = .; then :; else \
|
||||||
test ! -f $$subdir/TAGS || \
|
test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
|
||||||
tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
|
|
||||||
fi; \
|
fi; \
|
||||||
done; \
|
done; \
|
||||||
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
|
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
|
||||||
@@ -362,24 +263,8 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
|
|||||||
done | \
|
done | \
|
||||||
$(AWK) ' { files[$$0] = 1; } \
|
$(AWK) ' { files[$$0] = 1; } \
|
||||||
END { for (i in files) print i; }'`; \
|
END { for (i in files) print i; }'`; \
|
||||||
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|
test -z "$(ETAGS_ARGS)$$tags$$unique" \
|
||||||
test -n "$$unique" || unique=$$empty_fix; \
|
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
|
||||||
$$tags $$unique; \
|
|
||||||
fi
|
|
||||||
ctags: CTAGS
|
|
||||||
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
|
|
||||||
$(TAGS_FILES) $(LISP)
|
|
||||||
tags=; \
|
|
||||||
here=`pwd`; \
|
|
||||||
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
|
|
||||||
unique=`for i in $$list; do \
|
|
||||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
|
||||||
done | \
|
|
||||||
$(AWK) ' { files[$$0] = 1; } \
|
|
||||||
END { for (i in files) print i; }'`; \
|
|
||||||
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|
|
||||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
|
||||||
$$tags $$unique
|
$$tags $$unique
|
||||||
|
|
||||||
GTAGS:
|
GTAGS:
|
||||||
@@ -388,22 +273,19 @@ GTAGS:
|
|||||||
&& gtags -i $(GTAGS_ARGS) $$here
|
&& gtags -i $(GTAGS_ARGS) $$here
|
||||||
|
|
||||||
distclean-tags:
|
distclean-tags:
|
||||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
|
||||||
|
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
|
|
||||||
|
top_distdir = ..
|
||||||
|
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
|
||||||
|
|
||||||
distdir: $(DISTFILES)
|
distdir: $(DISTFILES)
|
||||||
$(mkdir_p) $(distdir)/..
|
@list='$(DISTFILES)'; for file in $$list; do \
|
||||||
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
|
|
||||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
|
|
||||||
list='$(DISTFILES)'; for file in $$list; do \
|
|
||||||
case $$file in \
|
|
||||||
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
|
|
||||||
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
|
|
||||||
esac; \
|
|
||||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||||
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||||
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||||
dir="/$$dir"; \
|
dir="/$$dir"; \
|
||||||
$(mkdir_p) "$(distdir)$$dir"; \
|
$(mkinstalldirs) "$(distdir)$$dir"; \
|
||||||
else \
|
else \
|
||||||
dir=''; \
|
dir=''; \
|
||||||
fi; \
|
fi; \
|
||||||
@@ -418,17 +300,15 @@ distdir: $(DISTFILES)
|
|||||||
|| exit 1; \
|
|| exit 1; \
|
||||||
fi; \
|
fi; \
|
||||||
done
|
done
|
||||||
list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
|
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||||
if test "$$subdir" = .; then :; else \
|
if test "$$subdir" = .; then :; else \
|
||||||
test -d "$(distdir)/$$subdir" \
|
test -d $(distdir)/$$subdir \
|
||||||
|| $(mkdir_p) "$(distdir)/$$subdir" \
|
|| mkdir $(distdir)/$$subdir \
|
||||||
|| exit 1; \
|
|| exit 1; \
|
||||||
distdir=`$(am__cd) $(distdir) && pwd`; \
|
|
||||||
top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
|
|
||||||
(cd $$subdir && \
|
(cd $$subdir && \
|
||||||
$(MAKE) $(AM_MAKEFLAGS) \
|
$(MAKE) $(AM_MAKEFLAGS) \
|
||||||
top_distdir="$$top_distdir" \
|
top_distdir="$(top_distdir)" \
|
||||||
distdir="$$distdir/$$subdir" \
|
distdir=../$(distdir)/$$subdir \
|
||||||
distdir) \
|
distdir) \
|
||||||
|| exit 1; \
|
|| exit 1; \
|
||||||
fi; \
|
fi; \
|
||||||
@@ -438,9 +318,8 @@ check: check-recursive
|
|||||||
all-am: Makefile $(HEADERS) config.h
|
all-am: Makefile $(HEADERS) config.h
|
||||||
installdirs: installdirs-recursive
|
installdirs: installdirs-recursive
|
||||||
installdirs-am:
|
installdirs-am:
|
||||||
for dir in "$(DESTDIR)$(includedir)"; do \
|
$(mkinstalldirs) $(DESTDIR)$(includedir)
|
||||||
test -z "$$dir" || $(mkdir_p) "$$dir"; \
|
|
||||||
done
|
|
||||||
install: install-recursive
|
install: install-recursive
|
||||||
install-exec: install-exec-recursive
|
install-exec: install-exec-recursive
|
||||||
install-data: install-data-recursive
|
install-data: install-data-recursive
|
||||||
@@ -452,7 +331,7 @@ install-am: all-am
|
|||||||
installcheck: installcheck-recursive
|
installcheck: installcheck-recursive
|
||||||
install-strip:
|
install-strip:
|
||||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
INSTALL_STRIP_FLAG=-s \
|
||||||
`test -z '$(STRIP)' || \
|
`test -z '$(STRIP)' || \
|
||||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||||
mostlyclean-generic:
|
mostlyclean-generic:
|
||||||
@@ -460,8 +339,7 @@ mostlyclean-generic:
|
|||||||
clean-generic:
|
clean-generic:
|
||||||
|
|
||||||
distclean-generic:
|
distclean-generic:
|
||||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||||
-test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
|
|
||||||
|
|
||||||
maintainer-clean-generic:
|
maintainer-clean-generic:
|
||||||
@echo "This command is intended for maintainers to use"
|
@echo "This command is intended for maintainers to use"
|
||||||
@@ -471,16 +349,14 @@ clean: clean-recursive
|
|||||||
clean-am: clean-generic clean-libtool mostlyclean-am
|
clean-am: clean-generic clean-libtool mostlyclean-am
|
||||||
|
|
||||||
distclean: distclean-recursive
|
distclean: distclean-recursive
|
||||||
-rm -f Makefile
|
|
||||||
distclean-am: clean-am distclean-generic distclean-hdr \
|
distclean-am: clean-am distclean-generic distclean-hdr distclean-libtool \
|
||||||
distclean-libtool distclean-tags
|
distclean-tags
|
||||||
|
|
||||||
dvi: dvi-recursive
|
dvi: dvi-recursive
|
||||||
|
|
||||||
dvi-am:
|
dvi-am:
|
||||||
|
|
||||||
html: html-recursive
|
|
||||||
|
|
||||||
info: info-recursive
|
info: info-recursive
|
||||||
|
|
||||||
info-am:
|
info-am:
|
||||||
@@ -496,39 +372,33 @@ install-man:
|
|||||||
installcheck-am:
|
installcheck-am:
|
||||||
|
|
||||||
maintainer-clean: maintainer-clean-recursive
|
maintainer-clean: maintainer-clean-recursive
|
||||||
-rm -f Makefile
|
|
||||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||||
|
|
||||||
mostlyclean: mostlyclean-recursive
|
mostlyclean: mostlyclean-recursive
|
||||||
|
|
||||||
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
|
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
|
||||||
|
|
||||||
pdf: pdf-recursive
|
|
||||||
|
|
||||||
pdf-am:
|
|
||||||
|
|
||||||
ps: ps-recursive
|
|
||||||
|
|
||||||
ps-am:
|
|
||||||
|
|
||||||
uninstall-am: uninstall-includeHEADERS uninstall-info-am
|
uninstall-am: uninstall-includeHEADERS uninstall-info-am
|
||||||
|
|
||||||
uninstall-info: uninstall-info-recursive
|
uninstall-info: uninstall-info-recursive
|
||||||
|
|
||||||
.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
|
.PHONY: $(RECURSIVE_TARGETS) GTAGS all all-am check check-am clean \
|
||||||
clean clean-generic clean-libtool clean-recursive ctags \
|
clean-generic clean-libtool clean-recursive distclean \
|
||||||
ctags-recursive distclean distclean-generic distclean-hdr \
|
distclean-generic distclean-hdr distclean-libtool \
|
||||||
distclean-libtool distclean-recursive distclean-tags distdir \
|
distclean-recursive distclean-tags distdir dvi dvi-am \
|
||||||
dvi dvi-am html html-am info info-am install install-am \
|
dvi-recursive info info-am info-recursive install install-am \
|
||||||
install-data install-data-am install-exec install-exec-am \
|
install-data install-data-am install-data-recursive \
|
||||||
|
install-exec install-exec-am install-exec-recursive \
|
||||||
install-includeHEADERS install-info install-info-am \
|
install-includeHEADERS install-info install-info-am \
|
||||||
install-man install-strip installcheck installcheck-am \
|
install-info-recursive install-man install-recursive \
|
||||||
installdirs installdirs-am maintainer-clean \
|
install-strip installcheck installcheck-am installdirs \
|
||||||
maintainer-clean-generic maintainer-clean-recursive \
|
installdirs-am installdirs-recursive maintainer-clean \
|
||||||
mostlyclean mostlyclean-generic mostlyclean-libtool \
|
maintainer-clean-generic maintainer-clean-recursive mostlyclean \
|
||||||
mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \
|
mostlyclean-generic mostlyclean-libtool mostlyclean-recursive \
|
||||||
uninstall uninstall-am uninstall-includeHEADERS \
|
tags tags-recursive uninstall uninstall-am \
|
||||||
uninstall-info-am
|
uninstall-includeHEADERS uninstall-info-am \
|
||||||
|
uninstall-info-recursive uninstall-recursive
|
||||||
|
|
||||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* include/config.h.in. Generated automatically from configure.in by autoheader. */
|
/* include/config.h.in. Generated from configure.in by autoheader. */
|
||||||
|
|
||||||
/* Define if arpreq struct has arp_dev. */
|
/* Define if arpreq struct has arp_dev. */
|
||||||
#undef HAVE_ARPREQ_ARP_DEV
|
#undef HAVE_ARPREQ_ARP_DEV
|
||||||
@@ -6,68 +6,68 @@
|
|||||||
/* Define if you have the Berkeley Packet Filter. */
|
/* Define if you have the Berkeley Packet Filter. */
|
||||||
#undef HAVE_BSD_BPF
|
#undef HAVE_BSD_BPF
|
||||||
|
|
||||||
/* Define if you have the <dlfcn.h> header file. */
|
/* Define to 1 if you have the <dlfcn.h> header file. */
|
||||||
#undef HAVE_DLFCN_H
|
#undef HAVE_DLFCN_H
|
||||||
|
|
||||||
/* Define if you have the `err' function. */
|
/* Define to 1 if you have the `err' function. */
|
||||||
#undef HAVE_ERR
|
#undef HAVE_ERR
|
||||||
|
|
||||||
/* Define if you have the <fcntl.h> header file. */
|
/* Define to 1 if you have the <fcntl.h> header file. */
|
||||||
#undef HAVE_FCNTL_H
|
#undef HAVE_FCNTL_H
|
||||||
|
|
||||||
/* Define if you have the <hpsecurity.h> header file. */
|
/* Define to 1 if you have the <hpsecurity.h> header file. */
|
||||||
#undef HAVE_HPSECURITY_H
|
#undef HAVE_HPSECURITY_H
|
||||||
|
|
||||||
/* Define if you have the <inttypes.h> header file. */
|
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||||
#undef HAVE_INTTYPES_H
|
#undef HAVE_INTTYPES_H
|
||||||
|
|
||||||
/* Define if you have arp(7) ioctls. */
|
/* Define if you have arp(7) ioctls. */
|
||||||
#undef HAVE_IOCTL_ARP
|
#undef HAVE_IOCTL_ARP
|
||||||
|
|
||||||
/* Define if you have the <Iphlpapi.h> header file. */
|
/* Define to 1 if you have the <Iphlpapi.h> header file. */
|
||||||
#undef HAVE_IPHLPAPI_H
|
#undef HAVE_IPHLPAPI_H
|
||||||
|
|
||||||
/* Define if you have the <ip_compat.h> header file. */
|
/* Define to 1 if you have the <ip_compat.h> header file. */
|
||||||
#undef HAVE_IP_COMPAT_H
|
#undef HAVE_IP_COMPAT_H
|
||||||
|
|
||||||
/* Define if you have the <ip_fil_compat.h> header file. */
|
/* Define to 1 if you have the <ip_fil_compat.h> header file. */
|
||||||
#undef HAVE_IP_FIL_COMPAT_H
|
#undef HAVE_IP_FIL_COMPAT_H
|
||||||
|
|
||||||
/* Define if you have the <ip_fil.h> header file. */
|
/* Define to 1 if you have the <ip_fil.h> header file. */
|
||||||
#undef HAVE_IP_FIL_H
|
#undef HAVE_IP_FIL_H
|
||||||
|
|
||||||
/* Define if you have the `iphlpapi' library (-liphlpapi). */
|
/* Define to 1 if you have the `iphlpapi' library (-liphlpapi). */
|
||||||
#undef HAVE_LIBIPHLPAPI
|
#undef HAVE_LIBIPHLPAPI
|
||||||
|
|
||||||
/* Define if you have the `nm' library (-lnm). */
|
/* Define to 1 if you have the `nm' library (-lnm). */
|
||||||
#undef HAVE_LIBNM
|
#undef HAVE_LIBNM
|
||||||
|
|
||||||
/* Define if you have the `nsl' library (-lnsl). */
|
/* Define to 1 if you have the `nsl' library (-lnsl). */
|
||||||
#undef HAVE_LIBNSL
|
#undef HAVE_LIBNSL
|
||||||
|
|
||||||
/* Define if you have the `resolv' library (-lresolv). */
|
/* Define to 1 if you have the `resolv' library (-lresolv). */
|
||||||
#undef HAVE_LIBRESOLV
|
#undef HAVE_LIBRESOLV
|
||||||
|
|
||||||
/* Define if you have the `socket' library (-lsocket). */
|
/* Define to 1 if you have the `socket' library (-lsocket). */
|
||||||
#undef HAVE_LIBSOCKET
|
#undef HAVE_LIBSOCKET
|
||||||
|
|
||||||
/* Define if you have the `str' library (-lstr). */
|
/* Define to 1 if you have the `str' library (-lstr). */
|
||||||
#undef HAVE_LIBSTR
|
#undef HAVE_LIBSTR
|
||||||
|
|
||||||
/* Define if you have the `ws2_32' library (-lws2_32). */
|
/* Define to 1 if you have the `ws2_32' library (-lws2_32). */
|
||||||
#undef HAVE_LIBWS2_32
|
#undef HAVE_LIBWS2_32
|
||||||
|
|
||||||
/* Define if you have the <linux/if_tun.h> header file. */
|
/* Define to 1 if you have the <linux/if_tun.h> header file. */
|
||||||
#undef HAVE_LINUX_IF_TUN_H
|
#undef HAVE_LINUX_IF_TUN_H
|
||||||
|
|
||||||
/* Define if you have the <linux/ip_fwchains.h> header file. */
|
/* Define to 1 if you have the <linux/ip_fwchains.h> header file. */
|
||||||
#undef HAVE_LINUX_IP_FWCHAINS_H
|
#undef HAVE_LINUX_IP_FWCHAINS_H
|
||||||
|
|
||||||
/* Define if you have the <linux/ip_fw.h> header file. */
|
/* Define to 1 if you have the <linux/ip_fw.h> header file. */
|
||||||
#undef HAVE_LINUX_IP_FW_H
|
#undef HAVE_LINUX_IP_FW_H
|
||||||
|
|
||||||
/* Define if you have the <linux/netfilter_ipv4/ipchains_core.h> header file.
|
/* Define to 1 if you have the <linux/netfilter_ipv4/ipchains_core.h> header
|
||||||
*/
|
file. */
|
||||||
#undef HAVE_LINUX_NETFILTER_IPV4_IPCHAINS_CORE_H
|
#undef HAVE_LINUX_NETFILTER_IPV4_IPCHAINS_CORE_H
|
||||||
|
|
||||||
/* Define if you have Linux PF_PACKET sockets. */
|
/* Define if you have Linux PF_PACKET sockets. */
|
||||||
@@ -76,55 +76,55 @@
|
|||||||
/* Define if you have the Linux /proc filesystem. */
|
/* Define if you have the Linux /proc filesystem. */
|
||||||
#undef HAVE_LINUX_PROCFS
|
#undef HAVE_LINUX_PROCFS
|
||||||
|
|
||||||
/* Define if you have the <memory.h> header file. */
|
/* Define to 1 if you have the <memory.h> header file. */
|
||||||
#undef HAVE_MEMORY_H
|
#undef HAVE_MEMORY_H
|
||||||
|
|
||||||
/* Define if you have the <netinet/in_var.h> header file. */
|
/* Define to 1 if you have the <netinet/in_var.h> header file. */
|
||||||
#undef HAVE_NETINET_IN_VAR_H
|
#undef HAVE_NETINET_IN_VAR_H
|
||||||
|
|
||||||
/* Define if you have the <netinet/ip_compat.h> header file. */
|
/* Define to 1 if you have the <netinet/ip_compat.h> header file. */
|
||||||
#undef HAVE_NETINET_IP_COMPAT_H
|
#undef HAVE_NETINET_IP_COMPAT_H
|
||||||
|
|
||||||
/* Define if you have the <netinet/ip_fil_compat.h> header file. */
|
/* Define to 1 if you have the <netinet/ip_fil_compat.h> header file. */
|
||||||
#undef HAVE_NETINET_IP_FIL_COMPAT_H
|
#undef HAVE_NETINET_IP_FIL_COMPAT_H
|
||||||
|
|
||||||
/* Define if you have the <netinet/ip_fil.h> header file. */
|
/* Define to 1 if you have the <netinet/ip_fil.h> header file. */
|
||||||
#undef HAVE_NETINET_IP_FIL_H
|
#undef HAVE_NETINET_IP_FIL_H
|
||||||
|
|
||||||
/* Define if you have the <netinet/ip_fw.h> header file. */
|
/* Define to 1 if you have the <netinet/ip_fw.h> header file. */
|
||||||
#undef HAVE_NETINET_IP_FW_H
|
#undef HAVE_NETINET_IP_FW_H
|
||||||
|
|
||||||
/* Define if you have the <net/bpf.h> header file. */
|
/* Define to 1 if you have the <net/bpf.h> header file. */
|
||||||
#undef HAVE_NET_BPF_H
|
#undef HAVE_NET_BPF_H
|
||||||
|
|
||||||
/* Define if you have the <net/if_arp.h> header file. */
|
/* Define to 1 if you have the <net/if_arp.h> header file. */
|
||||||
#undef HAVE_NET_IF_ARP_H
|
#undef HAVE_NET_IF_ARP_H
|
||||||
|
|
||||||
/* Define if you have the <net/if_dl.h> header file. */
|
/* Define to 1 if you have the <net/if_dl.h> header file. */
|
||||||
#undef HAVE_NET_IF_DL_H
|
#undef HAVE_NET_IF_DL_H
|
||||||
|
|
||||||
/* Define if you have the <net/if.h> header file. */
|
/* Define to 1 if you have the <net/if.h> header file. */
|
||||||
#undef HAVE_NET_IF_H
|
#undef HAVE_NET_IF_H
|
||||||
|
|
||||||
/* Define if you have the <net/if_tun.h> header file. */
|
/* Define to 1 if you have the <net/if_tun.h> header file. */
|
||||||
#undef HAVE_NET_IF_TUN_H
|
#undef HAVE_NET_IF_TUN_H
|
||||||
|
|
||||||
/* Define if you have the <net/if_var.h> header file. */
|
/* Define to 1 if you have the <net/if_var.h> header file. */
|
||||||
#undef HAVE_NET_IF_VAR_H
|
#undef HAVE_NET_IF_VAR_H
|
||||||
|
|
||||||
/* Define if you have the <net/pfilt.h> header file. */
|
/* Define to 1 if you have the <net/pfilt.h> header file. */
|
||||||
#undef HAVE_NET_PFILT_H
|
#undef HAVE_NET_PFILT_H
|
||||||
|
|
||||||
/* Define if you have the <net/pfvar.h> header file. */
|
/* Define to 1 if you have the <net/pfvar.h> header file. */
|
||||||
#undef HAVE_NET_PFVAR_H
|
#undef HAVE_NET_PFVAR_H
|
||||||
|
|
||||||
/* Define if you have the <net/radix.h> header file. */
|
/* Define to 1 if you have the <net/radix.h> header file. */
|
||||||
#undef HAVE_NET_RADIX_H
|
#undef HAVE_NET_RADIX_H
|
||||||
|
|
||||||
/* Define if you have the <net/raw.h> header file. */
|
/* Define to 1 if you have the <net/raw.h> header file. */
|
||||||
#undef HAVE_NET_RAW_H
|
#undef HAVE_NET_RAW_H
|
||||||
|
|
||||||
/* Define if you have the <net/route.h> header file. */
|
/* Define to 1 if you have the <net/route.h> header file. */
|
||||||
#undef HAVE_NET_ROUTE_H
|
#undef HAVE_NET_ROUTE_H
|
||||||
|
|
||||||
/* Define if you have cooked raw IP sockets. */
|
/* Define if you have cooked raw IP sockets. */
|
||||||
@@ -142,10 +142,10 @@
|
|||||||
/* Define if sockaddr struct has sa_len. */
|
/* Define if sockaddr struct has sa_len. */
|
||||||
#undef HAVE_SOCKADDR_SA_LEN
|
#undef HAVE_SOCKADDR_SA_LEN
|
||||||
|
|
||||||
/* Define if you have the <stdint.h> header file. */
|
/* Define to 1 if you have the <stdint.h> header file. */
|
||||||
#undef HAVE_STDINT_H
|
#undef HAVE_STDINT_H
|
||||||
|
|
||||||
/* Define if you have the <stdlib.h> header file. */
|
/* Define to 1 if you have the <stdlib.h> header file. */
|
||||||
#undef HAVE_STDLIB_H
|
#undef HAVE_STDLIB_H
|
||||||
|
|
||||||
/* Define if you have SNMP MIB2 STREAMS. */
|
/* Define if you have SNMP MIB2 STREAMS. */
|
||||||
@@ -154,73 +154,88 @@
|
|||||||
/* Define if you have route(7) STREAMS. */
|
/* Define if you have route(7) STREAMS. */
|
||||||
#undef HAVE_STREAMS_ROUTE
|
#undef HAVE_STREAMS_ROUTE
|
||||||
|
|
||||||
/* Define if you have the <strings.h> header file. */
|
/* Define to 1 if you have the <strings.h> header file. */
|
||||||
#undef HAVE_STRINGS_H
|
#undef HAVE_STRINGS_H
|
||||||
|
|
||||||
/* Define if you have the <string.h> header file. */
|
/* Define to 1 if you have the <string.h> header file. */
|
||||||
#undef HAVE_STRING_H
|
#undef HAVE_STRING_H
|
||||||
|
|
||||||
/* Define if you have the `strlcat' function. */
|
/* Define to 1 if you have the `strlcat' function. */
|
||||||
#undef HAVE_STRLCAT
|
#undef HAVE_STRLCAT
|
||||||
|
|
||||||
/* Define if you have the `strlcpy' function. */
|
/* Define to 1 if you have the `strlcpy' function. */
|
||||||
#undef HAVE_STRLCPY
|
#undef HAVE_STRLCPY
|
||||||
|
|
||||||
/* Define if you have the <stropts.h> header file. */
|
/* Define to 1 if you have the <stropts.h> header file. */
|
||||||
#undef HAVE_STROPTS_H
|
#undef HAVE_STROPTS_H
|
||||||
|
|
||||||
/* Define if you have the `strsep' function. */
|
/* Define to 1 if you have the `strsep' function. */
|
||||||
#undef HAVE_STRSEP
|
#undef HAVE_STRSEP
|
||||||
|
|
||||||
/* Define if you have the <sys/bufmod.h> header file. */
|
/* Define to 1 if you have the <sys/bufmod.h> header file. */
|
||||||
#undef HAVE_SYS_BUFMOD_H
|
#undef HAVE_SYS_BUFMOD_H
|
||||||
|
|
||||||
/* Define if you have the <sys/dlpihdr.h> header file. */
|
/* Define to 1 if you have the <sys/dlpihdr.h> header file. */
|
||||||
#undef HAVE_SYS_DLPIHDR_H
|
#undef HAVE_SYS_DLPIHDR_H
|
||||||
|
|
||||||
/* Define if you have the <sys/dlpi_ext.h> header file. */
|
/* Define to 1 if you have the <sys/dlpi_ext.h> header file. */
|
||||||
#undef HAVE_SYS_DLPI_EXT_H
|
#undef HAVE_SYS_DLPI_EXT_H
|
||||||
|
|
||||||
/* Define if you have the <sys/dlpi.h> header file. */
|
/* Define to 1 if you have the <sys/dlpi.h> header file. */
|
||||||
#undef HAVE_SYS_DLPI_H
|
#undef HAVE_SYS_DLPI_H
|
||||||
|
|
||||||
/* Define if you have the <sys/ioctl.h> header file. */
|
/* Define to 1 if you have the <sys/ioctl.h> header file. */
|
||||||
#undef HAVE_SYS_IOCTL_H
|
#undef HAVE_SYS_IOCTL_H
|
||||||
|
|
||||||
/* Define if you have the <sys/mib.h> header file. */
|
/* Define to 1 if you have the <sys/mib.h> header file. */
|
||||||
#undef HAVE_SYS_MIB_H
|
#undef HAVE_SYS_MIB_H
|
||||||
|
|
||||||
/* Define if you have the <sys/ndd_var.h> header file. */
|
/* Define to 1 if you have the <sys/ndd_var.h> header file. */
|
||||||
#undef HAVE_SYS_NDD_VAR_H
|
#undef HAVE_SYS_NDD_VAR_H
|
||||||
|
|
||||||
/* Define if you have the <sys/socket.h> header file. */
|
/* Define to 1 if you have the <sys/socket.h> header file. */
|
||||||
#undef HAVE_SYS_SOCKET_H
|
#undef HAVE_SYS_SOCKET_H
|
||||||
|
|
||||||
/* Define if you have the <sys/sockio.h> header file. */
|
/* Define to 1 if you have the <sys/sockio.h> header file. */
|
||||||
#undef HAVE_SYS_SOCKIO_H
|
#undef HAVE_SYS_SOCKIO_H
|
||||||
|
|
||||||
/* Define if you have the <sys/stat.h> header file. */
|
/* Define to 1 if you have the <sys/stat.h> header file. */
|
||||||
#undef HAVE_SYS_STAT_H
|
#undef HAVE_SYS_STAT_H
|
||||||
|
|
||||||
/* Define if you have the <sys/sysctl.h> header file. */
|
/* Define to 1 if you have the <sys/sysctl.h> header file. */
|
||||||
#undef HAVE_SYS_SYSCTL_H
|
#undef HAVE_SYS_SYSCTL_H
|
||||||
|
|
||||||
/* Define if you have the <sys/time.h> header file. */
|
/* Define to 1 if you have the <sys/time.h> header file. */
|
||||||
#undef HAVE_SYS_TIME_H
|
#undef HAVE_SYS_TIME_H
|
||||||
|
|
||||||
/* Define if you have the <sys/types.h> header file. */
|
/* Define to 1 if you have the <sys/types.h> header file. */
|
||||||
#undef HAVE_SYS_TYPES_H
|
#undef HAVE_SYS_TYPES_H
|
||||||
|
|
||||||
/* Define if you have the <unistd.h> header file. */
|
/* Define to 1 if you have the <unistd.h> header file. */
|
||||||
#undef HAVE_UNISTD_H
|
#undef HAVE_UNISTD_H
|
||||||
|
|
||||||
/* Define if you have the <winsock2.h> header file. */
|
/* Define to 1 if you have the <winsock2.h> header file. */
|
||||||
#undef HAVE_WINSOCK2_H
|
#undef HAVE_WINSOCK2_H
|
||||||
|
|
||||||
/* Name of package */
|
/* Name of package */
|
||||||
#undef PACKAGE
|
#undef PACKAGE
|
||||||
|
|
||||||
/* Define if you have the ANSI C header files. */
|
/* Define to the address where bug reports for this package should be sent. */
|
||||||
|
#undef PACKAGE_BUGREPORT
|
||||||
|
|
||||||
|
/* Define to the full name of this package. */
|
||||||
|
#undef PACKAGE_NAME
|
||||||
|
|
||||||
|
/* Define to the full name and version of this package. */
|
||||||
|
#undef PACKAGE_STRING
|
||||||
|
|
||||||
|
/* Define to the one symbol short name of this package. */
|
||||||
|
#undef PACKAGE_TARNAME
|
||||||
|
|
||||||
|
/* Define to the version of this package. */
|
||||||
|
#undef PACKAGE_VERSION
|
||||||
|
|
||||||
|
/* Define to 1 if you have the ANSI C header files. */
|
||||||
#undef STDC_HEADERS
|
#undef STDC_HEADERS
|
||||||
|
|
||||||
/* Version number of package */
|
/* Version number of package */
|
||||||
@@ -232,9 +247,11 @@
|
|||||||
/* Define to empty if `const' does not conform to ANSI C. */
|
/* Define to empty if `const' does not conform to ANSI C. */
|
||||||
#undef const
|
#undef const
|
||||||
|
|
||||||
/* Define as `__inline' if that's what the C compiler calls it, or to nothing
|
/* Define to `__inline__' or `__inline' if that's what the C compiler
|
||||||
if it is not supported. */
|
calls it, or to nothing if 'inline' is not supported under any name. */
|
||||||
|
#ifndef __cplusplus
|
||||||
#undef inline
|
#undef inline
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Define to `int' if <sys/types.h> does not define. */
|
/* Define to `int' if <sys/types.h> does not define. */
|
||||||
#undef pid_t
|
#undef pid_t
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 2001 Dug Song <dugsong@monkey.org>
|
* Copyright (c) 2001 Dug Song <dugsong@monkey.org>
|
||||||
*
|
*
|
||||||
* $Id: dnet.h,v 1.6 2004/09/10 03:10:01 dugsong Exp $
|
* $Id: dnet.h 529 2004-09-10 03:10:01Z dugsong $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef DNET_H
|
#ifndef DNET_H
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
## $Id: Makefile.am,v 1.5 2004/09/10 02:35:51 dugsong Exp $
|
## $Id: Makefile.am 525 2004-09-10 02:35:51Z dugsong $
|
||||||
|
|
||||||
include $(top_srcdir)/Makefile.am.common
|
include $(top_srcdir)/Makefile.am.common
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
# Makefile.in generated by automake 1.9.2 from Makefile.am.
|
# Makefile.in generated by automake 1.6.3 from Makefile.am.
|
||||||
# @configure_input@
|
# @configure_input@
|
||||||
|
|
||||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
|
||||||
# 2003, 2004 Free Software Foundation, Inc.
|
# Free Software Foundation, Inc.
|
||||||
# This Makefile.in is free software; the Free Software Foundation
|
# This Makefile.in is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
# with or without modifications, as long as this notice is preserved.
|
# with or without modifications, as long as this notice is preserved.
|
||||||
@@ -13,210 +13,119 @@
|
|||||||
# PARTICULAR PURPOSE.
|
# PARTICULAR PURPOSE.
|
||||||
|
|
||||||
@SET_MAKE@
|
@SET_MAKE@
|
||||||
|
SHELL = @SHELL@
|
||||||
|
|
||||||
srcdir = @srcdir@
|
srcdir = @srcdir@
|
||||||
top_srcdir = @top_srcdir@
|
top_srcdir = @top_srcdir@
|
||||||
VPATH = @srcdir@
|
VPATH = @srcdir@
|
||||||
|
prefix = @prefix@
|
||||||
|
exec_prefix = @exec_prefix@
|
||||||
|
|
||||||
|
bindir = @bindir@
|
||||||
|
sbindir = @sbindir@
|
||||||
|
libexecdir = @libexecdir@
|
||||||
|
datadir = @datadir@
|
||||||
|
sysconfdir = @sysconfdir@
|
||||||
|
sharedstatedir = @sharedstatedir@
|
||||||
|
localstatedir = @localstatedir@
|
||||||
|
libdir = @libdir@
|
||||||
|
infodir = @infodir@
|
||||||
|
mandir = @mandir@
|
||||||
|
includedir = @includedir@
|
||||||
|
oldincludedir = /usr/include
|
||||||
pkgdatadir = $(datadir)/@PACKAGE@
|
pkgdatadir = $(datadir)/@PACKAGE@
|
||||||
pkglibdir = $(libdir)/@PACKAGE@
|
pkglibdir = $(libdir)/@PACKAGE@
|
||||||
pkgincludedir = $(includedir)/@PACKAGE@
|
pkgincludedir = $(includedir)/@PACKAGE@
|
||||||
top_builddir = ../..
|
top_builddir = ../..
|
||||||
|
|
||||||
|
ACLOCAL = @ACLOCAL@
|
||||||
|
AUTOCONF = @AUTOCONF@
|
||||||
|
AUTOMAKE = @AUTOMAKE@
|
||||||
|
AUTOHEADER = @AUTOHEADER@
|
||||||
|
|
||||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||||
INSTALL = @INSTALL@
|
INSTALL = @INSTALL@
|
||||||
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||||
|
INSTALL_DATA = @INSTALL_DATA@
|
||||||
install_sh_DATA = $(install_sh) -c -m 644
|
install_sh_DATA = $(install_sh) -c -m 644
|
||||||
install_sh_PROGRAM = $(install_sh) -c
|
install_sh_PROGRAM = $(install_sh) -c
|
||||||
install_sh_SCRIPT = $(install_sh) -c
|
install_sh_SCRIPT = $(install_sh) -c
|
||||||
|
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||||
INSTALL_HEADER = $(INSTALL_DATA)
|
INSTALL_HEADER = $(INSTALL_DATA)
|
||||||
transform = $(program_transform_name)
|
transform = @program_transform_name@
|
||||||
NORMAL_INSTALL = :
|
NORMAL_INSTALL = :
|
||||||
PRE_INSTALL = :
|
PRE_INSTALL = :
|
||||||
POST_INSTALL = :
|
POST_INSTALL = :
|
||||||
NORMAL_UNINSTALL = :
|
NORMAL_UNINSTALL = :
|
||||||
PRE_UNINSTALL = :
|
PRE_UNINSTALL = :
|
||||||
POST_UNINSTALL = :
|
POST_UNINSTALL = :
|
||||||
build_triplet = @build@
|
host_alias = @host_alias@
|
||||||
host_triplet = @host@
|
host_triplet = @host@
|
||||||
DIST_COMMON = $(dnetinclude_HEADERS) $(srcdir)/Makefile.am \
|
|
||||||
$(srcdir)/Makefile.in $(top_srcdir)/Makefile.am.common
|
EXEEXT = @EXEEXT@
|
||||||
|
OBJEXT = @OBJEXT@
|
||||||
|
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||||
|
AMTAR = @AMTAR@
|
||||||
|
AR = @AR@
|
||||||
|
AS = @AS@
|
||||||
|
AWK = @AWK@
|
||||||
|
CC = @CC@
|
||||||
|
CHECKINC = @CHECKINC@
|
||||||
|
CHECKLIB = @CHECKLIB@
|
||||||
|
CXX = @CXX@
|
||||||
|
CXXCPP = @CXXCPP@
|
||||||
|
DEPDIR = @DEPDIR@
|
||||||
|
DLLTOOL = @DLLTOOL@
|
||||||
|
ECHO = @ECHO@
|
||||||
|
EGREP = @EGREP@
|
||||||
|
F77 = @F77@
|
||||||
|
GCJ = @GCJ@
|
||||||
|
GCJFLAGS = @GCJFLAGS@
|
||||||
|
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||||
|
LIBTOOL = @LIBTOOL@
|
||||||
|
LN_S = @LN_S@
|
||||||
|
MAINT = @MAINT@
|
||||||
|
OBJDUMP = @OBJDUMP@
|
||||||
|
PACKAGE = @PACKAGE@
|
||||||
|
PYTHON = @PYTHON@
|
||||||
|
RANLIB = @RANLIB@
|
||||||
|
RC = @RC@
|
||||||
|
STRIP = @STRIP@
|
||||||
|
TCLINC = @TCLINC@
|
||||||
|
TCLLIB = @TCLLIB@
|
||||||
|
VERSION = @VERSION@
|
||||||
|
ac_aux_dir = @ac_aux_dir@
|
||||||
|
am__include = @am__include@
|
||||||
|
am__quote = @am__quote@
|
||||||
|
install_sh = @install_sh@
|
||||||
|
|
||||||
|
AUTOMAKE_OPTIONS = foreign no-dependencies
|
||||||
|
|
||||||
|
AM_CPPFLAGS = -I$(top_srcdir)/include
|
||||||
|
|
||||||
|
dnetincludedir = $(includedir)/dnet
|
||||||
|
|
||||||
|
dnetinclude_HEADERS = addr.h arp.h blob.h eth.h fw.h icmp.h intf.h ip.h \
|
||||||
|
ip6.h os.h rand.h route.h tcp.h tun.h udp.h
|
||||||
|
|
||||||
subdir = include/dnet
|
subdir = include/dnet
|
||||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
|
||||||
am__aclocal_m4_deps = $(top_srcdir)/config/acinclude.m4 \
|
|
||||||
$(top_srcdir)/configure.in
|
|
||||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
|
||||||
$(ACLOCAL_M4)
|
|
||||||
mkinstalldirs = $(install_sh) -d
|
|
||||||
CONFIG_HEADER = $(top_builddir)/include/config.h
|
CONFIG_HEADER = $(top_builddir)/include/config.h
|
||||||
CONFIG_CLEAN_FILES =
|
CONFIG_CLEAN_FILES =
|
||||||
depcomp =
|
depcomp =
|
||||||
am__depfiles_maybe =
|
am__depfiles_maybe =
|
||||||
SOURCES =
|
|
||||||
DIST_SOURCES =
|
DIST_SOURCES =
|
||||||
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
|
|
||||||
am__vpath_adj = case $$p in \
|
|
||||||
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
|
|
||||||
*) f=$$p;; \
|
|
||||||
esac;
|
|
||||||
am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
|
|
||||||
am__installdirs = "$(DESTDIR)$(dnetincludedir)"
|
|
||||||
dnetincludeHEADERS_INSTALL = $(INSTALL_HEADER)
|
|
||||||
HEADERS = $(dnetinclude_HEADERS)
|
HEADERS = $(dnetinclude_HEADERS)
|
||||||
ETAGS = etags
|
|
||||||
CTAGS = ctags
|
|
||||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
|
||||||
ACLOCAL = @ACLOCAL@
|
|
||||||
AMDEP_FALSE = @AMDEP_FALSE@
|
|
||||||
AMDEP_TRUE = @AMDEP_TRUE@
|
|
||||||
AMTAR = @AMTAR@
|
|
||||||
AR = @AR@
|
|
||||||
AUTOCONF = @AUTOCONF@
|
|
||||||
AUTOHEADER = @AUTOHEADER@
|
|
||||||
AUTOMAKE = @AUTOMAKE@
|
|
||||||
AWK = @AWK@
|
|
||||||
CC = @CC@
|
|
||||||
CCDEPMODE = @CCDEPMODE@
|
|
||||||
CFLAGS = @CFLAGS@
|
|
||||||
CHECKINC = @CHECKINC@
|
|
||||||
CHECKLIB = @CHECKLIB@
|
|
||||||
CPP = @CPP@
|
|
||||||
CPPFLAGS = @CPPFLAGS@
|
|
||||||
CXX = @CXX@
|
|
||||||
CXXCPP = @CXXCPP@
|
|
||||||
CXXDEPMODE = @CXXDEPMODE@
|
|
||||||
CXXFLAGS = @CXXFLAGS@
|
|
||||||
CYGPATH_W = @CYGPATH_W@
|
|
||||||
DEFS = @DEFS@
|
|
||||||
DEPDIR = @DEPDIR@
|
|
||||||
ECHO = @ECHO@
|
|
||||||
ECHO_C = @ECHO_C@
|
|
||||||
ECHO_N = @ECHO_N@
|
|
||||||
ECHO_T = @ECHO_T@
|
|
||||||
EGREP = @EGREP@
|
|
||||||
EXEEXT = @EXEEXT@
|
|
||||||
F77 = @F77@
|
|
||||||
FFLAGS = @FFLAGS@
|
|
||||||
GREP = @GREP@
|
|
||||||
HAVE_CHECK_FALSE = @HAVE_CHECK_FALSE@
|
|
||||||
HAVE_CHECK_TRUE = @HAVE_CHECK_TRUE@
|
|
||||||
INSTALL_DATA = @INSTALL_DATA@
|
|
||||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
|
||||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
|
||||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
|
||||||
LDFLAGS = @LDFLAGS@
|
|
||||||
LIBOBJS = @LIBOBJS@
|
|
||||||
LIBS = @LIBS@
|
|
||||||
LIBTOOL = @LIBTOOL@
|
|
||||||
LN_S = @LN_S@
|
|
||||||
LTLIBOBJS = @LTLIBOBJS@
|
|
||||||
MAINT = @MAINT@
|
|
||||||
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
|
|
||||||
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
|
|
||||||
MAKEINFO = @MAKEINFO@
|
|
||||||
OBJEXT = @OBJEXT@
|
|
||||||
PACKAGE = @PACKAGE@
|
|
||||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
|
||||||
PACKAGE_NAME = @PACKAGE_NAME@
|
|
||||||
PACKAGE_STRING = @PACKAGE_STRING@
|
|
||||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
|
||||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
|
||||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
|
||||||
PYTHON = @PYTHON@
|
|
||||||
PYTHON_FALSE = @PYTHON_FALSE@
|
|
||||||
PYTHON_TRUE = @PYTHON_TRUE@
|
|
||||||
RANLIB = @RANLIB@
|
|
||||||
SET_MAKE = @SET_MAKE@
|
|
||||||
SHELL = @SHELL@
|
|
||||||
STRIP = @STRIP@
|
|
||||||
TCLINC = @TCLINC@
|
|
||||||
TCLLIB = @TCLLIB@
|
|
||||||
TCL_FALSE = @TCL_FALSE@
|
|
||||||
TCL_TRUE = @TCL_TRUE@
|
|
||||||
VERSION = @VERSION@
|
|
||||||
ac_ct_CC = @ac_ct_CC@
|
|
||||||
ac_ct_CXX = @ac_ct_CXX@
|
|
||||||
ac_ct_F77 = @ac_ct_F77@
|
|
||||||
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
|
||||||
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
|
|
||||||
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
|
|
||||||
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
|
|
||||||
am__include = @am__include@
|
|
||||||
am__leading_dot = @am__leading_dot@
|
|
||||||
am__quote = @am__quote@
|
|
||||||
am__tar = @am__tar@
|
|
||||||
am__untar = @am__untar@
|
|
||||||
bindir = @bindir@
|
|
||||||
build = @build@
|
|
||||||
build_alias = @build_alias@
|
|
||||||
build_cpu = @build_cpu@
|
|
||||||
build_os = @build_os@
|
|
||||||
build_vendor = @build_vendor@
|
|
||||||
datadir = @datadir@
|
|
||||||
datarootdir = @datarootdir@
|
|
||||||
docdir = @docdir@
|
|
||||||
dvidir = @dvidir@
|
|
||||||
exec_prefix = @exec_prefix@
|
|
||||||
host = @host@
|
|
||||||
host_alias = @host_alias@
|
|
||||||
host_cpu = @host_cpu@
|
|
||||||
host_os = @host_os@
|
|
||||||
host_vendor = @host_vendor@
|
|
||||||
htmldir = @htmldir@
|
|
||||||
includedir = @includedir@
|
|
||||||
infodir = @infodir@
|
|
||||||
install_sh = @install_sh@
|
|
||||||
libdir = @libdir@
|
|
||||||
libexecdir = @libexecdir@
|
|
||||||
localedir = @localedir@
|
|
||||||
localstatedir = @localstatedir@
|
|
||||||
mandir = @mandir@
|
|
||||||
mkdir_p = @mkdir_p@
|
|
||||||
oldincludedir = @oldincludedir@
|
|
||||||
pdfdir = @pdfdir@
|
|
||||||
prefix = @prefix@
|
|
||||||
program_transform_name = @program_transform_name@
|
|
||||||
psdir = @psdir@
|
|
||||||
sbindir = @sbindir@
|
|
||||||
sharedstatedir = @sharedstatedir@
|
|
||||||
sysconfdir = @sysconfdir@
|
|
||||||
target_alias = @target_alias@
|
|
||||||
AUTOMAKE_OPTIONS = foreign no-dependencies
|
|
||||||
INCLUDES = -I$(top_srcdir)/include
|
|
||||||
DISTCLEANFILES = *~
|
|
||||||
dnetincludedir = $(includedir)/dnet
|
|
||||||
dnetinclude_HEADERS = addr.h arp.h blob.h eth.h fw.h icmp.h intf.h ip.h \
|
|
||||||
ip6.h os.h rand.h route.h tcp.h tun.h udp.h
|
|
||||||
|
|
||||||
|
DIST_COMMON = $(dnetinclude_HEADERS) Makefile.am Makefile.in
|
||||||
all: all-am
|
all: all-am
|
||||||
|
|
||||||
.SUFFIXES:
|
.SUFFIXES:
|
||||||
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/Makefile.am.common $(am__configure_deps)
|
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/Makefile.am.common $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||||
@for dep in $?; do \
|
|
||||||
case '$(am__configure_deps)' in \
|
|
||||||
*$$dep*) \
|
|
||||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
|
|
||||||
&& exit 0; \
|
|
||||||
exit 1;; \
|
|
||||||
esac; \
|
|
||||||
done; \
|
|
||||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign include/dnet/Makefile'; \
|
|
||||||
cd $(top_srcdir) && \
|
cd $(top_srcdir) && \
|
||||||
$(AUTOMAKE) --foreign include/dnet/Makefile
|
$(AUTOMAKE) --foreign include/dnet/Makefile
|
||||||
.PRECIOUS: Makefile
|
Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
|
||||||
@case '$?' in \
|
|
||||||
*config.status*) \
|
|
||||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
|
||||||
*) \
|
|
||||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
|
||||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
|
||||||
esac;
|
|
||||||
|
|
||||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
|
||||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
|
||||||
|
|
||||||
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
|
|
||||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
|
||||||
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
|
|
||||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
|
||||||
|
|
||||||
mostlyclean-libtool:
|
mostlyclean-libtool:
|
||||||
-rm -f *.lo
|
-rm -f *.lo
|
||||||
@@ -227,24 +136,30 @@ clean-libtool:
|
|||||||
distclean-libtool:
|
distclean-libtool:
|
||||||
-rm -f libtool
|
-rm -f libtool
|
||||||
uninstall-info-am:
|
uninstall-info-am:
|
||||||
|
dnetincludeHEADERS_INSTALL = $(INSTALL_HEADER)
|
||||||
install-dnetincludeHEADERS: $(dnetinclude_HEADERS)
|
install-dnetincludeHEADERS: $(dnetinclude_HEADERS)
|
||||||
@$(NORMAL_INSTALL)
|
@$(NORMAL_INSTALL)
|
||||||
test -z "$(dnetincludedir)" || $(mkdir_p) "$(DESTDIR)$(dnetincludedir)"
|
$(mkinstalldirs) $(DESTDIR)$(dnetincludedir)
|
||||||
@list='$(dnetinclude_HEADERS)'; for p in $$list; do \
|
@list='$(dnetinclude_HEADERS)'; for p in $$list; do \
|
||||||
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||||
f=$(am__strip_dir) \
|
f="`echo $$p | sed -e 's|^.*/||'`"; \
|
||||||
echo " $(dnetincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(dnetincludedir)/$$f'"; \
|
echo " $(dnetincludeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(dnetincludedir)/$$f"; \
|
||||||
$(dnetincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(dnetincludedir)/$$f"; \
|
$(dnetincludeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(dnetincludedir)/$$f; \
|
||||||
done
|
done
|
||||||
|
|
||||||
uninstall-dnetincludeHEADERS:
|
uninstall-dnetincludeHEADERS:
|
||||||
@$(NORMAL_UNINSTALL)
|
@$(NORMAL_UNINSTALL)
|
||||||
@list='$(dnetinclude_HEADERS)'; for p in $$list; do \
|
@list='$(dnetinclude_HEADERS)'; for p in $$list; do \
|
||||||
f=$(am__strip_dir) \
|
f="`echo $$p | sed -e 's|^.*/||'`"; \
|
||||||
echo " rm -f '$(DESTDIR)$(dnetincludedir)/$$f'"; \
|
echo " rm -f $(DESTDIR)$(dnetincludedir)/$$f"; \
|
||||||
rm -f "$(DESTDIR)$(dnetincludedir)/$$f"; \
|
rm -f $(DESTDIR)$(dnetincludedir)/$$f; \
|
||||||
done
|
done
|
||||||
|
|
||||||
|
ETAGS = etags
|
||||||
|
ETAGSFLAGS =
|
||||||
|
|
||||||
|
tags: TAGS
|
||||||
|
|
||||||
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
||||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||||
unique=`for i in $$list; do \
|
unique=`for i in $$list; do \
|
||||||
@@ -253,7 +168,6 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
|||||||
$(AWK) ' { files[$$0] = 1; } \
|
$(AWK) ' { files[$$0] = 1; } \
|
||||||
END { for (i in files) print i; }'`; \
|
END { for (i in files) print i; }'`; \
|
||||||
mkid -fID $$unique
|
mkid -fID $$unique
|
||||||
tags: TAGS
|
|
||||||
|
|
||||||
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
||||||
$(TAGS_FILES) $(LISP)
|
$(TAGS_FILES) $(LISP)
|
||||||
@@ -265,24 +179,8 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
|||||||
done | \
|
done | \
|
||||||
$(AWK) ' { files[$$0] = 1; } \
|
$(AWK) ' { files[$$0] = 1; } \
|
||||||
END { for (i in files) print i; }'`; \
|
END { for (i in files) print i; }'`; \
|
||||||
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|
test -z "$(ETAGS_ARGS)$$tags$$unique" \
|
||||||
test -n "$$unique" || unique=$$empty_fix; \
|
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
|
||||||
$$tags $$unique; \
|
|
||||||
fi
|
|
||||||
ctags: CTAGS
|
|
||||||
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
|
||||||
$(TAGS_FILES) $(LISP)
|
|
||||||
tags=; \
|
|
||||||
here=`pwd`; \
|
|
||||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
|
||||||
unique=`for i in $$list; do \
|
|
||||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
|
||||||
done | \
|
|
||||||
$(AWK) ' { files[$$0] = 1; } \
|
|
||||||
END { for (i in files) print i; }'`; \
|
|
||||||
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|
|
||||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
|
||||||
$$tags $$unique
|
$$tags $$unique
|
||||||
|
|
||||||
GTAGS:
|
GTAGS:
|
||||||
@@ -291,22 +189,19 @@ GTAGS:
|
|||||||
&& gtags -i $(GTAGS_ARGS) $$here
|
&& gtags -i $(GTAGS_ARGS) $$here
|
||||||
|
|
||||||
distclean-tags:
|
distclean-tags:
|
||||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
|
||||||
|
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
|
|
||||||
|
top_distdir = ../..
|
||||||
|
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
|
||||||
|
|
||||||
distdir: $(DISTFILES)
|
distdir: $(DISTFILES)
|
||||||
$(mkdir_p) $(distdir)/../..
|
@list='$(DISTFILES)'; for file in $$list; do \
|
||||||
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
|
|
||||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
|
|
||||||
list='$(DISTFILES)'; for file in $$list; do \
|
|
||||||
case $$file in \
|
|
||||||
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
|
|
||||||
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
|
|
||||||
esac; \
|
|
||||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||||
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||||
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||||
dir="/$$dir"; \
|
dir="/$$dir"; \
|
||||||
$(mkdir_p) "$(distdir)$$dir"; \
|
$(mkinstalldirs) "$(distdir)$$dir"; \
|
||||||
else \
|
else \
|
||||||
dir=''; \
|
dir=''; \
|
||||||
fi; \
|
fi; \
|
||||||
@@ -324,10 +219,10 @@ distdir: $(DISTFILES)
|
|||||||
check-am: all-am
|
check-am: all-am
|
||||||
check: check-am
|
check: check-am
|
||||||
all-am: Makefile $(HEADERS)
|
all-am: Makefile $(HEADERS)
|
||||||
|
|
||||||
installdirs:
|
installdirs:
|
||||||
for dir in "$(DESTDIR)$(dnetincludedir)"; do \
|
$(mkinstalldirs) $(DESTDIR)$(dnetincludedir)
|
||||||
test -z "$$dir" || $(mkdir_p) "$$dir"; \
|
|
||||||
done
|
|
||||||
install: install-am
|
install: install-am
|
||||||
install-exec: install-exec-am
|
install-exec: install-exec-am
|
||||||
install-data: install-data-am
|
install-data: install-data-am
|
||||||
@@ -339,7 +234,7 @@ install-am: all-am
|
|||||||
installcheck: installcheck-am
|
installcheck: installcheck-am
|
||||||
install-strip:
|
install-strip:
|
||||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
INSTALL_STRIP_FLAG=-s \
|
||||||
`test -z '$(STRIP)' || \
|
`test -z '$(STRIP)' || \
|
||||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||||
mostlyclean-generic:
|
mostlyclean-generic:
|
||||||
@@ -347,8 +242,7 @@ mostlyclean-generic:
|
|||||||
clean-generic:
|
clean-generic:
|
||||||
|
|
||||||
distclean-generic:
|
distclean-generic:
|
||||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||||
-test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
|
|
||||||
|
|
||||||
maintainer-clean-generic:
|
maintainer-clean-generic:
|
||||||
@echo "This command is intended for maintainers to use"
|
@echo "This command is intended for maintainers to use"
|
||||||
@@ -358,7 +252,7 @@ clean: clean-am
|
|||||||
clean-am: clean-generic clean-libtool mostlyclean-am
|
clean-am: clean-generic clean-libtool mostlyclean-am
|
||||||
|
|
||||||
distclean: distclean-am
|
distclean: distclean-am
|
||||||
-rm -f Makefile
|
|
||||||
distclean-am: clean-am distclean-generic distclean-libtool \
|
distclean-am: clean-am distclean-generic distclean-libtool \
|
||||||
distclean-tags
|
distclean-tags
|
||||||
|
|
||||||
@@ -366,8 +260,6 @@ dvi: dvi-am
|
|||||||
|
|
||||||
dvi-am:
|
dvi-am:
|
||||||
|
|
||||||
html: html-am
|
|
||||||
|
|
||||||
info: info-am
|
info: info-am
|
||||||
|
|
||||||
info-am:
|
info-am:
|
||||||
@@ -383,34 +275,25 @@ install-man:
|
|||||||
installcheck-am:
|
installcheck-am:
|
||||||
|
|
||||||
maintainer-clean: maintainer-clean-am
|
maintainer-clean: maintainer-clean-am
|
||||||
-rm -f Makefile
|
|
||||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||||
|
|
||||||
mostlyclean: mostlyclean-am
|
mostlyclean: mostlyclean-am
|
||||||
|
|
||||||
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
|
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
|
||||||
|
|
||||||
pdf: pdf-am
|
|
||||||
|
|
||||||
pdf-am:
|
|
||||||
|
|
||||||
ps: ps-am
|
|
||||||
|
|
||||||
ps-am:
|
|
||||||
|
|
||||||
uninstall-am: uninstall-dnetincludeHEADERS uninstall-info-am
|
uninstall-am: uninstall-dnetincludeHEADERS uninstall-info-am
|
||||||
|
|
||||||
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
|
.PHONY: GTAGS all all-am check check-am clean clean-generic \
|
||||||
clean-libtool ctags distclean distclean-generic \
|
clean-libtool distclean distclean-generic distclean-libtool \
|
||||||
distclean-libtool distclean-tags distdir dvi dvi-am html \
|
distclean-tags distdir dvi dvi-am info info-am install \
|
||||||
html-am info info-am install install-am install-data \
|
install-am install-data install-data-am \
|
||||||
install-data-am install-dnetincludeHEADERS install-exec \
|
install-dnetincludeHEADERS install-exec install-exec-am \
|
||||||
install-exec-am install-info install-info-am install-man \
|
install-info install-info-am install-man install-strip \
|
||||||
install-strip installcheck installcheck-am installdirs \
|
installcheck installcheck-am installdirs maintainer-clean \
|
||||||
maintainer-clean maintainer-clean-generic mostlyclean \
|
maintainer-clean-generic mostlyclean mostlyclean-generic \
|
||||||
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
|
mostlyclean-libtool tags uninstall uninstall-am \
|
||||||
tags uninstall uninstall-am uninstall-dnetincludeHEADERS \
|
uninstall-dnetincludeHEADERS uninstall-info-am
|
||||||
uninstall-info-am
|
|
||||||
|
|
||||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 2000 Dug Song <dugsong@monkey.org>
|
* Copyright (c) 2000 Dug Song <dugsong@monkey.org>
|
||||||
*
|
*
|
||||||
* $Id: addr.h,v 1.12 2003/02/27 03:44:55 dugsong Exp $
|
* $Id: addr.h 404 2003-02-27 03:44:55Z dugsong $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef DNET_ADDR_H
|
#ifndef DNET_ADDR_H
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 2000 Dug Song <dugsong@monkey.org>
|
* Copyright (c) 2000 Dug Song <dugsong@monkey.org>
|
||||||
*
|
*
|
||||||
* $Id: arp.h,v 1.12 2003/03/16 17:39:17 dugsong Exp $
|
* $Id: arp.h 416 2003-03-16 17:39:18Z dugsong $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef DNET_ARP_H
|
#ifndef DNET_ARP_H
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 2002 Dug Song <dugsong@monkey.org>
|
* Copyright (c) 2002 Dug Song <dugsong@monkey.org>
|
||||||
*
|
*
|
||||||
* $Id: blob.h,v 1.2 2002/04/05 03:06:44 dugsong Exp $
|
* $Id: blob.h 334 2002-04-05 03:06:44Z dugsong $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef DNET_BLOB_H
|
#ifndef DNET_BLOB_H
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 2000 Dug Song <dugsong@monkey.org>
|
* Copyright (c) 2000 Dug Song <dugsong@monkey.org>
|
||||||
*
|
*
|
||||||
* $Id: eth.h,v 1.16 2005/01/25 21:29:12 dugsong Exp $
|
* $Id: eth.h 547 2005-01-25 21:30:40Z dugsong $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef DNET_ETH_H
|
#ifndef DNET_ETH_H
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 2001 Dug Song <dugsong@monkey.org>
|
* Copyright (c) 2001 Dug Song <dugsong@monkey.org>
|
||||||
*
|
*
|
||||||
* $Id: fw.h,v 1.13 2002/12/14 04:02:36 dugsong Exp $
|
* $Id: fw.h 394 2002-12-14 04:02:36Z dugsong $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef DNET_FW_H
|
#ifndef DNET_FW_H
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 2000 Dug Song <dugsong@monkey.org>
|
* Copyright (c) 2000 Dug Song <dugsong@monkey.org>
|
||||||
*
|
*
|
||||||
* $Id: icmp.h,v 1.14 2003/03/16 17:39:17 dugsong Exp $
|
* $Id: icmp.h 416 2003-03-16 17:39:18Z dugsong $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef DNET_ICMP_H
|
#ifndef DNET_ICMP_H
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 2000 Dug Song <dugsong@monkey.org>
|
* Copyright (c) 2000 Dug Song <dugsong@monkey.org>
|
||||||
*
|
*
|
||||||
* $Id: intf.h,v 1.16 2004/01/13 07:41:09 dugsong Exp $
|
* $Id: intf.h 478 2004-01-13 07:41:09Z dugsong $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef DNET_INTF_H
|
#ifndef DNET_INTF_H
|
||||||
@@ -63,7 +63,6 @@ int intf_get_dst(intf_t *i, struct intf_entry *entry, struct addr *dst);
|
|||||||
int intf_set(intf_t *i, const struct intf_entry *entry);
|
int intf_set(intf_t *i, const struct intf_entry *entry);
|
||||||
int intf_loop(intf_t *i, intf_handler callback, void *arg);
|
int intf_loop(intf_t *i, intf_handler callback, void *arg);
|
||||||
intf_t *intf_close(intf_t *i);
|
intf_t *intf_close(intf_t *i);
|
||||||
|
|
||||||
__END_DECLS
|
__END_DECLS
|
||||||
|
|
||||||
#endif /* DNET_INTF_H */
|
#endif /* DNET_INTF_H */
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 2000 Dug Song <dugsong@monkey.org>
|
* Copyright (c) 2000 Dug Song <dugsong@monkey.org>
|
||||||
*
|
*
|
||||||
* $Id: ip.h,v 1.25 2005/02/16 22:02:45 dugsong Exp $
|
* $Id: ip.h 594 2005-02-16 22:02:45Z dugsong $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef DNET_IP_H
|
#ifndef DNET_IP_H
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 2002 Dug Song <dugsong@monkey.org>
|
* Copyright (c) 2002 Dug Song <dugsong@monkey.org>
|
||||||
*
|
*
|
||||||
* $Id: ip6.h,v 1.6 2004/02/23 10:01:15 dugsong Exp $
|
* $Id: ip6.h 486 2004-02-23 10:01:15Z dugsong $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef DNET_IP6_H
|
#ifndef DNET_IP6_H
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
* Copyright (c) 2000 Dug Song <dugsong@monkey.org>
|
* Copyright (c) 2000 Dug Song <dugsong@monkey.org>
|
||||||
* Copyright (c) 1996 David Mazieres <dm@lcs.mit.edu>
|
* Copyright (c) 1996 David Mazieres <dm@lcs.mit.edu>
|
||||||
*
|
*
|
||||||
* $Id: rand.h,v 1.4 2002/04/07 19:01:25 dugsong Exp $
|
* $Id: rand.h 340 2002-04-07 19:01:25Z dugsong $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef DNET_RAND_H
|
#ifndef DNET_RAND_H
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 2000 Dug Song <dugsong@monkey.org>
|
* Copyright (c) 2000 Dug Song <dugsong@monkey.org>
|
||||||
*
|
*
|
||||||
* $Id: route.h,v 1.6 2002/02/04 04:02:22 dugsong Exp $
|
* $Id: route.h 260 2002-02-04 04:03:45Z dugsong $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef DNET_ROUTE_H
|
#ifndef DNET_ROUTE_H
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 2000 Dug Song <dugsong@monkey.org>
|
* Copyright (c) 2000 Dug Song <dugsong@monkey.org>
|
||||||
*
|
*
|
||||||
* $Id: tcp.h,v 1.17 2004/02/23 10:02:11 dugsong Exp $
|
* $Id: tcp.h 487 2004-02-23 10:02:11Z dugsong $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef DNET_TCP_H
|
#ifndef DNET_TCP_H
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 2001 Dug Song <dugsong@monkey.org>
|
* Copyright (c) 2001 Dug Song <dugsong@monkey.org>
|
||||||
*
|
*
|
||||||
* $Id: tun.h,v 1.2 2005/01/25 21:29:12 dugsong Exp $
|
* $Id: tun.h 547 2005-01-25 21:30:40Z dugsong $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef DNET_TUN_H
|
#ifndef DNET_TUN_H
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 2000 Dug Song <dugsong@monkey.org>
|
* Copyright (c) 2000 Dug Song <dugsong@monkey.org>
|
||||||
*
|
*
|
||||||
* $Id: udp.h,v 1.8 2002/04/02 05:05:39 dugsong Exp $
|
* $Id: udp.h 330 2002-04-02 05:05:39Z dugsong $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef DNET_UDP_H
|
#ifndef DNET_UDP_H
|
||||||
|
|||||||
@@ -225,7 +225,7 @@
|
|||||||
#define STDC_HEADERS 1
|
#define STDC_HEADERS 1
|
||||||
|
|
||||||
/* Version number of package */
|
/* Version number of package */
|
||||||
#define VERSION "1.10"
|
#define VERSION "1.12"
|
||||||
|
|
||||||
/* Define for faster code generation. */
|
/* Define for faster code generation. */
|
||||||
#define WIN32_LEAN_AND_MEAN
|
#define WIN32_LEAN_AND_MEAN
|
||||||
@@ -272,6 +272,8 @@ int strlcpy(char *, const char *, int);
|
|||||||
#ifndef HAVE_STRSEP
|
#ifndef HAVE_STRSEP
|
||||||
char *strsep(char **, const char *);
|
char *strsep(char **, const char *);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#define snprintf _snprintf
|
||||||
|
|
||||||
/* Without this, Windows will give us all sorts of crap about using functions
|
/* Without this, Windows will give us all sorts of crap about using functions
|
||||||
like strcpy() even if they are done safely */
|
like strcpy() even if they are done safely */
|
||||||
|
|||||||
@@ -279,10 +279,6 @@
|
|||||||
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
|
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
|
||||||
>
|
>
|
||||||
</Filter>
|
</Filter>
|
||||||
<File
|
|
||||||
RelativePath=".\ReadMe.txt"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Files>
|
</Files>
|
||||||
<Globals>
|
<Globals>
|
||||||
</Globals>
|
</Globals>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
## $Id: Makefile.am,v 1.16 2005/02/10 17:06:36 dugsong Exp $
|
## $Id: Makefile.am 625 2006-01-19 06:11:01Z dugsong $
|
||||||
|
|
||||||
include $(top_srcdir)/Makefile.am.common
|
include $(top_srcdir)/Makefile.am.common
|
||||||
|
|
||||||
@@ -6,8 +6,6 @@ lib_LTLIBRARIES = libdnet.la
|
|||||||
|
|
||||||
libdnet_la_SOURCES = addr-util.c addr.c blob.c ip-util.c ip6.c rand.c
|
libdnet_la_SOURCES = addr-util.c addr.c blob.c ip-util.c ip6.c rand.c
|
||||||
|
|
||||||
EXTRA_libdnet_la_SOURCES =
|
|
||||||
|
|
||||||
libdnet_la_LIBADD = @LTLIBOBJS@
|
libdnet_la_LIBADD = @LTLIBOBJS@
|
||||||
|
|
||||||
libdnet_la_LDFLAGS = -version-info 1:0:0
|
libdnet_la_LDFLAGS = -version-info 1:1:0
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
# Makefile.in generated by automake 1.9.2 from Makefile.am.
|
# Makefile.in generated by automake 1.6.3 from Makefile.am.
|
||||||
# @configure_input@
|
# @configure_input@
|
||||||
|
|
||||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
|
||||||
# 2003, 2004 Free Software Foundation, Inc.
|
# Free Software Foundation, Inc.
|
||||||
# This Makefile.in is free software; the Free Software Foundation
|
# This Makefile.in is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
# with or without modifications, as long as this notice is preserved.
|
# with or without modifications, as long as this notice is preserved.
|
||||||
@@ -13,257 +13,174 @@
|
|||||||
# PARTICULAR PURPOSE.
|
# PARTICULAR PURPOSE.
|
||||||
|
|
||||||
@SET_MAKE@
|
@SET_MAKE@
|
||||||
|
SHELL = @SHELL@
|
||||||
SOURCES = $(libdnet_la_SOURCES) $(EXTRA_libdnet_la_SOURCES)
|
|
||||||
|
|
||||||
srcdir = @srcdir@
|
srcdir = @srcdir@
|
||||||
top_srcdir = @top_srcdir@
|
top_srcdir = @top_srcdir@
|
||||||
VPATH = @srcdir@
|
VPATH = @srcdir@
|
||||||
|
prefix = @prefix@
|
||||||
|
exec_prefix = @exec_prefix@
|
||||||
|
|
||||||
|
bindir = @bindir@
|
||||||
|
sbindir = @sbindir@
|
||||||
|
libexecdir = @libexecdir@
|
||||||
|
datadir = @datadir@
|
||||||
|
sysconfdir = @sysconfdir@
|
||||||
|
sharedstatedir = @sharedstatedir@
|
||||||
|
localstatedir = @localstatedir@
|
||||||
|
libdir = @libdir@
|
||||||
|
infodir = @infodir@
|
||||||
|
mandir = @mandir@
|
||||||
|
includedir = @includedir@
|
||||||
|
oldincludedir = /usr/include
|
||||||
pkgdatadir = $(datadir)/@PACKAGE@
|
pkgdatadir = $(datadir)/@PACKAGE@
|
||||||
pkglibdir = $(libdir)/@PACKAGE@
|
pkglibdir = $(libdir)/@PACKAGE@
|
||||||
pkgincludedir = $(includedir)/@PACKAGE@
|
pkgincludedir = $(includedir)/@PACKAGE@
|
||||||
top_builddir = ..
|
top_builddir = ..
|
||||||
|
|
||||||
|
ACLOCAL = @ACLOCAL@
|
||||||
|
AUTOCONF = @AUTOCONF@
|
||||||
|
AUTOMAKE = @AUTOMAKE@
|
||||||
|
AUTOHEADER = @AUTOHEADER@
|
||||||
|
|
||||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||||
INSTALL = @INSTALL@
|
INSTALL = @INSTALL@
|
||||||
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||||
|
INSTALL_DATA = @INSTALL_DATA@
|
||||||
install_sh_DATA = $(install_sh) -c -m 644
|
install_sh_DATA = $(install_sh) -c -m 644
|
||||||
install_sh_PROGRAM = $(install_sh) -c
|
install_sh_PROGRAM = $(install_sh) -c
|
||||||
install_sh_SCRIPT = $(install_sh) -c
|
install_sh_SCRIPT = $(install_sh) -c
|
||||||
|
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||||
INSTALL_HEADER = $(INSTALL_DATA)
|
INSTALL_HEADER = $(INSTALL_DATA)
|
||||||
transform = $(program_transform_name)
|
transform = @program_transform_name@
|
||||||
NORMAL_INSTALL = :
|
NORMAL_INSTALL = :
|
||||||
PRE_INSTALL = :
|
PRE_INSTALL = :
|
||||||
POST_INSTALL = :
|
POST_INSTALL = :
|
||||||
NORMAL_UNINSTALL = :
|
NORMAL_UNINSTALL = :
|
||||||
PRE_UNINSTALL = :
|
PRE_UNINSTALL = :
|
||||||
POST_UNINSTALL = :
|
POST_UNINSTALL = :
|
||||||
build_triplet = @build@
|
host_alias = @host_alias@
|
||||||
host_triplet = @host@
|
host_triplet = @host@
|
||||||
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
|
|
||||||
$(top_srcdir)/Makefile.am.common arp-bsd.c arp-ioctl.c \
|
EXEEXT = @EXEEXT@
|
||||||
arp-none.c arp-win32.c err.c eth-bsd.c eth-dlpi.c eth-linux.c \
|
OBJEXT = @OBJEXT@
|
||||||
eth-ndd.c eth-none.c eth-pfilt.c eth-snoop.c eth-win32.c \
|
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||||
fw-none.c intf-win32.c intf.c ip-cooked.c ip-win32.c ip.c \
|
AMTAR = @AMTAR@
|
||||||
memcmp.c route-bsd.c route-hpux.c route-linux.c route-none.c \
|
AR = @AR@
|
||||||
route-win32.c strlcat.c strlcpy.c strsep.c tun-bsd.c \
|
AS = @AS@
|
||||||
tun-linux.c tun-none.c tun-solaris.c
|
AWK = @AWK@
|
||||||
|
CC = @CC@
|
||||||
|
CHECKINC = @CHECKINC@
|
||||||
|
CHECKLIB = @CHECKLIB@
|
||||||
|
CXX = @CXX@
|
||||||
|
CXXCPP = @CXXCPP@
|
||||||
|
DEPDIR = @DEPDIR@
|
||||||
|
DLLTOOL = @DLLTOOL@
|
||||||
|
ECHO = @ECHO@
|
||||||
|
EGREP = @EGREP@
|
||||||
|
F77 = @F77@
|
||||||
|
GCJ = @GCJ@
|
||||||
|
GCJFLAGS = @GCJFLAGS@
|
||||||
|
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||||
|
LIBTOOL = @LIBTOOL@
|
||||||
|
LN_S = @LN_S@
|
||||||
|
MAINT = @MAINT@
|
||||||
|
OBJDUMP = @OBJDUMP@
|
||||||
|
PACKAGE = @PACKAGE@
|
||||||
|
PYTHON = @PYTHON@
|
||||||
|
RANLIB = @RANLIB@
|
||||||
|
RC = @RC@
|
||||||
|
STRIP = @STRIP@
|
||||||
|
TCLINC = @TCLINC@
|
||||||
|
TCLLIB = @TCLLIB@
|
||||||
|
VERSION = @VERSION@
|
||||||
|
ac_aux_dir = @ac_aux_dir@
|
||||||
|
am__include = @am__include@
|
||||||
|
am__quote = @am__quote@
|
||||||
|
install_sh = @install_sh@
|
||||||
|
|
||||||
|
AUTOMAKE_OPTIONS = foreign no-dependencies
|
||||||
|
|
||||||
|
AM_CPPFLAGS = -I$(top_srcdir)/include
|
||||||
|
|
||||||
|
lib_LTLIBRARIES = libdnet.la
|
||||||
|
|
||||||
|
libdnet_la_SOURCES = addr-util.c addr.c blob.c ip-util.c ip6.c rand.c
|
||||||
|
|
||||||
|
libdnet_la_LIBADD = @LTLIBOBJS@
|
||||||
|
|
||||||
|
libdnet_la_LDFLAGS = -version-info 1:1:0
|
||||||
subdir = src
|
subdir = src
|
||||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
|
||||||
am__aclocal_m4_deps = $(top_srcdir)/config/acinclude.m4 \
|
|
||||||
$(top_srcdir)/configure.in
|
|
||||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
|
||||||
$(ACLOCAL_M4)
|
|
||||||
mkinstalldirs = $(install_sh) -d
|
|
||||||
CONFIG_HEADER = $(top_builddir)/include/config.h
|
CONFIG_HEADER = $(top_builddir)/include/config.h
|
||||||
CONFIG_CLEAN_FILES =
|
CONFIG_CLEAN_FILES =
|
||||||
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
|
|
||||||
am__vpath_adj = case $$p in \
|
|
||||||
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
|
|
||||||
*) f=$$p;; \
|
|
||||||
esac;
|
|
||||||
am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
|
|
||||||
am__installdirs = "$(DESTDIR)$(libdir)"
|
|
||||||
libLTLIBRARIES_INSTALL = $(INSTALL)
|
|
||||||
LTLIBRARIES = $(lib_LTLIBRARIES)
|
LTLIBRARIES = $(lib_LTLIBRARIES)
|
||||||
|
|
||||||
libdnet_la_DEPENDENCIES = @LTLIBOBJS@
|
libdnet_la_DEPENDENCIES = @LTLIBOBJS@
|
||||||
am_libdnet_la_OBJECTS = addr-util.lo addr.lo blob.lo ip-util.lo ip6.lo \
|
am_libdnet_la_OBJECTS = addr-util.lo addr.lo blob.lo ip-util.lo ip6.lo \
|
||||||
rand.lo
|
rand.lo
|
||||||
libdnet_la_OBJECTS = $(am_libdnet_la_OBJECTS)
|
libdnet_la_OBJECTS = $(am_libdnet_la_OBJECTS)
|
||||||
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include
|
|
||||||
|
DEFS = @DEFS@
|
||||||
|
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include
|
||||||
|
CPPFLAGS = @CPPFLAGS@
|
||||||
|
LDFLAGS = @LDFLAGS@
|
||||||
|
LIBS = @LIBS@
|
||||||
depcomp =
|
depcomp =
|
||||||
am__depfiles_maybe =
|
am__depfiles_maybe =
|
||||||
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||||
LTCOMPILE = $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) \
|
LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \
|
||||||
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
|
$(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||||
$(AM_CFLAGS) $(CFLAGS)
|
|
||||||
CCLD = $(CC)
|
CCLD = $(CC)
|
||||||
LINK = $(LIBTOOL) --mode=link --tag=CC $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
|
LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
|
||||||
$(AM_LDFLAGS) $(LDFLAGS) -o $@
|
$(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||||
SOURCES = $(libdnet_la_SOURCES) $(EXTRA_libdnet_la_SOURCES)
|
|
||||||
DIST_SOURCES = $(libdnet_la_SOURCES) $(EXTRA_libdnet_la_SOURCES)
|
|
||||||
ETAGS = etags
|
|
||||||
CTAGS = ctags
|
|
||||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
|
||||||
ACLOCAL = @ACLOCAL@
|
|
||||||
AMDEP_FALSE = @AMDEP_FALSE@
|
|
||||||
AMDEP_TRUE = @AMDEP_TRUE@
|
|
||||||
AMTAR = @AMTAR@
|
|
||||||
AR = @AR@
|
|
||||||
AUTOCONF = @AUTOCONF@
|
|
||||||
AUTOHEADER = @AUTOHEADER@
|
|
||||||
AUTOMAKE = @AUTOMAKE@
|
|
||||||
AWK = @AWK@
|
|
||||||
CC = @CC@
|
|
||||||
CCDEPMODE = @CCDEPMODE@
|
|
||||||
CFLAGS = @CFLAGS@
|
CFLAGS = @CFLAGS@
|
||||||
CHECKINC = @CHECKINC@
|
DIST_SOURCES = $(libdnet_la_SOURCES)
|
||||||
CHECKLIB = @CHECKLIB@
|
DIST_COMMON = Makefile.am Makefile.in arp-bsd.c arp-ioctl.c arp-none.c \
|
||||||
CPP = @CPP@
|
arp-win32.c err.c eth-bsd.c eth-dlpi.c eth-linux.c eth-ndd.c \
|
||||||
CPPFLAGS = @CPPFLAGS@
|
eth-none.c eth-pfilt.c eth-snoop.c eth-win32.c fw-ipchains.c \
|
||||||
CXX = @CXX@
|
fw-ipf.c fw-ipfw.c fw-none.c fw-pf.c fw-pktfilter.c \
|
||||||
CXXCPP = @CXXCPP@
|
intf-win32.c intf.c ip-cooked.c ip-win32.c ip.c memcmp.c \
|
||||||
CXXDEPMODE = @CXXDEPMODE@
|
route-bsd.c route-hpux.c route-linux.c route-none.c \
|
||||||
CXXFLAGS = @CXXFLAGS@
|
route-win32.c strlcat.c strlcpy.c strsep.c tun-bsd.c \
|
||||||
CYGPATH_W = @CYGPATH_W@
|
tun-linux.c tun-none.c tun-solaris.c
|
||||||
DEFS = @DEFS@
|
SOURCES = $(libdnet_la_SOURCES)
|
||||||
DEPDIR = @DEPDIR@
|
|
||||||
ECHO = @ECHO@
|
|
||||||
ECHO_C = @ECHO_C@
|
|
||||||
ECHO_N = @ECHO_N@
|
|
||||||
ECHO_T = @ECHO_T@
|
|
||||||
EGREP = @EGREP@
|
|
||||||
EXEEXT = @EXEEXT@
|
|
||||||
F77 = @F77@
|
|
||||||
FFLAGS = @FFLAGS@
|
|
||||||
GREP = @GREP@
|
|
||||||
HAVE_CHECK_FALSE = @HAVE_CHECK_FALSE@
|
|
||||||
HAVE_CHECK_TRUE = @HAVE_CHECK_TRUE@
|
|
||||||
INSTALL_DATA = @INSTALL_DATA@
|
|
||||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
|
||||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
|
||||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
|
||||||
LDFLAGS = @LDFLAGS@
|
|
||||||
LIBOBJS = @LIBOBJS@
|
|
||||||
LIBS = @LIBS@
|
|
||||||
LIBTOOL = @LIBTOOL@
|
|
||||||
LN_S = @LN_S@
|
|
||||||
LTLIBOBJS = @LTLIBOBJS@
|
|
||||||
MAINT = @MAINT@
|
|
||||||
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
|
|
||||||
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
|
|
||||||
MAKEINFO = @MAKEINFO@
|
|
||||||
OBJEXT = @OBJEXT@
|
|
||||||
PACKAGE = @PACKAGE@
|
|
||||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
|
||||||
PACKAGE_NAME = @PACKAGE_NAME@
|
|
||||||
PACKAGE_STRING = @PACKAGE_STRING@
|
|
||||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
|
||||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
|
||||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
|
||||||
PYTHON = @PYTHON@
|
|
||||||
PYTHON_FALSE = @PYTHON_FALSE@
|
|
||||||
PYTHON_TRUE = @PYTHON_TRUE@
|
|
||||||
RANLIB = @RANLIB@
|
|
||||||
SET_MAKE = @SET_MAKE@
|
|
||||||
SHELL = @SHELL@
|
|
||||||
STRIP = @STRIP@
|
|
||||||
TCLINC = @TCLINC@
|
|
||||||
TCLLIB = @TCLLIB@
|
|
||||||
TCL_FALSE = @TCL_FALSE@
|
|
||||||
TCL_TRUE = @TCL_TRUE@
|
|
||||||
VERSION = @VERSION@
|
|
||||||
ac_ct_CC = @ac_ct_CC@
|
|
||||||
ac_ct_CXX = @ac_ct_CXX@
|
|
||||||
ac_ct_F77 = @ac_ct_F77@
|
|
||||||
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
|
||||||
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
|
|
||||||
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
|
|
||||||
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
|
|
||||||
am__include = @am__include@
|
|
||||||
am__leading_dot = @am__leading_dot@
|
|
||||||
am__quote = @am__quote@
|
|
||||||
am__tar = @am__tar@
|
|
||||||
am__untar = @am__untar@
|
|
||||||
bindir = @bindir@
|
|
||||||
build = @build@
|
|
||||||
build_alias = @build_alias@
|
|
||||||
build_cpu = @build_cpu@
|
|
||||||
build_os = @build_os@
|
|
||||||
build_vendor = @build_vendor@
|
|
||||||
datadir = @datadir@
|
|
||||||
datarootdir = @datarootdir@
|
|
||||||
docdir = @docdir@
|
|
||||||
dvidir = @dvidir@
|
|
||||||
exec_prefix = @exec_prefix@
|
|
||||||
host = @host@
|
|
||||||
host_alias = @host_alias@
|
|
||||||
host_cpu = @host_cpu@
|
|
||||||
host_os = @host_os@
|
|
||||||
host_vendor = @host_vendor@
|
|
||||||
htmldir = @htmldir@
|
|
||||||
includedir = @includedir@
|
|
||||||
infodir = @infodir@
|
|
||||||
install_sh = @install_sh@
|
|
||||||
libdir = @libdir@
|
|
||||||
libexecdir = @libexecdir@
|
|
||||||
localedir = @localedir@
|
|
||||||
localstatedir = @localstatedir@
|
|
||||||
mandir = @mandir@
|
|
||||||
mkdir_p = @mkdir_p@
|
|
||||||
oldincludedir = @oldincludedir@
|
|
||||||
pdfdir = @pdfdir@
|
|
||||||
prefix = @prefix@
|
|
||||||
program_transform_name = @program_transform_name@
|
|
||||||
psdir = @psdir@
|
|
||||||
sbindir = @sbindir@
|
|
||||||
sharedstatedir = @sharedstatedir@
|
|
||||||
sysconfdir = @sysconfdir@
|
|
||||||
target_alias = @target_alias@
|
|
||||||
AUTOMAKE_OPTIONS = foreign no-dependencies
|
|
||||||
INCLUDES = -I$(top_srcdir)/include
|
|
||||||
DISTCLEANFILES = *~
|
|
||||||
lib_LTLIBRARIES = libdnet.la
|
|
||||||
libdnet_la_SOURCES = addr-util.c addr.c blob.c ip-util.c ip6.c rand.c
|
|
||||||
EXTRA_libdnet_la_SOURCES =
|
|
||||||
libdnet_la_LIBADD = @LTLIBOBJS@
|
|
||||||
libdnet_la_LDFLAGS = -version-info 1:0:0
|
|
||||||
all: all-am
|
all: all-am
|
||||||
|
|
||||||
.SUFFIXES:
|
.SUFFIXES:
|
||||||
.SUFFIXES: .c .lo .o .obj
|
.SUFFIXES: .c .lo .o .obj
|
||||||
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/Makefile.am.common $(am__configure_deps)
|
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/Makefile.am.common $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||||
@for dep in $?; do \
|
|
||||||
case '$(am__configure_deps)' in \
|
|
||||||
*$$dep*) \
|
|
||||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
|
|
||||||
&& exit 0; \
|
|
||||||
exit 1;; \
|
|
||||||
esac; \
|
|
||||||
done; \
|
|
||||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/Makefile'; \
|
|
||||||
cd $(top_srcdir) && \
|
cd $(top_srcdir) && \
|
||||||
$(AUTOMAKE) --foreign src/Makefile
|
$(AUTOMAKE) --foreign src/Makefile
|
||||||
.PRECIOUS: Makefile
|
Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
|
||||||
@case '$?' in \
|
libLTLIBRARIES_INSTALL = $(INSTALL)
|
||||||
*config.status*) \
|
|
||||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
|
||||||
*) \
|
|
||||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
|
||||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
|
||||||
esac;
|
|
||||||
|
|
||||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
|
||||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
|
||||||
|
|
||||||
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
|
|
||||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
|
||||||
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
|
|
||||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
|
||||||
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
|
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
|
||||||
@$(NORMAL_INSTALL)
|
@$(NORMAL_INSTALL)
|
||||||
test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)"
|
$(mkinstalldirs) $(DESTDIR)$(libdir)
|
||||||
@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
|
@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
|
||||||
if test -f $$p; then \
|
if test -f $$p; then \
|
||||||
f=$(am__strip_dir) \
|
f="`echo $$p | sed -e 's|^.*/||'`"; \
|
||||||
echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
|
echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) $$p $(DESTDIR)$(libdir)/$$f"; \
|
||||||
$(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
|
$(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) $$p $(DESTDIR)$(libdir)/$$f; \
|
||||||
else :; fi; \
|
else :; fi; \
|
||||||
done
|
done
|
||||||
|
|
||||||
uninstall-libLTLIBRARIES:
|
uninstall-libLTLIBRARIES:
|
||||||
@$(NORMAL_UNINSTALL)
|
@$(NORMAL_UNINSTALL)
|
||||||
@set -x; list='$(lib_LTLIBRARIES)'; for p in $$list; do \
|
@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
|
||||||
p=$(am__strip_dir) \
|
p="`echo $$p | sed -e 's|^.*/||'`"; \
|
||||||
echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
|
echo " $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$$p"; \
|
||||||
$(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
|
$(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$$p; \
|
||||||
done
|
done
|
||||||
|
|
||||||
clean-libLTLIBRARIES:
|
clean-libLTLIBRARIES:
|
||||||
-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
|
-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
|
||||||
@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
|
@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
|
||||||
dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
|
dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
|
||||||
test "$$dir" != "$$p" || dir=.; \
|
test -z "$dir" && dir=.; \
|
||||||
echo "rm -f \"$${dir}/so_locations\""; \
|
echo "rm -f \"$${dir}/so_locations\""; \
|
||||||
rm -f "$${dir}/so_locations"; \
|
rm -f "$${dir}/so_locations"; \
|
||||||
done
|
done
|
||||||
@@ -271,19 +188,19 @@ libdnet.la: $(libdnet_la_OBJECTS) $(libdnet_la_DEPENDENCIES)
|
|||||||
$(LINK) -rpath $(libdir) $(libdnet_la_LDFLAGS) $(libdnet_la_OBJECTS) $(libdnet_la_LIBADD) $(LIBS)
|
$(LINK) -rpath $(libdir) $(libdnet_la_LDFLAGS) $(libdnet_la_OBJECTS) $(libdnet_la_LIBADD) $(LIBS)
|
||||||
|
|
||||||
mostlyclean-compile:
|
mostlyclean-compile:
|
||||||
-rm -f *.$(OBJEXT)
|
-rm -f *.$(OBJEXT) core *.core
|
||||||
|
|
||||||
distclean-compile:
|
distclean-compile:
|
||||||
-rm -f *.tab.c
|
-rm -f *.tab.c
|
||||||
|
|
||||||
.c.o:
|
.c.o:
|
||||||
$(COMPILE) -c $<
|
$(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
|
||||||
|
|
||||||
.c.obj:
|
.c.obj:
|
||||||
$(COMPILE) -c `$(CYGPATH_W) '$<'`
|
$(COMPILE) -c `cygpath -w $<`
|
||||||
|
|
||||||
.c.lo:
|
.c.lo:
|
||||||
$(LTCOMPILE) -c -o $@ $<
|
$(LTCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
|
||||||
|
|
||||||
mostlyclean-libtool:
|
mostlyclean-libtool:
|
||||||
-rm -f *.lo
|
-rm -f *.lo
|
||||||
@@ -295,6 +212,11 @@ distclean-libtool:
|
|||||||
-rm -f libtool
|
-rm -f libtool
|
||||||
uninstall-info-am:
|
uninstall-info-am:
|
||||||
|
|
||||||
|
ETAGS = etags
|
||||||
|
ETAGSFLAGS =
|
||||||
|
|
||||||
|
tags: TAGS
|
||||||
|
|
||||||
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
||||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||||
unique=`for i in $$list; do \
|
unique=`for i in $$list; do \
|
||||||
@@ -303,7 +225,6 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
|||||||
$(AWK) ' { files[$$0] = 1; } \
|
$(AWK) ' { files[$$0] = 1; } \
|
||||||
END { for (i in files) print i; }'`; \
|
END { for (i in files) print i; }'`; \
|
||||||
mkid -fID $$unique
|
mkid -fID $$unique
|
||||||
tags: TAGS
|
|
||||||
|
|
||||||
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
||||||
$(TAGS_FILES) $(LISP)
|
$(TAGS_FILES) $(LISP)
|
||||||
@@ -315,24 +236,8 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
|||||||
done | \
|
done | \
|
||||||
$(AWK) ' { files[$$0] = 1; } \
|
$(AWK) ' { files[$$0] = 1; } \
|
||||||
END { for (i in files) print i; }'`; \
|
END { for (i in files) print i; }'`; \
|
||||||
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|
test -z "$(ETAGS_ARGS)$$tags$$unique" \
|
||||||
test -n "$$unique" || unique=$$empty_fix; \
|
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
|
||||||
$$tags $$unique; \
|
|
||||||
fi
|
|
||||||
ctags: CTAGS
|
|
||||||
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
|
||||||
$(TAGS_FILES) $(LISP)
|
|
||||||
tags=; \
|
|
||||||
here=`pwd`; \
|
|
||||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
|
||||||
unique=`for i in $$list; do \
|
|
||||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
|
||||||
done | \
|
|
||||||
$(AWK) ' { files[$$0] = 1; } \
|
|
||||||
END { for (i in files) print i; }'`; \
|
|
||||||
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|
|
||||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
|
||||||
$$tags $$unique
|
$$tags $$unique
|
||||||
|
|
||||||
GTAGS:
|
GTAGS:
|
||||||
@@ -341,22 +246,19 @@ GTAGS:
|
|||||||
&& gtags -i $(GTAGS_ARGS) $$here
|
&& gtags -i $(GTAGS_ARGS) $$here
|
||||||
|
|
||||||
distclean-tags:
|
distclean-tags:
|
||||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
|
||||||
|
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
|
|
||||||
|
top_distdir = ..
|
||||||
|
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
|
||||||
|
|
||||||
distdir: $(DISTFILES)
|
distdir: $(DISTFILES)
|
||||||
$(mkdir_p) $(distdir)/..
|
@list='$(DISTFILES)'; for file in $$list; do \
|
||||||
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
|
|
||||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
|
|
||||||
list='$(DISTFILES)'; for file in $$list; do \
|
|
||||||
case $$file in \
|
|
||||||
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
|
|
||||||
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
|
|
||||||
esac; \
|
|
||||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||||
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||||
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||||
dir="/$$dir"; \
|
dir="/$$dir"; \
|
||||||
$(mkdir_p) "$(distdir)$$dir"; \
|
$(mkinstalldirs) "$(distdir)$$dir"; \
|
||||||
else \
|
else \
|
||||||
dir=''; \
|
dir=''; \
|
||||||
fi; \
|
fi; \
|
||||||
@@ -374,10 +276,10 @@ distdir: $(DISTFILES)
|
|||||||
check-am: all-am
|
check-am: all-am
|
||||||
check: check-am
|
check: check-am
|
||||||
all-am: Makefile $(LTLIBRARIES)
|
all-am: Makefile $(LTLIBRARIES)
|
||||||
|
|
||||||
installdirs:
|
installdirs:
|
||||||
for dir in "$(DESTDIR)$(libdir)"; do \
|
$(mkinstalldirs) $(DESTDIR)$(libdir)
|
||||||
test -z "$$dir" || $(mkdir_p) "$$dir"; \
|
|
||||||
done
|
|
||||||
install: install-am
|
install: install-am
|
||||||
install-exec: install-exec-am
|
install-exec: install-exec-am
|
||||||
install-data: install-data-am
|
install-data: install-data-am
|
||||||
@@ -389,7 +291,7 @@ install-am: all-am
|
|||||||
installcheck: installcheck-am
|
installcheck: installcheck-am
|
||||||
install-strip:
|
install-strip:
|
||||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
INSTALL_STRIP_FLAG=-s \
|
||||||
`test -z '$(STRIP)' || \
|
`test -z '$(STRIP)' || \
|
||||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||||
mostlyclean-generic:
|
mostlyclean-generic:
|
||||||
@@ -397,8 +299,7 @@ mostlyclean-generic:
|
|||||||
clean-generic:
|
clean-generic:
|
||||||
|
|
||||||
distclean-generic:
|
distclean-generic:
|
||||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||||
-test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
|
|
||||||
|
|
||||||
maintainer-clean-generic:
|
maintainer-clean-generic:
|
||||||
@echo "This command is intended for maintainers to use"
|
@echo "This command is intended for maintainers to use"
|
||||||
@@ -409,7 +310,7 @@ clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
|
|||||||
mostlyclean-am
|
mostlyclean-am
|
||||||
|
|
||||||
distclean: distclean-am
|
distclean: distclean-am
|
||||||
-rm -f Makefile
|
|
||||||
distclean-am: clean-am distclean-compile distclean-generic \
|
distclean-am: clean-am distclean-compile distclean-generic \
|
||||||
distclean-libtool distclean-tags
|
distclean-libtool distclean-tags
|
||||||
|
|
||||||
@@ -417,8 +318,6 @@ dvi: dvi-am
|
|||||||
|
|
||||||
dvi-am:
|
dvi-am:
|
||||||
|
|
||||||
html: html-am
|
|
||||||
|
|
||||||
info: info-am
|
info: info-am
|
||||||
|
|
||||||
info-am:
|
info-am:
|
||||||
@@ -434,7 +333,7 @@ install-man:
|
|||||||
installcheck-am:
|
installcheck-am:
|
||||||
|
|
||||||
maintainer-clean: maintainer-clean-am
|
maintainer-clean: maintainer-clean-am
|
||||||
-rm -f Makefile
|
|
||||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||||
|
|
||||||
mostlyclean: mostlyclean-am
|
mostlyclean: mostlyclean-am
|
||||||
@@ -442,26 +341,17 @@ mostlyclean: mostlyclean-am
|
|||||||
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
|
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
|
||||||
mostlyclean-libtool
|
mostlyclean-libtool
|
||||||
|
|
||||||
pdf: pdf-am
|
|
||||||
|
|
||||||
pdf-am:
|
|
||||||
|
|
||||||
ps: ps-am
|
|
||||||
|
|
||||||
ps-am:
|
|
||||||
|
|
||||||
uninstall-am: uninstall-info-am uninstall-libLTLIBRARIES
|
uninstall-am: uninstall-info-am uninstall-libLTLIBRARIES
|
||||||
|
|
||||||
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
|
.PHONY: GTAGS all all-am check check-am clean clean-generic \
|
||||||
clean-libLTLIBRARIES clean-libtool ctags distclean \
|
clean-libLTLIBRARIES clean-libtool distclean distclean-compile \
|
||||||
distclean-compile distclean-generic distclean-libtool \
|
distclean-generic distclean-libtool distclean-tags distdir dvi \
|
||||||
distclean-tags distdir dvi dvi-am html html-am info info-am \
|
dvi-am info info-am install install-am install-data \
|
||||||
install install-am install-data install-data-am install-exec \
|
install-data-am install-exec install-exec-am install-info \
|
||||||
install-exec-am install-info install-info-am \
|
install-info-am install-libLTLIBRARIES install-man \
|
||||||
install-libLTLIBRARIES install-man install-strip installcheck \
|
install-strip installcheck installcheck-am installdirs \
|
||||||
installcheck-am installdirs maintainer-clean \
|
maintainer-clean maintainer-clean-generic mostlyclean \
|
||||||
maintainer-clean-generic mostlyclean mostlyclean-compile \
|
mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
|
||||||
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
|
|
||||||
tags uninstall uninstall-am uninstall-info-am \
|
tags uninstall uninstall-am uninstall-info-am \
|
||||||
uninstall-libLTLIBRARIES
|
uninstall-libLTLIBRARIES
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 2002 Dug Song <dugsong@monkey.org>
|
* Copyright (c) 2002 Dug Song <dugsong@monkey.org>
|
||||||
*
|
*
|
||||||
* $Id: addr-util.c,v 1.4 2005/01/23 07:36:54 dugsong Exp $
|
* $Id: addr-util.c 539 2005-01-23 07:36:54Z dugsong $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
|
|||||||
@@ -5,10 +5,10 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 2000 Dug Song <dugsong@monkey.org>
|
* Copyright (c) 2000 Dug Song <dugsong@monkey.org>
|
||||||
*
|
*
|
||||||
* $Id: addr.c,v 1.33 2005/01/23 07:36:54 dugsong Exp $
|
* $Id: addr.c 610 2005-06-26 18:23:26Z dugsong $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef WIN32
|
||||||
#include "dnet_winconfig.h"
|
#include "dnet_winconfig.h"
|
||||||
#else
|
#else
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
@@ -250,15 +250,19 @@ addr_ntos(const struct addr *a, struct sockaddr *sa)
|
|||||||
case ADDR_TYPE_ETH:
|
case ADDR_TYPE_ETH:
|
||||||
#ifdef HAVE_NET_IF_DL_H
|
#ifdef HAVE_NET_IF_DL_H
|
||||||
memset(&so->sdl, 0, sizeof(so->sdl));
|
memset(&so->sdl, 0, sizeof(so->sdl));
|
||||||
#ifdef HAVE_SOCKADDR_SA_LEN
|
# ifdef HAVE_SOCKADDR_SA_LEN
|
||||||
so->sdl.sdl_len = sizeof(so->sdl);
|
so->sdl.sdl_len = sizeof(so->sdl);
|
||||||
#endif
|
# endif
|
||||||
so->sdl.sdl_family = AF_LINK;
|
so->sdl.sdl_family = AF_LINK;
|
||||||
so->sdl.sdl_alen = ETH_ADDR_LEN;
|
so->sdl.sdl_alen = ETH_ADDR_LEN;
|
||||||
memcpy(LLADDR(&so->sdl), &a->addr_eth, ETH_ADDR_LEN);
|
memcpy(LLADDR(&so->sdl), &a->addr_eth, ETH_ADDR_LEN);
|
||||||
#else
|
#else
|
||||||
memset(sa, 0, sizeof(*sa));
|
memset(sa, 0, sizeof(*sa));
|
||||||
|
# ifdef AF_LINK
|
||||||
|
sa->sa_family = AF_LINK;
|
||||||
|
# else
|
||||||
sa->sa_family = AF_UNSPEC;
|
sa->sa_family = AF_UNSPEC;
|
||||||
|
# endif
|
||||||
memcpy(sa->sa_data, &a->addr_eth, ETH_ADDR_LEN);
|
memcpy(sa->sa_data, &a->addr_eth, ETH_ADDR_LEN);
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 2000 Dug Song <dugsong@monkey.org>
|
* Copyright (c) 2000 Dug Song <dugsong@monkey.org>
|
||||||
*
|
*
|
||||||
* $Id: arp-bsd.c,v 1.14 2005/01/23 07:36:54 dugsong Exp $
|
* $Id: arp-bsd.c 539 2005-01-23 07:36:54Z dugsong $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 2001 Dug Song <dugsong@monkey.org>
|
* Copyright (c) 2001 Dug Song <dugsong@monkey.org>
|
||||||
*
|
*
|
||||||
* $Id: arp-ioctl.c,v 1.25 2005/02/09 22:31:00 dugsong Exp $
|
* $Id: arp-ioctl.c 554 2005-02-09 22:31:00Z dugsong $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 2000 Dug Song <dugsong@monkey.org>
|
* Copyright (c) 2000 Dug Song <dugsong@monkey.org>
|
||||||
*
|
*
|
||||||
* $Id: arp-none.c,v 1.5 2002/02/02 04:15:57 dugsong Exp $
|
* $Id: arp-none.c 252 2002-02-02 04:15:57Z dugsong $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 2002 Dug Song <dugsong@monkey.org>
|
* Copyright (c) 2002 Dug Song <dugsong@monkey.org>
|
||||||
*
|
*
|
||||||
* $Id: arp-win32.c,v 1.12 2005/01/23 07:36:54 dugsong Exp $
|
* $Id: arp-win32.c 539 2005-01-23 07:36:54Z dugsong $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
@@ -12,7 +12,7 @@
|
|||||||
#include "config.h"
|
#include "config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <winsock2.h>
|
#include <ws2tcpip.h>
|
||||||
#include <iphlpapi.h>
|
#include <iphlpapi.h>
|
||||||
|
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 2002 Dug Song <dugsong@monkey.org>
|
* Copyright (c) 2002 Dug Song <dugsong@monkey.org>
|
||||||
*
|
*
|
||||||
* $Id: blob.c,v 1.4 2002/08/20 05:18:49 dugsong Exp $
|
* $Id: blob.c 615 2006-01-08 16:06:49Z dugsong $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
@@ -131,8 +131,7 @@ blob_insert(blob_t *b, const void *buf, int len)
|
|||||||
{
|
{
|
||||||
if (blob_reserve(b, len) == 0 && b->size) {
|
if (blob_reserve(b, len) == 0 && b->size) {
|
||||||
if (b->end - b->off > 0)
|
if (b->end - b->off > 0)
|
||||||
memmove(b->base + b->off, b->base + b->off + len,
|
memmove( b->base + b->off + len, b->base + b->off, b->end - b->off);
|
||||||
b->end - b->off);
|
|
||||||
memcpy(b->base + b->off, buf, len);
|
memcpy(b->base + b->off, buf, len);
|
||||||
b->off += len;
|
b->off += len;
|
||||||
return (len);
|
return (len);
|
||||||
@@ -146,8 +145,7 @@ blob_delete(blob_t *b, void *buf, int len)
|
|||||||
if (b->off + len <= b->end && b->size) {
|
if (b->off + len <= b->end && b->size) {
|
||||||
if (buf != NULL)
|
if (buf != NULL)
|
||||||
memcpy(buf, b->base + b->off, len);
|
memcpy(buf, b->base + b->off, len);
|
||||||
memmove(b->base + b->off, b->base + b->off + len,
|
memmove(b->base + b->off, b->base + b->off + len, b->end - (b->off + len));
|
||||||
b->end - (b->off + len));
|
|
||||||
b->end -= len;
|
b->end -= len;
|
||||||
return (len);
|
return (len);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 2001 Dug Song <dugsong@monkey.org>
|
* Copyright (c) 2001 Dug Song <dugsong@monkey.org>
|
||||||
*
|
*
|
||||||
* $Id: eth-bsd.c,v 1.10 2005/01/25 21:30:39 dugsong Exp $
|
* $Id: eth-bsd.c 630 2006-02-02 04:17:39Z dugsong $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 2001 Dug Song <dugsong@monkey.org>
|
* Copyright (c) 2001 Dug Song <dugsong@monkey.org>
|
||||||
*
|
*
|
||||||
* $Id: eth-dlpi.c,v 1.19 2005/02/10 16:48:36 dugsong Exp $
|
* $Id: eth-dlpi.c 560 2005-02-10 16:48:36Z dugsong $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 2000 Dug Song <dugsong@monkey.org>
|
* Copyright (c) 2000 Dug Song <dugsong@monkey.org>
|
||||||
*
|
*
|
||||||
* $Id: eth-linux.c,v 1.8 2005/01/25 21:30:40 dugsong Exp $
|
* $Id: eth-linux.c 547 2005-01-25 21:30:40Z dugsong $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 2001 Dug Song <dugsong@monkey.org>
|
* Copyright (c) 2001 Dug Song <dugsong@monkey.org>
|
||||||
*
|
*
|
||||||
* $Id: eth-ndd.c,v 1.7 2005/01/25 21:30:40 dugsong Exp $
|
* $Id: eth-ndd.c 547 2005-01-25 21:30:40Z dugsong $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 2000 Dug Song <dugsong@monkey.org>
|
* Copyright (c) 2000 Dug Song <dugsong@monkey.org>
|
||||||
*
|
*
|
||||||
* $Id: eth-none.c,v 1.6 2005/01/25 21:30:40 dugsong Exp $
|
* $Id: eth-none.c 547 2005-01-25 21:30:40Z dugsong $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 2001 Dug Song <dugsong@monkey.org>
|
* Copyright (c) 2001 Dug Song <dugsong@monkey.org>
|
||||||
*
|
*
|
||||||
* $Id: eth-pfilt.c,v 1.1 2005/02/10 17:06:36 dugsong Exp $
|
* $Id: eth-pfilt.c 563 2005-02-10 17:06:36Z dugsong $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 2000 Dug Song <dugsong@monkey.org>
|
* Copyright (c) 2000 Dug Song <dugsong@monkey.org>
|
||||||
*
|
*
|
||||||
* $Id: eth-snoop.c,v 1.9 2005/01/30 06:01:57 dugsong Exp $
|
* $Id: eth-snoop.c 548 2005-01-30 06:01:57Z dugsong $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 2000 Dug Song <dugsong@monkey.org>
|
* Copyright (c) 2000 Dug Song <dugsong@monkey.org>
|
||||||
*
|
*
|
||||||
* $Id: eth-win32.c,v 1.11 2005/02/15 06:37:06 dugsong Exp $
|
* $Id: eth-win32.c 613 2005-09-26 02:46:57Z dugsong $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
@@ -12,11 +12,9 @@
|
|||||||
#include "config.h"
|
#include "config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* XXX - VC++ 6.0 bogosity
|
/* XXX - VC++ 6.0 bogosity */
|
||||||
#define sockaddr_storage sockaddr */
|
#define sockaddr_storage sockaddr
|
||||||
/* #include <Packet32.h> */
|
#undef sockaddr_storage
|
||||||
/* #undef sockaddr_storage */
|
|
||||||
/* #include <Ntddndis.h> */
|
|
||||||
|
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
@@ -32,31 +30,59 @@ struct eth_handle {
|
|||||||
LPPACKET pkt;
|
LPPACKET pkt;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct adapter {
|
|
||||||
char name[64];
|
|
||||||
char *desc;
|
|
||||||
};
|
|
||||||
|
|
||||||
eth_t *
|
eth_t *
|
||||||
eth_open(const char *device)
|
eth_open(const char *device)
|
||||||
{
|
{
|
||||||
eth_t *eth;
|
eth_t *eth;
|
||||||
char pname[128];
|
intf_t *intf;
|
||||||
|
struct intf_entry ifent;
|
||||||
if (eth_get_pcap_devname(device, pname, sizeof(pname)) != 0)
|
eth_addr_t ea;
|
||||||
return NULL;
|
char *p, *buf;
|
||||||
|
ULONG len;
|
||||||
if ((eth = calloc(1, sizeof(*eth))) == NULL)
|
|
||||||
|
/* Get interface entry. */
|
||||||
|
memset(&ifent, 0, sizeof(ifent));
|
||||||
|
if ((intf = intf_open()) != NULL) {
|
||||||
|
strlcpy(ifent.intf_name, device, sizeof(ifent.intf_name));
|
||||||
|
intf_get(intf, &ifent);
|
||||||
|
intf_close(intf);
|
||||||
|
}
|
||||||
|
if (ifent.intf_link_addr.addr_type != ADDR_TYPE_ETH)
|
||||||
|
return (NULL);
|
||||||
|
|
||||||
|
/* Get Packet driver adapter name/desc lists. */
|
||||||
|
buf = NULL;
|
||||||
|
PacketGetAdapterNames(buf, &len);
|
||||||
|
if (len > 0 && (buf = malloc(len)) != NULL) {
|
||||||
|
if (!PacketGetAdapterNames(buf, &len)) {
|
||||||
|
free(buf);
|
||||||
|
buf = NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (buf == NULL)
|
||||||
return (NULL);
|
return (NULL);
|
||||||
|
|
||||||
if ((eth->lpa = PacketOpenAdapter(pname)) == NULL ||
|
/* XXX - find adapter with matching interface MAC address. */
|
||||||
eth->lpa->hFile == INVALID_HANDLE_VALUE)
|
if ((eth = calloc(1, sizeof(*eth))) == NULL) {
|
||||||
return (eth_close(eth));
|
free(buf);
|
||||||
|
return (NULL);
|
||||||
PacketSetBuff(eth->lpa, 512000);
|
}
|
||||||
|
for (p = buf; *p != '\0'; p += strlen(p) + 1) {
|
||||||
if ((eth->pkt = PacketAllocatePacket()) == NULL)
|
if ((eth->lpa = PacketOpenAdapter(p)) != NULL) {
|
||||||
return (eth_close(eth));
|
if (eth->lpa->hFile != INVALID_HANDLE_VALUE &&
|
||||||
|
eth_get(eth, &ea) == 0 &&
|
||||||
|
memcmp(&ea, &ifent.intf_link_addr.addr_eth,
|
||||||
|
ETH_ADDR_LEN) == 0) {
|
||||||
|
PacketSetBuff(eth->lpa, 512000);
|
||||||
|
eth->pkt = PacketAllocatePacket();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
PacketCloseAdapter(eth->lpa);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
free(buf);
|
||||||
|
if (eth->pkt == NULL)
|
||||||
|
eth = eth_close(eth);
|
||||||
|
|
||||||
return (eth);
|
return (eth);
|
||||||
}
|
}
|
||||||
@@ -66,7 +92,7 @@ eth_send(eth_t *eth, const void *buf, size_t len)
|
|||||||
{
|
{
|
||||||
PacketInitPacket(eth->pkt, (void *)buf, (UINT) len);
|
PacketInitPacket(eth->pkt, (void *)buf, (UINT) len);
|
||||||
PacketSendPacket(eth->lpa, eth->pkt, TRUE);
|
PacketSendPacket(eth->lpa, eth->pkt, TRUE);
|
||||||
return ((ssize_t) len);
|
return (ssize_t)(len);
|
||||||
}
|
}
|
||||||
|
|
||||||
eth_t *
|
eth_t *
|
||||||
@@ -116,17 +142,15 @@ eth_set(eth_t *eth, const eth_addr_t *ea)
|
|||||||
return (-1);
|
return (-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* Converts a dnet interface name (ifname) to its pcap equivalent, which is stored in
|
/* Converts a dnet interface name (ifname) to its pcap equivalent, which is stored in
|
||||||
pcapdev (up to a length of pcapdevlen). Returns 0 and fills in pcapdev if successful. */
|
pcapdev (up to a length of pcapdevlen). Returns 0 and fills in pcapdev if successful. */
|
||||||
int eth_get_pcap_devname(const char *ifname, char *pcapdev, int pcapdevlen) {
|
int eth_get_pcap_devname(const char *ifname, char *pcapdev, int pcapdevlen) {
|
||||||
int i;
|
|
||||||
intf_t *intf;
|
intf_t *intf;
|
||||||
struct intf_entry ie;
|
struct intf_entry ie;
|
||||||
pcap_if_t *pcapdevs;
|
pcap_if_t *pcapdevs;
|
||||||
pcap_if_t *pdev;
|
pcap_if_t *pdev;
|
||||||
char pname[128];
|
char pname[128];
|
||||||
struct sockaddr_in devip;
|
|
||||||
pcap_addr_t *pa;
|
|
||||||
|
|
||||||
if ((intf = intf_open()) == NULL)
|
if ((intf = intf_open()) == NULL)
|
||||||
return -1;
|
return -1;
|
||||||
@@ -145,42 +169,11 @@ int eth_get_pcap_devname(const char *ifname, char *pcapdev, int pcapdevlen) {
|
|||||||
that was unrelaible because dnet and pcap sometimes give different descriptions. For example,
|
that was unrelaible because dnet and pcap sometimes give different descriptions. For example,
|
||||||
dnet gave me "AMD PCNET Family PCI Ethernet Adapter - Packet Scheduler Miniport" for one of my
|
dnet gave me "AMD PCNET Family PCI Ethernet Adapter - Packet Scheduler Miniport" for one of my
|
||||||
adapters (in vmware), while pcap described it as "VMware Accelerated AMD PCNet Adapter (Microsoft's
|
adapters (in vmware), while pcap described it as "VMware Accelerated AMD PCNet Adapter (Microsoft's
|
||||||
Packet Scheduler)". Plus, Packet* functions aren't really supported for external use by the
|
Packet Scheduler)". Then IP addresses used to be compared, but that proved to be unreliable
|
||||||
WinPcap folks. So I have rewritten this to compare interface addresses (which has its own
|
as well. Now we compare hardware addresses much like eth_open() does */
|
||||||
problems -- what if you want to listen an an interface with no IP address set?) --Fyodor */
|
|
||||||
if (pcap_findalldevs(&pcapdevs, NULL) == -1)
|
if (pcap_findalldevs(&pcapdevs, NULL) == -1)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
for(pdev=pcapdevs; pdev && !pname[0]; pdev = pdev->next) {
|
|
||||||
for (pa=pdev->addresses; pa && !pname[0]; pa = pa->next) {
|
|
||||||
if (pa->addr->sa_family != AF_INET)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
/* Match this address of pdev against all the addresses of ie.
|
|
||||||
i == -1 tests against the primary address of the interface.
|
|
||||||
i >= 0 tests against alias addresses. */
|
|
||||||
for (i = -1; i < (int) ie.intf_alias_num; i++) {
|
|
||||||
if (i == -1) {
|
|
||||||
if (ie.intf_addr.addr_type != ADDR_TYPE_IP)
|
|
||||||
continue;
|
|
||||||
addr_ntos(&ie.intf_addr, (struct sockaddr *) &devip);
|
|
||||||
} else {
|
|
||||||
if (ie.intf_alias_addrs[i].addr_type != ADDR_TYPE_IP)
|
|
||||||
continue;
|
|
||||||
addr_ntos(&ie.intf_alias_addrs[i], (struct sockaddr *) &devip);
|
|
||||||
}
|
|
||||||
if (((struct sockaddr_in *)pa->addr)->sin_addr.s_addr == devip.sin_addr.s_addr) {
|
|
||||||
/* Found it -- Yay! */
|
|
||||||
strlcpy(pname, pdev->name, sizeof(pname));
|
|
||||||
/* Assigning pname[0] breaks out of the outer loops too. */
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* If matching IP addresses didn't work, try matching hardware
|
|
||||||
addresses. This is adapted from libdnet 1.11. */
|
|
||||||
if (pname[0] == '\0' && ie.intf_link_addr.addr_type == ADDR_TYPE_ETH) {
|
if (pname[0] == '\0' && ie.intf_link_addr.addr_type == ADDR_TYPE_ETH) {
|
||||||
for(pdev=pcapdevs; pdev && !pname[0]; pdev = pdev->next) {
|
for(pdev=pcapdevs; pdev && !pname[0]; pdev = pdev->next) {
|
||||||
eth_t eth;
|
eth_t eth;
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 2000 Dug Song <dugsong@monkey.org>
|
* Copyright (c) 2000 Dug Song <dugsong@monkey.org>
|
||||||
*
|
*
|
||||||
* $Id: fw-none.c,v 1.4 2002/01/20 21:23:28 dugsong Exp $
|
* $Id: fw-none.c 208 2002-01-20 21:23:28Z dugsong $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|||||||
@@ -1,394 +1,386 @@
|
|||||||
/*
|
/*
|
||||||
* intf-win32.c
|
* intf-win32.c
|
||||||
*
|
*
|
||||||
* Copyright (c) 2002 Dug Song <dugsong@monkey.org>
|
* Copyright (c) 2002 Dug Song <dugsong@monkey.org>
|
||||||
*
|
*
|
||||||
* $Id: intf-win32.c,v 1.24 2005/02/15 06:37:06 dugsong Exp $
|
* $Id: intf-win32.c 632 2006-08-10 04:36:52Z dugsong $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
#include "dnet_winconfig.h"
|
#include "dnet_winconfig.h"
|
||||||
#else
|
#else
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <winsock2.h>
|
#include <iphlpapi.h>
|
||||||
#include <windows.h>
|
|
||||||
#include <iphlpapi.h>
|
#include <ctype.h>
|
||||||
|
#include <errno.h>
|
||||||
#include <dnet.h>
|
#include <stdio.h>
|
||||||
#include <ctype.h>
|
#include <stdlib.h>
|
||||||
#include <errno.h>
|
#include <string.h>
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
#include "dnet.h"
|
||||||
#include <string.h>
|
|
||||||
|
struct ifcombo {
|
||||||
#include "pcap.h"
|
DWORD *idx;
|
||||||
|
int cnt;
|
||||||
struct ifcombo {
|
int max;
|
||||||
DWORD *idx;
|
};
|
||||||
int cnt;
|
|
||||||
int max;
|
/* XXX - ipifcons.h incomplete, use IANA ifTypes MIB */
|
||||||
};
|
#define MIB_IF_TYPE_TUNNEL 131
|
||||||
|
#define MIB_IF_TYPE_MAX MAX_IF_TYPE
|
||||||
#define MIB_IF_TYPE_MAX MAX_IF_TYPE /* XXX - ipifcons.h */
|
|
||||||
|
struct intf_handle {
|
||||||
struct intf_handle {
|
struct ifcombo ifcombo[MIB_IF_TYPE_MAX];
|
||||||
struct ifcombo ifcombo[MIB_IF_TYPE_MAX];
|
MIB_IFTABLE *iftable;
|
||||||
MIB_IFTABLE *iftable;
|
MIB_IPADDRTABLE *iptable;
|
||||||
MIB_IPADDRTABLE *iptable;
|
};
|
||||||
};
|
|
||||||
|
static char *
|
||||||
static char *
|
_ifcombo_name(int type)
|
||||||
_ifcombo_name(int type)
|
{
|
||||||
{
|
char *name = "eth"; /* XXX */
|
||||||
/* Unknown interface types get the prefix "net". */
|
|
||||||
char *name = "net";
|
if (type == MIB_IF_TYPE_TOKENRING) {
|
||||||
|
name = "tr";
|
||||||
if (type == MIB_IF_TYPE_ETHERNET || type == IF_TYPE_IEEE80211) {
|
} else if (type == MIB_IF_TYPE_FDDI) {
|
||||||
/* INTF_TYPE_IEEE80211 is used for wireless devices on
|
name = "fddi";
|
||||||
Windows Vista. */
|
} else if (type == MIB_IF_TYPE_PPP) {
|
||||||
name = "eth";
|
name = "ppp";
|
||||||
} else if (type == MIB_IF_TYPE_TOKENRING) {
|
} else if (type == MIB_IF_TYPE_LOOPBACK) {
|
||||||
name = "tr";
|
name = "lo";
|
||||||
} else if (type == MIB_IF_TYPE_FDDI) {
|
} else if (type == MIB_IF_TYPE_SLIP) {
|
||||||
name = "fddi";
|
name = "sl";
|
||||||
} else if (type == MIB_IF_TYPE_PPP) {
|
} else if (type == MIB_IF_TYPE_TUNNEL) {
|
||||||
name = "ppp";
|
name = "tun";
|
||||||
} else if (type == MIB_IF_TYPE_LOOPBACK) {
|
}
|
||||||
name = "lo";
|
return (name);
|
||||||
} else if (type == MIB_IF_TYPE_SLIP) {
|
}
|
||||||
name = "sl";
|
|
||||||
}
|
static int
|
||||||
return (name);
|
_ifcombo_type(const char *device)
|
||||||
}
|
{
|
||||||
|
int type = INTF_TYPE_OTHER;
|
||||||
/* Return a canonical internal interface type number for the given
|
|
||||||
* device string. */
|
if (strncmp(device, "eth", 3) == 0) {
|
||||||
static int
|
type = INTF_TYPE_ETH;
|
||||||
_ifcombo_type(const char *device)
|
} else if (strncmp(device, "tr", 2) == 0) {
|
||||||
{
|
type = INTF_TYPE_TOKENRING;
|
||||||
/* Unknown device names (like "net") get mapped to INTF_TYPE_OTHER. */
|
} else if (strncmp(device, "fd", 2) == 0) {
|
||||||
int type = INTF_TYPE_OTHER;
|
type = INTF_TYPE_FDDI;
|
||||||
|
} else if (strncmp(device, "ppp", 3) == 0) {
|
||||||
if (strncmp(device, "eth", 3) == 0) {
|
type = INTF_TYPE_PPP;
|
||||||
type = INTF_TYPE_ETH;
|
} else if (strncmp(device, "lo", 2) == 0) {
|
||||||
} else if (strncmp(device, "tr", 2) == 0) {
|
type = INTF_TYPE_LOOPBACK;
|
||||||
type = INTF_TYPE_TOKENRING;
|
} else if (strncmp(device, "sl", 2) == 0) {
|
||||||
} else if (strncmp(device, "fd", 2) == 0) {
|
type = INTF_TYPE_SLIP;
|
||||||
type = INTF_TYPE_FDDI;
|
} else if (strncmp(device, "tun", 3) == 0) {
|
||||||
} else if (strncmp(device, "ppp", 3) == 0) {
|
type = INTF_TYPE_TUN;
|
||||||
type = INTF_TYPE_PPP;
|
}
|
||||||
} else if (strncmp(device, "lo", 2) == 0) {
|
return (type);
|
||||||
type = INTF_TYPE_LOOPBACK;
|
}
|
||||||
} else if (strncmp(device, "sl", 2) == 0) {
|
|
||||||
type = INTF_TYPE_SLIP;
|
static void
|
||||||
}
|
_ifcombo_add(struct ifcombo *ifc, DWORD idx)
|
||||||
return (type);
|
{
|
||||||
}
|
if (ifc->cnt == ifc->max) {
|
||||||
|
if (ifc->idx) {
|
||||||
/* Map an MIB_IFROW.dwType interface type into an internal interface
|
ifc->max *= 2;
|
||||||
type. The internal types are never exposed to users of this library;
|
ifc->idx = realloc(ifc->idx,
|
||||||
they exist only for the sake of ordering interface types within an
|
sizeof(ifc->idx[0]) * ifc->max);
|
||||||
intf_handle, which has an array of ifcombo structures ordered by
|
} else {
|
||||||
type. Entries in an intf_handle must not be stored or accessed by a
|
ifc->max = 8;
|
||||||
raw MIB_IFROW.dwType number because they will not be able to be found
|
ifc->idx = malloc(sizeof(ifc->idx[0]) * ifc->max);
|
||||||
by a device name such as "net0" if the device name does not map
|
}
|
||||||
exactly to the dwType. */
|
}
|
||||||
static int
|
ifc->idx[ifc->cnt++] = idx;
|
||||||
_if_type_canonicalize(int type)
|
}
|
||||||
{
|
|
||||||
return _ifcombo_type(_ifcombo_name(type));
|
/* Map an MIB_IFROW.dwType interface type into an internal interface
|
||||||
}
|
type. The internal types are never exposed to users of this library;
|
||||||
|
they exist only for the sake of ordering interface types within an
|
||||||
static void
|
intf_handle, which has an array of ifcombo structures ordered by
|
||||||
_ifcombo_add(struct ifcombo *ifc, DWORD idx)
|
type. Entries in an intf_handle must not be stored or accessed by a
|
||||||
{
|
raw MIB_IFROW.dwType number because they will not be able to be found
|
||||||
if (ifc->cnt == ifc->max) {
|
by a device name such as "net0" if the device name does not map
|
||||||
if (ifc->idx) {
|
exactly to the dwType. */
|
||||||
ifc->max *= 2;
|
static int
|
||||||
ifc->idx = realloc(ifc->idx,
|
_if_type_canonicalize(int type)
|
||||||
sizeof(ifc->idx[0]) * ifc->max);
|
{
|
||||||
} else {
|
return _ifcombo_type(_ifcombo_name(type));
|
||||||
ifc->max = 8;
|
}
|
||||||
ifc->idx = malloc(sizeof(ifc->idx[0]) * ifc->max);
|
|
||||||
}
|
static void
|
||||||
}
|
_ifrow_to_entry(intf_t *intf, MIB_IFROW *ifrow, struct intf_entry *entry)
|
||||||
ifc->idx[ifc->cnt++] = idx;
|
{
|
||||||
}
|
struct addr *ap, *lap;
|
||||||
|
int i;
|
||||||
static void
|
int type;
|
||||||
_ifrow_to_entry(intf_t *intf, MIB_IFROW *ifrow, struct intf_entry *entry)
|
|
||||||
{
|
/* The total length of the entry may be passed inside entry.
|
||||||
struct addr *ap, *lap;
|
Remember it and clear the entry. */
|
||||||
int i;
|
u_int intf_len = entry->intf_len;
|
||||||
int type;
|
memset(entry, 0, sizeof(*entry));
|
||||||
|
entry->intf_len = intf_len;
|
||||||
/* The total length of the entry may be passed in inside entry.
|
|
||||||
Remember it and clear the entry. */
|
type = _if_type_canonicalize(ifrow->dwType);
|
||||||
u_int intf_len = entry->intf_len;
|
for (i = 0; i < intf->ifcombo[type].cnt; i++) {
|
||||||
memset(entry, 0, sizeof(*entry));
|
if (intf->ifcombo[type].idx[i] == ifrow->dwIndex)
|
||||||
/* Restore the length. */
|
break;
|
||||||
entry->intf_len = intf_len;
|
}
|
||||||
|
/* XXX - type matches MIB-II ifType. */
|
||||||
type = _if_type_canonicalize(ifrow->dwType);
|
snprintf(entry->intf_name, sizeof(entry->intf_name), "%s%lu",
|
||||||
for (i = 0; i < intf->ifcombo[type].cnt; i++) {
|
_ifcombo_name(type), i);
|
||||||
if (intf->ifcombo[type].idx[i] == ifrow->dwIndex)
|
entry->intf_type = (uint16_t)type;
|
||||||
break;
|
|
||||||
}
|
/* Get interface flags. */
|
||||||
/* XXX - type matches MIB-II ifType. */
|
entry->intf_flags = 0;
|
||||||
snprintf(entry->intf_name, sizeof(entry->intf_name), "%s%lu",
|
if (ifrow->dwAdminStatus == MIB_IF_ADMIN_STATUS_UP &&
|
||||||
_ifcombo_name(type), i);
|
(ifrow->dwOperStatus == MIB_IF_OPER_STATUS_OPERATIONAL ||
|
||||||
entry->intf_type = (uint16_t)type;
|
ifrow->dwOperStatus == MIB_IF_OPER_STATUS_CONNECTED))
|
||||||
|
entry->intf_flags |= INTF_FLAG_UP;
|
||||||
/* Get interface flags. */
|
if (ifrow->dwType == MIB_IF_TYPE_LOOPBACK)
|
||||||
entry->intf_flags = 0;
|
entry->intf_flags |= INTF_FLAG_LOOPBACK;
|
||||||
if (ifrow->dwAdminStatus == MIB_IF_ADMIN_STATUS_UP &&
|
else
|
||||||
(ifrow->dwOperStatus == MIB_IF_OPER_STATUS_OPERATIONAL ||
|
entry->intf_flags |= INTF_FLAG_MULTICAST;
|
||||||
ifrow->dwOperStatus == MIB_IF_OPER_STATUS_CONNECTED))
|
|
||||||
entry->intf_flags |= INTF_FLAG_UP;
|
/* Get interface MTU. */
|
||||||
if (ifrow->dwType == MIB_IF_TYPE_LOOPBACK)
|
entry->intf_mtu = ifrow->dwMtu;
|
||||||
entry->intf_flags |= INTF_FLAG_LOOPBACK;
|
|
||||||
else
|
/* Get hardware address. */
|
||||||
entry->intf_flags |= INTF_FLAG_MULTICAST;
|
if (ifrow->dwPhysAddrLen == ETH_ADDR_LEN) {
|
||||||
|
entry->intf_link_addr.addr_type = ADDR_TYPE_ETH;
|
||||||
/* Get interface MTU. */
|
entry->intf_link_addr.addr_bits = ETH_ADDR_BITS;
|
||||||
entry->intf_mtu = ifrow->dwMtu;
|
memcpy(&entry->intf_link_addr.addr_eth, ifrow->bPhysAddr,
|
||||||
|
ETH_ADDR_LEN);
|
||||||
/* Get hardware address. */
|
}
|
||||||
if (ifrow->dwPhysAddrLen == ETH_ADDR_LEN) {
|
/* Get addresses. */
|
||||||
entry->intf_link_addr.addr_type = ADDR_TYPE_ETH;
|
ap = entry->intf_alias_addrs;
|
||||||
entry->intf_link_addr.addr_bits = ETH_ADDR_BITS;
|
lap = ap + ((entry->intf_len - sizeof(*entry)) /
|
||||||
memcpy(&entry->intf_link_addr.addr_eth, ifrow->bPhysAddr,
|
sizeof(entry->intf_alias_addrs[0]));
|
||||||
ETH_ADDR_LEN);
|
for (i = 0; i < (int)intf->iptable->dwNumEntries; i++) {
|
||||||
}
|
if (intf->iptable->table[i].dwIndex == ifrow->dwIndex &&
|
||||||
/* Get addresses. */
|
intf->iptable->table[i].dwAddr != 0) {
|
||||||
ap = entry->intf_alias_addrs;
|
if (entry->intf_addr.addr_type == ADDR_TYPE_NONE) {
|
||||||
lap = ap + ((entry->intf_len - sizeof(*entry)) /
|
/* Set primary address if unset. */
|
||||||
sizeof(entry->intf_alias_addrs[0]));
|
entry->intf_addr.addr_type = ADDR_TYPE_IP;
|
||||||
for (i = 0; i < (int)intf->iptable->dwNumEntries; i++) {
|
entry->intf_addr.addr_ip =
|
||||||
if (intf->iptable->table[i].dwIndex == ifrow->dwIndex &&
|
intf->iptable->table[i].dwAddr;
|
||||||
intf->iptable->table[i].dwAddr != 0) {
|
addr_mtob(&intf->iptable->table[i].dwMask,
|
||||||
if (entry->intf_addr.addr_type == ADDR_TYPE_NONE) {
|
IP_ADDR_LEN, &entry->intf_addr.addr_bits);
|
||||||
/* Set primary address if unset. */
|
} else if (ap < lap) {
|
||||||
entry->intf_addr.addr_type = ADDR_TYPE_IP;
|
/* Set aliases. */
|
||||||
entry->intf_addr.addr_ip =
|
ap->addr_type = ADDR_TYPE_IP;
|
||||||
intf->iptable->table[i].dwAddr;
|
ap->addr_ip = intf->iptable->table[i].dwAddr;
|
||||||
addr_mtob(&intf->iptable->table[i].dwMask,
|
addr_mtob(&intf->iptable->table[i].dwMask,
|
||||||
IP_ADDR_LEN, &entry->intf_addr.addr_bits);
|
IP_ADDR_LEN, &ap->addr_bits);
|
||||||
} else if (ap < lap) {
|
ap++, entry->intf_alias_num++;
|
||||||
/* Set aliases. */
|
}
|
||||||
ap->addr_type = ADDR_TYPE_IP;
|
}
|
||||||
ap->addr_ip = intf->iptable->table[i].dwAddr;
|
}
|
||||||
addr_mtob(&intf->iptable->table[i].dwMask,
|
entry->intf_len = (u_int) ((u_char *)ap - (u_char *)entry);
|
||||||
IP_ADDR_LEN, &ap->addr_bits);
|
}
|
||||||
ap++, entry->intf_alias_num++;
|
|
||||||
}
|
static int
|
||||||
}
|
_refresh_tables(intf_t *intf)
|
||||||
}
|
{
|
||||||
entry->intf_len = (unsigned int) ((u_char *)ap - (u_char *)entry);
|
MIB_IFROW *ifrow;
|
||||||
}
|
ULONG len;
|
||||||
|
u_int i, ret;
|
||||||
static int
|
|
||||||
_refresh_tables(intf_t *intf)
|
/* Get interface table. */
|
||||||
{
|
for (len = sizeof(intf->iftable[0]); ; ) {
|
||||||
MIB_IFROW *ifrow;
|
if (intf->iftable)
|
||||||
ULONG len;
|
free(intf->iftable);
|
||||||
u_int i, ret;
|
intf->iftable = malloc(len);
|
||||||
|
ret = GetIfTable(intf->iftable, &len, FALSE);
|
||||||
/* Get interface table. */
|
if (ret == NO_ERROR)
|
||||||
for (len = sizeof(intf->iftable[0]); ; ) {
|
break;
|
||||||
if (intf->iftable)
|
else if (ret != ERROR_INSUFFICIENT_BUFFER)
|
||||||
free(intf->iftable);
|
return (-1);
|
||||||
intf->iftable = malloc(len);
|
}
|
||||||
ret = GetIfTable(intf->iftable, &len, FALSE);
|
/* Get IP address table. */
|
||||||
if (ret == NO_ERROR)
|
for (len = sizeof(intf->iptable[0]); ; ) {
|
||||||
break;
|
if (intf->iptable)
|
||||||
else if (ret != ERROR_INSUFFICIENT_BUFFER)
|
free(intf->iptable);
|
||||||
return (-1);
|
intf->iptable = malloc(len);
|
||||||
}
|
ret = GetIpAddrTable(intf->iptable, &len, FALSE);
|
||||||
/* Get IP address table. */
|
if (ret == NO_ERROR)
|
||||||
for (len = sizeof(intf->iptable[0]); ; ) {
|
break;
|
||||||
if (intf->iptable)
|
else if (ret != ERROR_INSUFFICIENT_BUFFER)
|
||||||
free(intf->iptable);
|
return (-1);
|
||||||
intf->iptable = malloc(len);
|
}
|
||||||
ret = GetIpAddrTable(intf->iptable, &len, FALSE);
|
/*
|
||||||
if (ret == NO_ERROR)
|
* Map "unfriendly" win32 interface indices to ours.
|
||||||
break;
|
* XXX - like IP_ADAPTER_INFO ComboIndex
|
||||||
else if (ret != ERROR_INSUFFICIENT_BUFFER)
|
*/
|
||||||
return (-1);
|
for (i = 0; i < intf->iftable->dwNumEntries; i++) {
|
||||||
}
|
int type;
|
||||||
/*
|
ifrow = &intf->iftable->table[i];
|
||||||
* Map "unfriendly" win32 interface indices to ours.
|
type = _if_type_canonicalize(ifrow->dwType);
|
||||||
* XXX - like IP_ADAPTER_INFO ComboIndex
|
if (type < MIB_IF_TYPE_MAX) {
|
||||||
*/
|
_ifcombo_add(&intf->ifcombo[type], ifrow->dwIndex);
|
||||||
for (i = 0; i < intf->iftable->dwNumEntries; i++) {
|
} else
|
||||||
int type;
|
return (-1);
|
||||||
ifrow = &intf->iftable->table[i];
|
}
|
||||||
type = _if_type_canonicalize(ifrow->dwType);
|
return (0);
|
||||||
if (type < MIB_IF_TYPE_MAX) {
|
}
|
||||||
_ifcombo_add(&intf->ifcombo[type],
|
|
||||||
ifrow->dwIndex);
|
static int
|
||||||
} else
|
_find_ifindex(intf_t *intf, const char *device)
|
||||||
return (-1);
|
{
|
||||||
}
|
char *p = (char *)device;
|
||||||
return (0);
|
int n, type = _ifcombo_type(device);
|
||||||
}
|
|
||||||
|
while (isalpha(*p)) p++;
|
||||||
static int
|
n = atoi(p);
|
||||||
_find_ifindex(intf_t *intf, const char *device)
|
|
||||||
{
|
return (intf->ifcombo[type].idx[n]);
|
||||||
char *p = (char *)device;
|
}
|
||||||
int n, type = _ifcombo_type(device);
|
|
||||||
|
intf_t *
|
||||||
while (isalpha(*p)) p++;
|
intf_open(void)
|
||||||
n = atoi(p);
|
{
|
||||||
|
return (calloc(1, sizeof(intf_t)));
|
||||||
return (intf->ifcombo[type].idx[n]);
|
}
|
||||||
}
|
|
||||||
|
int
|
||||||
intf_t *
|
intf_get(intf_t *intf, struct intf_entry *entry)
|
||||||
intf_open(void)
|
{
|
||||||
{
|
MIB_IFROW ifrow;
|
||||||
return (calloc(1, sizeof(intf_t)));
|
|
||||||
}
|
if (_refresh_tables(intf) < 0)
|
||||||
|
return (-1);
|
||||||
int
|
|
||||||
intf_get(intf_t *intf, struct intf_entry *entry)
|
ifrow.dwIndex = _find_ifindex(intf, entry->intf_name);
|
||||||
{
|
|
||||||
MIB_IFROW ifrow;
|
if (GetIfEntry(&ifrow) != NO_ERROR)
|
||||||
|
return (-1);
|
||||||
if (_refresh_tables(intf) < 0)
|
|
||||||
return (-1);
|
_ifrow_to_entry(intf, &ifrow, entry);
|
||||||
|
|
||||||
ifrow.dwIndex = _find_ifindex(intf, entry->intf_name);
|
return (0);
|
||||||
|
}
|
||||||
if (GetIfEntry(&ifrow) != NO_ERROR)
|
|
||||||
return (-1);
|
int
|
||||||
|
intf_get_src(intf_t *intf, struct intf_entry *entry, struct addr *src)
|
||||||
_ifrow_to_entry(intf, &ifrow, entry);
|
{
|
||||||
|
MIB_IFROW ifrow;
|
||||||
return (0);
|
MIB_IPADDRROW *iprow;
|
||||||
}
|
int i;
|
||||||
|
|
||||||
|
if (src->addr_type != ADDR_TYPE_IP) {
|
||||||
int
|
errno = EINVAL;
|
||||||
intf_get_src(intf_t *intf, struct intf_entry *entry, struct addr *src)
|
return (-1);
|
||||||
{
|
}
|
||||||
MIB_IFROW ifrow;
|
if (_refresh_tables(intf) < 0)
|
||||||
MIB_IPADDRROW *iprow;
|
return (-1);
|
||||||
int i;
|
|
||||||
|
for (i = 0; i < (int)intf->iptable->dwNumEntries; i++) {
|
||||||
if (src->addr_type != ADDR_TYPE_IP) {
|
iprow = &intf->iptable->table[i];
|
||||||
errno = EINVAL;
|
if (iprow->dwAddr == src->addr_ip) {
|
||||||
return (-1);
|
ifrow.dwIndex = iprow->dwIndex;
|
||||||
}
|
if (GetIfEntry(&ifrow) != NO_ERROR)
|
||||||
if (_refresh_tables(intf) < 0)
|
return (-1);
|
||||||
return (-1);
|
_ifrow_to_entry(intf, &ifrow, entry);
|
||||||
|
return (0);
|
||||||
for (i = 0; i < (int)intf->iptable->dwNumEntries; i++) {
|
}
|
||||||
iprow = &intf->iptable->table[i];
|
}
|
||||||
if (iprow->dwAddr == src->addr_ip) {
|
errno = ENXIO;
|
||||||
ifrow.dwIndex = iprow->dwIndex;
|
return (-1);
|
||||||
if (GetIfEntry(&ifrow) != NO_ERROR)
|
}
|
||||||
return (-1);
|
|
||||||
_ifrow_to_entry(intf, &ifrow, entry);
|
int
|
||||||
return (0);
|
intf_get_dst(intf_t *intf, struct intf_entry *entry, struct addr *dst)
|
||||||
}
|
{
|
||||||
}
|
MIB_IFROW ifrow;
|
||||||
errno = ENXIO;
|
|
||||||
return (-1);
|
if (dst->addr_type != ADDR_TYPE_IP) {
|
||||||
}
|
errno = EINVAL;
|
||||||
|
return (-1);
|
||||||
int
|
}
|
||||||
intf_get_dst(intf_t *intf, struct intf_entry *entry, struct addr *dst)
|
if (GetBestInterface(dst->addr_ip, &ifrow.dwIndex) != NO_ERROR)
|
||||||
{
|
return (-1);
|
||||||
MIB_IFROW ifrow;
|
|
||||||
|
if (GetIfEntry(&ifrow) != NO_ERROR)
|
||||||
if (dst->addr_type != ADDR_TYPE_IP) {
|
return (-1);
|
||||||
errno = EINVAL;
|
|
||||||
return (-1);
|
if (_refresh_tables(intf) < 0)
|
||||||
}
|
return (-1);
|
||||||
if (GetBestInterface(dst->addr_ip, &ifrow.dwIndex) != NO_ERROR)
|
|
||||||
return (-1);
|
_ifrow_to_entry(intf, &ifrow, entry);
|
||||||
|
|
||||||
if (GetIfEntry(&ifrow) != NO_ERROR)
|
return (0);
|
||||||
return (-1);
|
}
|
||||||
|
|
||||||
if (_refresh_tables(intf) < 0)
|
int
|
||||||
return (-1);
|
intf_set(intf_t *intf, const struct intf_entry *entry)
|
||||||
|
{
|
||||||
_ifrow_to_entry(intf, &ifrow, entry);
|
/*
|
||||||
|
* XXX - could set interface up/down via SetIfEntry(),
|
||||||
return (0);
|
* but what about the rest of the configuration? :-(
|
||||||
}
|
* {Add,Delete}IPAddress for 2000/XP only
|
||||||
|
*/
|
||||||
int
|
#if 0
|
||||||
intf_set(intf_t *intf, const struct intf_entry *entry)
|
/* Set interface address. XXX - 2000/XP only? */
|
||||||
{
|
if (entry->intf_addr.addr_type == ADDR_TYPE_IP) {
|
||||||
/*
|
ULONG ctx = 0, inst = 0;
|
||||||
* XXX - could set interface up/down via SetIfEntry(),
|
UINT ip, mask;
|
||||||
* but what about the rest of the configuration? :-(
|
|
||||||
* {Add,Delete}IPAddress for 2000/XP only
|
memcpy(&ip, &entry->intf_addr.addr_ip, IP_ADDR_LEN);
|
||||||
*/
|
addr_btom(entry->intf_addr.addr_bits, &mask, IP_ADDR_LEN);
|
||||||
#if 0
|
|
||||||
/* Set interface address. XXX - 2000/XP only? */
|
if (AddIPAddress(ip, mask,
|
||||||
if (entry->intf_addr.addr_type == ADDR_TYPE_IP) {
|
_find_ifindex(intf, entry->intf_name),
|
||||||
ULONG ctx = 0, inst = 0;
|
&ctx, &inst) != NO_ERROR) {
|
||||||
UINT ip, mask;
|
return (-1);
|
||||||
|
}
|
||||||
memcpy(&ip, &entry->intf_addr.addr_ip, IP_ADDR_LEN);
|
return (0);
|
||||||
addr_btom(entry->intf_addr.addr_bits, &mask, IP_ADDR_LEN);
|
}
|
||||||
|
#endif
|
||||||
if (AddIPAddress(ip, mask,
|
errno = ENOSYS;
|
||||||
_find_ifindex(intf, entry->intf_name),
|
SetLastError(ERROR_NOT_SUPPORTED);
|
||||||
&ctx, &inst) != NO_ERROR) {
|
return (-1);
|
||||||
return (-1);
|
}
|
||||||
}
|
|
||||||
return (0);
|
int
|
||||||
}
|
intf_loop(intf_t *intf, intf_handler callback, void *arg)
|
||||||
#endif
|
{
|
||||||
errno = ENOSYS;
|
struct intf_entry *entry;
|
||||||
SetLastError(ERROR_NOT_SUPPORTED);
|
u_char ebuf[1024];
|
||||||
return (-1);
|
int i, ret = 0;
|
||||||
}
|
|
||||||
|
if (_refresh_tables(intf) < 0)
|
||||||
int
|
return (-1);
|
||||||
intf_loop(intf_t *intf, intf_handler callback, void *arg)
|
|
||||||
{
|
entry = (struct intf_entry *)ebuf;
|
||||||
struct intf_entry *entry;
|
|
||||||
u_char ebuf[1024];
|
for (i = 0; i < (int)intf->iftable->dwNumEntries; i++) {
|
||||||
int i, ret = 0;
|
entry->intf_len = sizeof(ebuf);
|
||||||
|
_ifrow_to_entry(intf, &intf->iftable->table[i], entry);
|
||||||
if (_refresh_tables(intf) < 0)
|
if ((ret = (*callback)(entry, arg)) != 0)
|
||||||
return (-1);
|
break;
|
||||||
|
}
|
||||||
entry = (struct intf_entry *)ebuf;
|
return (ret);
|
||||||
|
}
|
||||||
for (i = 0; i < (int)intf->iftable->dwNumEntries; i++) {
|
|
||||||
entry->intf_len = sizeof(ebuf);
|
intf_t *
|
||||||
_ifrow_to_entry(intf, &intf->iftable->table[i], entry);
|
intf_close(intf_t *intf)
|
||||||
if ((ret = (*callback)(entry, arg)) != 0)
|
{
|
||||||
break;
|
int i;
|
||||||
}
|
|
||||||
return (ret);
|
if (intf != NULL) {
|
||||||
}
|
for (i = 0; i < MIB_IF_TYPE_MAX; i++) {
|
||||||
|
if (intf->ifcombo[i].idx)
|
||||||
intf_t *
|
free(intf->ifcombo[i].idx);
|
||||||
intf_close(intf_t *intf)
|
}
|
||||||
{
|
if (intf->iftable)
|
||||||
int i;
|
free(intf->iftable);
|
||||||
|
if (intf->iptable)
|
||||||
if (intf != NULL) {
|
free(intf->iptable);
|
||||||
for (i = 0; i < MIB_IF_TYPE_MAX; i++) {
|
free(intf);
|
||||||
if (intf->ifcombo[i].idx)
|
}
|
||||||
free(intf->ifcombo[i].idx);
|
return (NULL);
|
||||||
}
|
}
|
||||||
if (intf->iftable)
|
|
||||||
free(intf->iftable);
|
|
||||||
if (intf->iptable)
|
|
||||||
free(intf->iptable);
|
|
||||||
free(intf);
|
|
||||||
}
|
|
||||||
return (NULL);
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 2001 Dug Song <dugsong@monkey.org>
|
* Copyright (c) 2001 Dug Song <dugsong@monkey.org>
|
||||||
*
|
*
|
||||||
* $Id: intf.c,v 1.55 2005/02/10 16:57:35 dugsong Exp $
|
* $Id: intf.c 616 2006-01-09 07:09:49Z dugsong $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
@@ -124,15 +124,16 @@ intf_open(void)
|
|||||||
{
|
{
|
||||||
intf_t *intf;
|
intf_t *intf;
|
||||||
int one = 1;
|
int one = 1;
|
||||||
|
|
||||||
if ((intf = calloc(1, sizeof(*intf))) != NULL) {
|
if ((intf = calloc(1, sizeof(*intf))) != NULL) {
|
||||||
intf->fd = intf->fd6 = -1;
|
intf->fd = intf->fd6 = -1;
|
||||||
|
|
||||||
if ((intf->fd = socket(AF_INET, SOCK_DGRAM, 0)) < 0)
|
if ((intf->fd = socket(AF_INET, SOCK_DGRAM, 0)) < 0)
|
||||||
return (intf_close(intf));
|
return (intf_close(intf));
|
||||||
|
|
||||||
setsockopt(intf->fd, SOL_SOCKET, SO_BROADCAST,
|
setsockopt(intf->fd, SOL_SOCKET, SO_BROADCAST,
|
||||||
(const char *) &one, sizeof(one));
|
(const char *) &one, sizeof(one));
|
||||||
|
|
||||||
#ifdef SIOCGIFNETMASK_IN6
|
#ifdef SIOCGIFNETMASK_IN6
|
||||||
if ((intf->fd6 = socket(AF_INET6, SOCK_DGRAM, 0)) < 0) {
|
if ((intf->fd6 = socket(AF_INET6, SOCK_DGRAM, 0)) < 0) {
|
||||||
# ifdef EPROTONOSUPPORT
|
# ifdef EPROTONOSUPPORT
|
||||||
@@ -398,7 +399,7 @@ _intf_get_noalias(intf_t *intf, struct intf_entry *entry)
|
|||||||
_intf_set_type(entry);
|
_intf_set_type(entry);
|
||||||
|
|
||||||
/* Get interface MTU. */
|
/* Get interface MTU. */
|
||||||
#ifdef SIOCGIFMTU
|
#ifdef SIOCSIFMTU
|
||||||
if (ioctl(intf->fd, SIOCGIFMTU, &ifr) < 0)
|
if (ioctl(intf->fd, SIOCGIFMTU, &ifr) < 0)
|
||||||
#endif
|
#endif
|
||||||
return (-1);
|
return (-1);
|
||||||
@@ -506,14 +507,16 @@ _intf_get_aliases(intf_t *intf, struct intf_entry *entry)
|
|||||||
*p = '\0';
|
*p = '\0';
|
||||||
|
|
||||||
if (strcmp(ifr->ifr_name, entry->intf_name) != 0) {
|
if (strcmp(ifr->ifr_name, entry->intf_name) != 0) {
|
||||||
if (p) *p = ':';
|
if (p) *p = ':';
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (p) *p = ':'; /* Fix the name back up */
|
/* Fix the name back up */
|
||||||
|
if (p) *p = ':';
|
||||||
|
|
||||||
if (addr_ston(&ifr->ifr_addr, ap) < 0)
|
if (addr_ston(&ifr->ifr_addr, ap) < 0)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
/* XXX */
|
/* XXX */
|
||||||
if (ap->addr_type == ADDR_TYPE_ETH) {
|
if (ap->addr_type == ADDR_TYPE_ETH) {
|
||||||
memcpy(&entry->intf_link_addr, ap, sizeof(*ap));
|
memcpy(&entry->intf_link_addr, ap, sizeof(*ap));
|
||||||
@@ -522,11 +525,9 @@ _intf_get_aliases(intf_t *intf, struct intf_entry *entry)
|
|||||||
if (ap->addr_ip == entry->intf_addr.addr_ip ||
|
if (ap->addr_ip == entry->intf_addr.addr_ip ||
|
||||||
ap->addr_ip == entry->intf_dst_addr.addr_ip)
|
ap->addr_ip == entry->intf_dst_addr.addr_ip)
|
||||||
continue;
|
continue;
|
||||||
strlcpy(tmpifr.ifr_name, ifr->ifr_name,
|
strlcpy(tmpifr.ifr_name, ifr->ifr_name, sizeof(tmpifr.ifr_name));
|
||||||
sizeof(tmpifr.ifr_name));
|
|
||||||
if (ioctl(intf->fd, SIOCGIFNETMASK, &tmpifr) == 0)
|
if (ioctl(intf->fd, SIOCGIFNETMASK, &tmpifr) == 0)
|
||||||
addr_stob(&tmpifr.ifr_addr, &ap->addr_bits);
|
addr_stob(&tmpifr.ifr_addr, &ap->addr_bits);
|
||||||
|
|
||||||
}
|
}
|
||||||
#ifdef SIOCGIFNETMASK_IN6
|
#ifdef SIOCGIFNETMASK_IN6
|
||||||
else if (ap->addr_type == ADDR_TYPE_IP6 && intf->fd6 != -1) {
|
else if (ap->addr_type == ADDR_TYPE_IP6 && intf->fd6 != -1) {
|
||||||
@@ -544,6 +545,30 @@ _intf_get_aliases(intf_t *intf, struct intf_entry *entry)
|
|||||||
#endif
|
#endif
|
||||||
ap++, entry->intf_alias_num++;
|
ap++, entry->intf_alias_num++;
|
||||||
}
|
}
|
||||||
|
#ifdef HAVE_LINUX_PROCFS
|
||||||
|
#define PROC_INET6_FILE "/proc/net/if_inet6"
|
||||||
|
{
|
||||||
|
FILE *f;
|
||||||
|
char buf[256], s[8][5], name[INTF_NAME_LEN];
|
||||||
|
u_int idx, bits, scope, flags;
|
||||||
|
|
||||||
|
if ((f = fopen(PROC_INET6_FILE, "r")) != NULL) {
|
||||||
|
while (ap < lap &&
|
||||||
|
fgets(buf, sizeof(buf), f) != NULL) {
|
||||||
|
sscanf(buf, "%04s%04s%04s%04s%04s%04s%04s%04s %02x %02x %02x %02x %32s\n",
|
||||||
|
s[0], s[1], s[2], s[3], s[4], s[5], s[6], s[7],
|
||||||
|
&idx, &bits, &scope, &flags, name);
|
||||||
|
if (strcmp(name, entry->intf_name) == 0) {
|
||||||
|
snprintf(buf, sizeof(buf), "%s:%s:%s:%s:%s:%s:%s:%s/%d",
|
||||||
|
s[0], s[1], s[2], s[3], s[4], s[5], s[6], s[7], bits);
|
||||||
|
addr_aton(buf, ap);
|
||||||
|
ap++, entry->intf_alias_num++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fclose(f);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
entry->intf_len = (u_char *)ap - (u_char *)entry;
|
entry->intf_len = (u_char *)ap - (u_char *)entry;
|
||||||
|
|
||||||
return (0);
|
return (0);
|
||||||
@@ -568,28 +593,27 @@ intf_get(intf_t *intf, struct intf_entry *entry)
|
|||||||
static int
|
static int
|
||||||
_match_intf_src(const struct intf_entry *entry, void *arg)
|
_match_intf_src(const struct intf_entry *entry, void *arg)
|
||||||
{
|
{
|
||||||
int matched = 0;
|
|
||||||
int cnt;
|
|
||||||
struct intf_entry *save = (struct intf_entry *)arg;
|
struct intf_entry *save = (struct intf_entry *)arg;
|
||||||
|
int matched = 0, cnt;
|
||||||
|
|
||||||
if (entry->intf_addr.addr_type == ADDR_TYPE_IP &&
|
if (entry->intf_addr.addr_type == ADDR_TYPE_IP &&
|
||||||
entry->intf_addr.addr_ip == save->intf_addr.addr_ip)
|
entry->intf_addr.addr_ip == save->intf_addr.addr_ip)
|
||||||
matched = 1;
|
matched = 1;
|
||||||
|
|
||||||
for (cnt = 0; !matched && cnt < (int) entry->intf_alias_num; cnt++) {
|
for (cnt = 0; !matched && cnt < (int) entry->intf_alias_num; cnt++) {
|
||||||
if (entry->intf_alias_addrs[cnt].addr_type != ADDR_TYPE_IP)
|
if (entry->intf_alias_addrs[cnt].addr_type != ADDR_TYPE_IP)
|
||||||
continue;
|
continue;
|
||||||
if (entry->intf_alias_addrs[cnt].addr_ip == save->intf_addr.addr_ip)
|
if (entry->intf_alias_addrs[cnt].addr_ip == save->intf_addr.addr_ip)
|
||||||
matched = 1;
|
matched = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (matched) {
|
if (matched) {
|
||||||
/* XXX - truncated result if entry is too small. */
|
/* XXX - truncated result if entry is too small. */
|
||||||
if (save->intf_len < entry->intf_len)
|
if (save->intf_len < entry->intf_len)
|
||||||
memcpy(save, entry, save->intf_len);
|
memcpy(save, entry, save->intf_len);
|
||||||
else
|
else
|
||||||
memcpy(save, entry, entry->intf_len);
|
memcpy(save, entry, entry->intf_len);
|
||||||
return (1);
|
return (1);
|
||||||
}
|
}
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
@@ -712,7 +736,7 @@ intf_loop(intf_t *intf, intf_handler callback, void *arg)
|
|||||||
*p = '\0';
|
*p = '\0';
|
||||||
|
|
||||||
if (pifr != NULL && strcmp(ifr->ifr_name, pifr->ifr_name) == 0) {
|
if (pifr != NULL && strcmp(ifr->ifr_name, pifr->ifr_name) == 0) {
|
||||||
if (p) *p = ':';
|
if (p) *p = ':';
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -720,9 +744,10 @@ intf_loop(intf_t *intf, intf_handler callback, void *arg)
|
|||||||
strlcpy(entry->intf_name, ifr->ifr_name,
|
strlcpy(entry->intf_name, ifr->ifr_name,
|
||||||
sizeof(entry->intf_name));
|
sizeof(entry->intf_name));
|
||||||
entry->intf_len = sizeof(ebuf);
|
entry->intf_len = sizeof(ebuf);
|
||||||
|
|
||||||
/* Repair the alias name back up. */
|
/* Repair the alias name back up */
|
||||||
if (p) *p = ':';
|
if (p) *p = ':';
|
||||||
|
|
||||||
if (_intf_get_noalias(intf, entry) < 0)
|
if (_intf_get_noalias(intf, entry) < 0)
|
||||||
return (-1);
|
return (-1);
|
||||||
if (_intf_get_aliases(intf, entry) < 0)
|
if (_intf_get_aliases(intf, entry) < 0)
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 2001 Dug Song <dugsong@monkey.org>
|
* Copyright (c) 2001 Dug Song <dugsong@monkey.org>
|
||||||
*
|
*
|
||||||
* $Id: ip-cooked.c,v 1.17 2005/01/25 21:30:40 dugsong Exp $
|
* $Id: ip-cooked.c 547 2005-01-25 21:30:40Z dugsong $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 2002 Dug Song <dugsong@monkey.org>
|
* Copyright (c) 2002 Dug Song <dugsong@monkey.org>
|
||||||
*
|
*
|
||||||
* $Id: ip-util.c,v 1.9 2005/02/17 02:55:56 dugsong Exp $
|
* $Id: ip-util.c 595 2005-02-17 02:55:56Z dugsong $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
@@ -40,10 +40,10 @@ ip_add_option(void *buf, size_t len, int proto,
|
|||||||
hl = tcp->th_off << 2;
|
hl = tcp->th_off << 2;
|
||||||
p = (u_char *)tcp + hl;
|
p = (u_char *)tcp + hl;
|
||||||
}
|
}
|
||||||
datalen = ntohs(ip->ip_len) - (int) (p - (u_char *)buf);
|
datalen = (int) (ntohs(ip->ip_len) - (p - (u_char *)buf));
|
||||||
|
|
||||||
/* Compute padding to next word boundary. */
|
/* Compute padding to next word boundary. */
|
||||||
if ((padlen = (int) (4 - (optlen % 4))) == 4)
|
if ((padlen = 4 - (optlen % 4)) == 4)
|
||||||
padlen = 0;
|
padlen = 0;
|
||||||
|
|
||||||
/* XXX - IP_HDR_LEN_MAX == TCP_HDR_LEN_MAX */
|
/* XXX - IP_HDR_LEN_MAX == TCP_HDR_LEN_MAX */
|
||||||
@@ -70,13 +70,13 @@ ip_add_option(void *buf, size_t len, int proto,
|
|||||||
optlen += padlen;
|
optlen += padlen;
|
||||||
|
|
||||||
if (proto == IP_PROTO_IP)
|
if (proto == IP_PROTO_IP)
|
||||||
ip->ip_hl = (uint8_t) (p - (u_char *)ip) >> 2;
|
ip->ip_hl = (int) ((p - (u_char *)ip) >> 2);
|
||||||
else if (proto == IP_PROTO_TCP)
|
else if (proto == IP_PROTO_TCP)
|
||||||
tcp->th_off = (uint8_t) (p - (u_char *)tcp) >> 2;
|
tcp->th_off = (int) ((p - (u_char *)tcp) >> 2);
|
||||||
|
|
||||||
ip->ip_len = htons(ntohs(ip->ip_len) + (unsigned short) optlen);
|
ip->ip_len = htons((u_short) (ntohs(ip->ip_len) + optlen));
|
||||||
|
|
||||||
return ((ssize_t) optlen);
|
return (ssize_t)(optlen);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@@ -107,7 +107,7 @@ ip_checksum(void *buf, size_t len)
|
|||||||
if (len >= TCP_HDR_LEN) {
|
if (len >= TCP_HDR_LEN) {
|
||||||
tcp->th_sum = 0;
|
tcp->th_sum = 0;
|
||||||
sum = ip_cksum_add(tcp, len, 0) +
|
sum = ip_cksum_add(tcp, len, 0) +
|
||||||
htons(ip->ip_p + (unsigned short) len);
|
htons((u_short)(ip->ip_p + len));
|
||||||
sum = ip_cksum_add(&ip->ip_src, 8, sum);
|
sum = ip_cksum_add(&ip->ip_src, 8, sum);
|
||||||
tcp->th_sum = ip_cksum_carry(sum);
|
tcp->th_sum = ip_cksum_carry(sum);
|
||||||
}
|
}
|
||||||
@@ -117,7 +117,7 @@ ip_checksum(void *buf, size_t len)
|
|||||||
if (len >= UDP_HDR_LEN) {
|
if (len >= UDP_HDR_LEN) {
|
||||||
udp->uh_sum = 0;
|
udp->uh_sum = 0;
|
||||||
sum = ip_cksum_add(udp, len, 0) +
|
sum = ip_cksum_add(udp, len, 0) +
|
||||||
htons(ip->ip_p + (unsigned short) len);
|
htons((u_short)(ip->ip_p + len));
|
||||||
sum = ip_cksum_add(&ip->ip_src, 8, sum);
|
sum = ip_cksum_add(&ip->ip_src, 8, sum);
|
||||||
udp->uh_sum = ip_cksum_carry(sum);
|
udp->uh_sum = ip_cksum_carry(sum);
|
||||||
if (!udp->uh_sum)
|
if (!udp->uh_sum)
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 2002 Dug Song <dugsong@monkey.org>
|
* Copyright (c) 2002 Dug Song <dugsong@monkey.org>
|
||||||
*
|
*
|
||||||
* $Id: ip-win32.c,v 1.5 2005/01/25 21:30:40 dugsong Exp $
|
* $Id: ip-win32.c 547 2005-01-25 21:30:40Z dugsong $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
@@ -12,7 +12,6 @@
|
|||||||
#include "config.h"
|
#include "config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <winsock2.h>
|
|
||||||
#include <ws2tcpip.h>
|
#include <ws2tcpip.h>
|
||||||
|
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
@@ -60,9 +59,9 @@ ip_send(ip_t *ip, const void *buf, size_t len)
|
|||||||
|
|
||||||
ip->sin.sin_addr.s_addr = hdr->ip_src;
|
ip->sin.sin_addr.s_addr = hdr->ip_src;
|
||||||
|
|
||||||
if ((len = sendto(ip->fd, (const char *)buf, (int) len, 0,
|
if ((len = sendto(ip->fd, (const char *)buf, (int)len, 0,
|
||||||
(struct sockaddr *)&ip->sin, sizeof(ip->sin))) != SOCKET_ERROR)
|
(struct sockaddr *)&ip->sin, sizeof(ip->sin))) != SOCKET_ERROR)
|
||||||
return ((ssize_t) len);
|
return (ssize_t)(len);
|
||||||
|
|
||||||
return (-1);
|
return (-1);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 2000 Dug Song <dugsong@monkey.org>
|
* Copyright (c) 2000 Dug Song <dugsong@monkey.org>
|
||||||
*
|
*
|
||||||
* $Id: ip.c,v 1.29 2005/01/25 21:30:40 dugsong Exp $
|
* $Id: ip.c 547 2005-01-25 21:30:40Z dugsong $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 2002 Dug Song <dugsong@monkey.org>
|
* Copyright (c) 2002 Dug Song <dugsong@monkey.org>
|
||||||
*
|
*
|
||||||
* $Id: ip6.c,v 1.2 2005/01/23 07:36:54 dugsong Exp $
|
* $Id: ip6.c 539 2005-01-23 07:36:54Z dugsong $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
@@ -41,7 +41,7 @@ ip6_checksum(void *buf, size_t len)
|
|||||||
|
|
||||||
if (len >= TCP_HDR_LEN) {
|
if (len >= TCP_HDR_LEN) {
|
||||||
tcp->th_sum = 0;
|
tcp->th_sum = 0;
|
||||||
sum = ip_cksum_add(tcp, len, 0) + htons(nxt + (unsigned short) len);
|
sum = ip_cksum_add(tcp, len, 0) + htons(nxt + (u_short)len);
|
||||||
sum = ip_cksum_add(&ip6->ip6_src, 32, sum);
|
sum = ip_cksum_add(&ip6->ip6_src, 32, sum);
|
||||||
tcp->th_sum = ip_cksum_carry(sum);
|
tcp->th_sum = ip_cksum_carry(sum);
|
||||||
}
|
}
|
||||||
@@ -50,7 +50,7 @@ ip6_checksum(void *buf, size_t len)
|
|||||||
|
|
||||||
if (len >= UDP_HDR_LEN) {
|
if (len >= UDP_HDR_LEN) {
|
||||||
udp->uh_sum = 0;
|
udp->uh_sum = 0;
|
||||||
sum = ip_cksum_add(udp, len, 0) + htons(nxt + (unsigned short) len);
|
sum = ip_cksum_add(udp, len, 0) + htons(nxt + (u_short)len);
|
||||||
sum = ip_cksum_add(&ip6->ip6_src, 32, sum);
|
sum = ip_cksum_add(&ip6->ip6_src, 32, sum);
|
||||||
if ((udp->uh_sum = ip_cksum_carry(sum)) == 0)
|
if ((udp->uh_sum = ip_cksum_carry(sum)) == 0)
|
||||||
udp->uh_sum = 0xffff;
|
udp->uh_sum = 0xffff;
|
||||||
@@ -60,7 +60,7 @@ ip6_checksum(void *buf, size_t len)
|
|||||||
|
|
||||||
if (len >= ICMP_HDR_LEN) {
|
if (len >= ICMP_HDR_LEN) {
|
||||||
icmp->icmp_cksum = 0;
|
icmp->icmp_cksum = 0;
|
||||||
sum = ip_cksum_add(icmp, len, 0) + htons(nxt + (unsigned short) len);
|
sum = ip_cksum_add(icmp, len, 0) + htons(nxt + (u_short)len);
|
||||||
sum = ip_cksum_add(&ip6->ip6_src, 32, sum);
|
sum = ip_cksum_add(&ip6->ip6_src, 32, sum);
|
||||||
icmp->icmp_cksum = ip_cksum_carry(sum);
|
icmp->icmp_cksum = ip_cksum_carry(sum);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
* Copyright (c) 2000 Dug Song <dugsong@monkey.org>
|
* Copyright (c) 2000 Dug Song <dugsong@monkey.org>
|
||||||
* Copyright (c) 1996 David Mazieres <dm@lcs.mit.edu>
|
* Copyright (c) 1996 David Mazieres <dm@lcs.mit.edu>
|
||||||
*
|
*
|
||||||
* $Id: rand.c,v 1.15 2005/02/15 06:37:07 dugsong Exp $
|
* $Id: rand.c 587 2005-02-15 06:37:07Z dugsong $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
* Copyright (c) 2001 Dug Song <dugsong@monkey.org>
|
* Copyright (c) 2001 Dug Song <dugsong@monkey.org>
|
||||||
* Copyright (c) 1999 Masaki Hirabaru <masaki@merit.edu>
|
* Copyright (c) 1999 Masaki Hirabaru <masaki@merit.edu>
|
||||||
*
|
*
|
||||||
* $Id: route-bsd.c,v 1.22 2005/02/10 05:18:38 dugsong Exp $
|
* $Id: route-bsd.c 555 2005-02-10 05:18:38Z dugsong $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 2000 Dug Song <dugsong@monkey.org>
|
* Copyright (c) 2000 Dug Song <dugsong@monkey.org>
|
||||||
*
|
*
|
||||||
* $Id: route-hpux.c,v 1.11 2004/01/14 04:52:11 dugsong Exp $
|
* $Id: route-hpux.c 483 2004-01-14 04:52:11Z dugsong $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 2000 Dug Song <dugsong@monkey.org>
|
* Copyright (c) 2000 Dug Song <dugsong@monkey.org>
|
||||||
*
|
*
|
||||||
* $Id: route-linux.c,v 1.15 2005/01/23 07:36:54 dugsong Exp $
|
* $Id: route-linux.c 619 2006-01-15 07:33:29Z dugsong $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
@@ -14,6 +14,7 @@
|
|||||||
#include <sys/uio.h>
|
#include <sys/uio.h>
|
||||||
|
|
||||||
#include <asm/types.h>
|
#include <asm/types.h>
|
||||||
|
#include <netinet/in.h>
|
||||||
#include <linux/netlink.h>
|
#include <linux/netlink.h>
|
||||||
#include <linux/rtnetlink.h>
|
#include <linux/rtnetlink.h>
|
||||||
|
|
||||||
@@ -33,7 +34,8 @@
|
|||||||
((a)->addr_type == ADDR_TYPE_IP6 && \
|
((a)->addr_type == ADDR_TYPE_IP6 && \
|
||||||
(a)->addr_bits == IP6_ADDR_BITS))
|
(a)->addr_bits == IP6_ADDR_BITS))
|
||||||
|
|
||||||
#define PROC_ROUTE_FILE "/proc/net/route"
|
#define PROC_ROUTE_FILE "/proc/net/route"
|
||||||
|
#define PROC_IPV6_ROUTE_FILE "/proc/net/ipv6_route"
|
||||||
|
|
||||||
struct route_handle {
|
struct route_handle {
|
||||||
int fd;
|
int fd;
|
||||||
@@ -121,35 +123,43 @@ route_get(route_t *r, struct route_entry *entry)
|
|||||||
struct iovec iov;
|
struct iovec iov;
|
||||||
struct msghdr msg;
|
struct msghdr msg;
|
||||||
u_char buf[512];
|
u_char buf[512];
|
||||||
int i;
|
int i, af, alen;
|
||||||
|
|
||||||
if (entry->route_dst.addr_type != ADDR_TYPE_IP) {
|
switch (entry->route_dst.addr_type) {
|
||||||
|
case ADDR_TYPE_IP:
|
||||||
|
af = AF_INET;
|
||||||
|
alen = IP_ADDR_LEN;
|
||||||
|
break;
|
||||||
|
case ADDR_TYPE_IP6:
|
||||||
|
af = AF_INET6;
|
||||||
|
alen = IP6_ADDR_LEN;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
errno = EINVAL;
|
errno = EINVAL;
|
||||||
return (-1);
|
return (-1);
|
||||||
}
|
}
|
||||||
memset(buf, 0, sizeof(buf));
|
memset(buf, 0, sizeof(buf));
|
||||||
|
|
||||||
nmsg = (struct nlmsghdr *)buf;
|
nmsg = (struct nlmsghdr *)buf;
|
||||||
nmsg->nlmsg_len = NLMSG_LENGTH(sizeof(*nmsg)) +
|
nmsg->nlmsg_len = NLMSG_LENGTH(sizeof(*nmsg)) + RTA_LENGTH(alen);
|
||||||
RTA_LENGTH(IP_ADDR_LEN);
|
|
||||||
nmsg->nlmsg_flags = NLM_F_REQUEST;
|
nmsg->nlmsg_flags = NLM_F_REQUEST;
|
||||||
nmsg->nlmsg_type = RTM_GETROUTE;
|
nmsg->nlmsg_type = RTM_GETROUTE;
|
||||||
nmsg->nlmsg_seq = ++seq;
|
nmsg->nlmsg_seq = ++seq;
|
||||||
|
|
||||||
rmsg = (struct rtmsg *)(nmsg + 1);
|
rmsg = (struct rtmsg *)(nmsg + 1);
|
||||||
rmsg->rtm_family = AF_INET;
|
rmsg->rtm_family = af;
|
||||||
rmsg->rtm_dst_len = entry->route_dst.addr_bits;
|
rmsg->rtm_dst_len = entry->route_dst.addr_bits;
|
||||||
|
|
||||||
rta = RTM_RTA(rmsg);
|
rta = RTM_RTA(rmsg);
|
||||||
rta->rta_type = RTA_DST;
|
rta->rta_type = RTA_DST;
|
||||||
rta->rta_len = RTA_LENGTH(IP_ADDR_LEN);
|
rta->rta_len = RTA_LENGTH(alen);
|
||||||
|
|
||||||
/* XXX - gross hack for default route */
|
/* XXX - gross hack for default route */
|
||||||
if (entry->route_dst.addr_ip == IP_ADDR_ANY) {
|
if (af == AF_INET && entry->route_dst.addr_ip == IP_ADDR_ANY) {
|
||||||
i = htonl(0x60060606);
|
i = htonl(0x60060606);
|
||||||
memcpy(RTA_DATA(rta), &i, IP_ADDR_LEN);
|
memcpy(RTA_DATA(rta), &i, alen);
|
||||||
} else
|
} else
|
||||||
memcpy(RTA_DATA(rta), &entry->route_dst.addr_ip, IP_ADDR_LEN);
|
memcpy(RTA_DATA(rta), entry->route_dst.addr_data8, alen);
|
||||||
|
|
||||||
memset(&snl, 0, sizeof(snl));
|
memset(&snl, 0, sizeof(snl));
|
||||||
snl.nl_family = AF_NETLINK;
|
snl.nl_family = AF_NETLINK;
|
||||||
@@ -184,10 +194,9 @@ route_get(route_t *r, struct route_entry *entry)
|
|||||||
|
|
||||||
while (RTA_OK(rta, i)) {
|
while (RTA_OK(rta, i)) {
|
||||||
if (rta->rta_type == RTA_GATEWAY) {
|
if (rta->rta_type == RTA_GATEWAY) {
|
||||||
entry->route_gw.addr_type = ADDR_TYPE_IP;
|
entry->route_gw.addr_type = entry->route_dst.addr_type;
|
||||||
memcpy(&entry->route_gw.addr_ip,
|
memcpy(entry->route_gw.addr_data8, RTA_DATA(rta), alen);
|
||||||
RTA_DATA(rta), IP_ADDR_LEN);
|
entry->route_gw.addr_bits = alen * 8;
|
||||||
entry->route_gw.addr_bits = IP_ADDR_BITS;
|
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
rta = RTA_NEXT(rta, i);
|
rta = RTA_NEXT(rta, i);
|
||||||
@@ -201,46 +210,65 @@ int
|
|||||||
route_loop(route_t *r, route_handler callback, void *arg)
|
route_loop(route_t *r, route_handler callback, void *arg)
|
||||||
{
|
{
|
||||||
FILE *fp;
|
FILE *fp;
|
||||||
char buf[BUFSIZ], ifbuf[16];
|
|
||||||
int i, iflags, refcnt, use, metric, mss, win, irtt, ret;
|
|
||||||
struct route_entry entry;
|
struct route_entry entry;
|
||||||
uint32_t mask;
|
char buf[BUFSIZ];
|
||||||
|
int ret = 0;
|
||||||
|
|
||||||
entry.route_dst.addr_type = entry.route_gw.addr_type = ADDR_TYPE_IP;
|
if ((fp = fopen(PROC_ROUTE_FILE, "r")) != NULL) {
|
||||||
entry.route_dst.addr_bits = entry.route_gw.addr_bits = IP_ADDR_BITS;
|
char ifbuf[16];
|
||||||
|
int i, iflags, refcnt, use, metric, mss, win, irtt;
|
||||||
if ((fp = fopen(PROC_ROUTE_FILE, "r")) == NULL)
|
uint32_t mask;
|
||||||
return (-1);
|
|
||||||
|
|
||||||
ret = 0;
|
|
||||||
while (fgets(buf, sizeof(buf), fp) != NULL) {
|
|
||||||
i = sscanf(buf,
|
|
||||||
"%16s %X %X %X %d %d %d %X %d %d %d\n",
|
|
||||||
ifbuf, &entry.route_dst.addr_ip, &entry.route_gw.addr_ip,
|
|
||||||
&iflags, &refcnt, &use, &metric, &mask, &mss, &win, &irtt);
|
|
||||||
|
|
||||||
if (i < 10 || !(iflags & RTF_UP))
|
while (fgets(buf, sizeof(buf), fp) != NULL) {
|
||||||
continue;
|
i = sscanf(buf, "%16s %X %X %X %d %d %d %X %d %d %d\n",
|
||||||
|
ifbuf, &entry.route_dst.addr_ip,
|
||||||
|
&entry.route_gw.addr_ip, &iflags, &refcnt, &use,
|
||||||
|
&metric, &mask, &mss, &win, &irtt);
|
||||||
|
|
||||||
|
if (i < 10 || !(iflags & RTF_UP))
|
||||||
|
continue;
|
||||||
|
|
||||||
if (entry.route_gw.addr_ip == IP_ADDR_ANY)
|
if (entry.route_gw.addr_ip == IP_ADDR_ANY)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
entry.route_dst.addr_type = entry.route_gw.addr_type =
|
entry.route_dst.addr_type = entry.route_gw.addr_type =
|
||||||
ADDR_TYPE_IP;
|
ADDR_TYPE_IP;
|
||||||
|
|
||||||
if (addr_mtob(&mask, IP_ADDR_LEN,
|
if (addr_mtob(&mask, IP_ADDR_LEN,
|
||||||
&entry.route_dst.addr_bits) < 0)
|
&entry.route_dst.addr_bits) < 0)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if ((ret = callback(&entry, arg)) != 0)
|
entry.route_gw.addr_bits = IP_ADDR_BITS;
|
||||||
break;
|
|
||||||
}
|
if ((ret = callback(&entry, arg)) != 0)
|
||||||
if (ferror(fp)) {
|
break;
|
||||||
|
}
|
||||||
|
fclose(fp);
|
||||||
|
}
|
||||||
|
if (ret == 0 && (fp = fopen(PROC_IPV6_ROUTE_FILE, "r")) != NULL) {
|
||||||
|
char s[33], d[8][5], n[8][5];
|
||||||
|
u_int slen, dlen;
|
||||||
|
|
||||||
|
while (fgets(buf, sizeof(buf), fp) != NULL) {
|
||||||
|
sscanf(buf, "%04s%04s%04s%04s%04s%04s%04s%04s %02x "
|
||||||
|
"%32s %02x %04s%04s%04s%04s%04s%04s%04s%04s ",
|
||||||
|
d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7],
|
||||||
|
&dlen, s, &slen,
|
||||||
|
n[0], n[1], n[2], n[3], n[4], n[5], n[6], n[7]);
|
||||||
|
snprintf(buf, sizeof(buf), "%s:%s:%s:%s:%s:%s:%s:%s/%d",
|
||||||
|
d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7],
|
||||||
|
dlen);
|
||||||
|
addr_aton(buf, &entry.route_dst);
|
||||||
|
snprintf(buf, sizeof(buf), "%s:%s:%s:%s:%s:%s:%s:%s/%d",
|
||||||
|
n[0], n[1], n[2], n[3], n[4], n[5], n[6], n[7],
|
||||||
|
IP6_ADDR_BITS);
|
||||||
|
addr_aton(buf, &entry.route_gw);
|
||||||
|
|
||||||
|
if ((ret = callback(&entry, arg)) != 0)
|
||||||
|
break;
|
||||||
|
}
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
return (-1);
|
|
||||||
}
|
}
|
||||||
fclose(fp);
|
|
||||||
|
|
||||||
return (ret);
|
return (ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 2000 Dug Song <dugsong@monkey.org>
|
* Copyright (c) 2000 Dug Song <dugsong@monkey.org>
|
||||||
*
|
*
|
||||||
* $Id: route-none.c,v 1.5 2002/02/04 03:59:45 dugsong Exp $
|
* $Id: route-none.c 260 2002-02-04 04:03:45Z dugsong $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 2002 Dug Song <dugsong@monkey.org>
|
* Copyright (c) 2002 Dug Song <dugsong@monkey.org>
|
||||||
*
|
*
|
||||||
* $Id: route-win32.c,v 1.12 2005/02/15 07:11:32 dugsong Exp $
|
* $Id: route-win32.c 589 2005-02-15 07:11:32Z dugsong $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
@@ -12,8 +12,7 @@
|
|||||||
#include "config.h"
|
#include "config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <winsock2.h>
|
#include <ws2tcpip.h>
|
||||||
#include <windows.h>
|
|
||||||
#include <iphlpapi.h>
|
#include <iphlpapi.h>
|
||||||
|
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 2001 Dug Song <dugsong@monkey.org>
|
* Copyright (c) 2001 Dug Song <dugsong@monkey.org>
|
||||||
*
|
*
|
||||||
* $Id: tun-bsd.c,v 1.3 2005/02/10 23:50:04 dugsong Exp $
|
* $Id: tun-bsd.c 573 2005-02-10 23:50:04Z dugsong $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 2001 Dug Song <dugsong@monkey.org>
|
* Copyright (c) 2001 Dug Song <dugsong@monkey.org>
|
||||||
*
|
*
|
||||||
* $Id: tun-linux.c,v 1.3 2005/02/10 20:18:01 dugsong Exp $
|
* $Id: tun-linux.c 612 2005-09-12 02:18:06Z dugsong $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 2001 Dug Song <dugsong@monkey.org>
|
* Copyright (c) 2001 Dug Song <dugsong@monkey.org>
|
||||||
*
|
*
|
||||||
* $Id: tun-none.c,v 1.2 2005/01/30 06:01:56 dugsong Exp $
|
* $Id: tun-none.c 548 2005-01-30 06:01:57Z dugsong $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 2001 Dug Song <dugsong@monkey.org>
|
* Copyright (c) 2001 Dug Song <dugsong@monkey.org>
|
||||||
*
|
*
|
||||||
* $Id: tun-solaris.c,v 1.2 2005/01/25 21:30:40 dugsong Exp $
|
* $Id: tun-solaris.c 547 2005-01-25 21:30:40Z dugsong $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|||||||
Reference in New Issue
Block a user