Import Upstream version 1.0.4

This commit is contained in:
Guus Sliepen 2019-08-26 13:44:36 +02:00
parent c12028eeaa
commit 392ff555ea
83 changed files with 2580 additions and 2300 deletions

2352
ChangeLog

File diff suppressed because it is too large Load diff

61
INSTALL
View file

@ -1,13 +1,16 @@
Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002 Free Software
Foundation, Inc.
Installation Instructions
*************************
This file is free documentation; the Free Software Foundation gives
Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free
Software Foundation, Inc.
This file is free documentation; the Free Software Foundation gives
unlimited permission to copy, distribute and modify it.
Basic Installation
==================
These are generic installation instructions.
These are generic installation instructions.
The `configure' shell script attempts to guess correct values for
various system-dependent variables used during compilation. It uses
@ -67,9 +70,9 @@ The simplest way to compile this package is:
Compilers and Options
=====================
Some systems require unusual options for compilation or linking that
the `configure' script does not know about. Run `./configure --help'
for details on some of the pertinent environment variables.
Some systems require unusual options for compilation or linking that the
`configure' script does not know about. Run `./configure --help' for
details on some of the pertinent environment variables.
You can give `configure' initial values for configuration parameters
by setting variables in the command line or in the environment. Here
@ -82,7 +85,7 @@ is an example:
Compiling For Multiple Architectures
====================================
You can compile the package for more than one kind of computer at the
You can compile the package for more than one kind of computer at the
same time, by placing the object files for each architecture in their
own directory. To do this, you must use a version of `make' that
supports the `VPATH' variable, such as GNU `make'. `cd' to the
@ -99,19 +102,19 @@ for another architecture.
Installation Names
==================
By default, `make install' will install the package's files in
By default, `make install' will install the package's files in
`/usr/local/bin', `/usr/local/man', etc. You can specify an
installation prefix other than `/usr/local' by giving `configure' the
option `--prefix=PATH'.
option `--prefix=PREFIX'.
You can specify separate installation prefixes for
architecture-specific files and architecture-independent files. If you
give `configure' the option `--exec-prefix=PATH', the package will use
PATH as the prefix for installing programs and libraries.
give `configure' the option `--exec-prefix=PREFIX', the package will
use PREFIX as the prefix for installing programs and libraries.
Documentation and other data files will still use the regular prefix.
In addition, if you use an unusual directory layout you can give
options like `--bindir=PATH' to specify different values for particular
options like `--bindir=DIR' to specify different values for particular
kinds of files. Run `configure --help' for a list of the directories
you can set and what kinds of files go in them.
@ -122,7 +125,7 @@ option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
Optional Features
=================
Some packages pay attention to `--enable-FEATURE' options to
Some packages pay attention to `--enable-FEATURE' options to
`configure', where FEATURE indicates an optional part of the package.
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
is something like `gnu-as' or `x' (for the X Window System). The
@ -137,11 +140,11 @@ you can use the `configure' options `--x-includes=DIR' and
Specifying the System Type
==========================
There may be some features `configure' cannot figure out
automatically, but needs to determine by the type of machine the package
will run on. Usually, assuming the package is built to be run on the
_same_ architectures, `configure' can figure that out, but if it prints
a message saying it cannot guess the machine type, give it the
There may be some features `configure' cannot figure out automatically,
but needs to determine by the type of machine the package will run on.
Usually, assuming the package is built to be run on the _same_
architectures, `configure' can figure that out, but if it prints a
message saying it cannot guess the machine type, give it the
`--build=TYPE' option. TYPE can either be a short name for the system
type, such as `sun4', or a canonical name which has the form:
@ -167,9 +170,9 @@ eventually be run) with `--host=TYPE'.
Sharing Defaults
================
If you want to set default values for `configure' scripts to share,
you can create a site shell script called `config.site' that gives
default values for variables like `CC', `cache_file', and `prefix'.
If you want to set default values for `configure' scripts to share, you
can create a site shell script called `config.site' that gives default
values for variables like `CC', `cache_file', and `prefix'.
`configure' looks for `PREFIX/share/config.site' if it exists, then
`PREFIX/etc/config.site' if it exists. Or, you can set the
`CONFIG_SITE' environment variable to the location of the site script.
@ -178,7 +181,7 @@ A warning: not all `configure' scripts look for a site script.
Defining Variables
==================
Variables not defined in a site shell script can be set in the
Variables not defined in a site shell script can be set in the
environment passed to `configure'. However, some packages may run
configure again during the build, and the customized values of these
variables may be lost. In order to avoid this problem, you should set
@ -186,14 +189,18 @@ them in the `configure' command line, using `VAR=value'. For example:
./configure CC=/usr/local2/bin/gcc
will cause the specified gcc to be used as the C compiler (unless it is
overridden in the site shell script).
causes the specified `gcc' to be used as the C compiler (unless it is
overridden in the site shell script). Here is a another example:
/bin/bash ./configure CONFIG_SHELL=/bin/bash
Here the `CONFIG_SHELL=/bin/bash' operand causes subsequent
configuration-related scripts to be executed by `/bin/bash'.
`configure' Invocation
======================
`configure' recognizes the following options to control how it
operates.
`configure' recognizes the following options to control how it operates.
`--help'
`-h'

View file

@ -1,8 +1,8 @@
# Makefile.in generated by automake 1.8.5 from Makefile.am.
# Makefile.in generated by automake 1.9.5 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004 Free Software Foundation, Inc.
# 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@ -33,6 +33,7 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in $(srcdir)/config.h.in \
@ -150,6 +151,8 @@ am__fastdepCC_TRUE = @am__fastdepCC_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@
@ -245,7 +248,13 @@ uninstall-info-am:
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
@set fnord $$MAKEFLAGS; amf=$$2; \
@failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
@ -257,7 +266,7 @@ $(RECURSIVE_TARGETS):
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
|| eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
@ -265,7 +274,13 @@ $(RECURSIVE_TARGETS):
mostlyclean-recursive clean-recursive distclean-recursive \
maintainer-clean-recursive:
@set fnord $$MAKEFLAGS; amf=$$2; \
@failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done; \
dot_seen=no; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
@ -286,7 +301,7 @@ maintainer-clean-recursive:
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
|| eval $$failcom; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
@ -388,15 +403,17 @@ distdir: $(DISTFILES)
|| exit 1; \
fi; \
done
list='$(SUBDIRS)'; for subdir in $$list; do \
list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d "$(distdir)/$$subdir" \
|| mkdir "$(distdir)/$$subdir" \
|| $(mkdir_p) "$(distdir)/$$subdir" \
|| exit 1; \
distdir=`$(am__cd) $(distdir) && pwd`; \
top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
(cd $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="../$(top_distdir)" \
distdir="../$(distdir)/$$subdir" \
top_distdir="$$top_distdir" \
distdir="$$distdir/$$subdir" \
distdir) \
|| exit 1; \
fi; \
@ -407,15 +424,15 @@ distdir: $(DISTFILES)
! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
|| chmod -R a+r $(distdir)
dist-gzip: distdir
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
$(am__remove_distdir)
dist-bzip2: distdir
$(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2
tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
$(am__remove_distdir)
dist-tarZ: distdir
$(AMTAR) chof - $(distdir) | compress -c >$(distdir).tar.Z
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
$(am__remove_distdir)
dist-shar: distdir
@ -428,7 +445,7 @@ dist-zip: distdir
$(am__remove_distdir)
dist dist-all: distdir
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
$(am__remove_distdir)
# This target untars the dist file and tries a VPATH configuration. Then
@ -437,11 +454,11 @@ dist dist-all: distdir
distcheck: dist
case '$(DIST_ARCHIVES)' in \
*.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 | $(AMTAR) xf - ;;\
bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
*.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(AMTAR) xf - ;;\
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
*.shar.gz*) \
GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
*.zip*) \
@ -522,7 +539,7 @@ mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f $(CONFIG_CLEAN_FILES)
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"

6
NEWS
View file

@ -1,3 +1,9 @@
version 1.0.4 May 4 2005
* Fix switch and hub modes.
* Optionally start scripts when a Subnet becomes (un)reachable.
version 1.0.3 Nov 11 2004
* Show error message when failing to write a PID file.

6
README
View file

@ -1,7 +1,7 @@
This is the README file for tinc version 1.0.3. Installation
This is the README file for tinc version 1.0.4. Installation
instructions may be found in the INSTALL file.
tinc is Copyright (C) 1998-2004 by:
tinc is Copyright (C) 1998-2005 by:
Ivo Timmermans <ivo@tinc-vpn.org>,
Guus Sliepen <guus@tinc-vpn.org>,
@ -55,7 +55,7 @@ should be changed into "Device", and "Device" should be changed into
Compatibility
-------------
Version 1.0.3 is compatible with 1.0pre8, 1.0 and later, but not with older
Version 1.0.4 is compatible with 1.0pre8, 1.0 and later, but not with older
versions of tinc.

541
aclocal.m4 vendored
View file

@ -1,7 +1,7 @@
# generated automatically by aclocal 1.8.5 -*- Autoconf -*-
# generated automatically by aclocal 1.9.5 -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
# Free Software Foundation, Inc.
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
# 2005 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@ -11,55 +11,32 @@
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
# -*- Autoconf -*-
# Copyright (C) 2002, 2003 Free Software Foundation, Inc.
# Generated from amversion.in; do not edit by hand.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# AM_AUTOMAKE_VERSION(VERSION)
# ----------------------------
# Automake X.Y traces this macro to ensure aclocal.m4 has been
# generated from the m4 files accompanying Automake X.Y.
AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.8"])
AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"])
# AM_SET_CURRENT_AUTOMAKE_VERSION
# -------------------------------
# Call AM_AUTOMAKE_VERSION so it can be traced.
# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
[AM_AUTOMAKE_VERSION([1.8.5])])
[AM_AUTOMAKE_VERSION([1.9.5])])
# AM_AUX_DIR_EXPAND
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
# Copyright (C) 2001, 2003 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
@ -106,26 +83,16 @@ AC_PREREQ([2.50])dnl
am_aux_dir=`cd $ac_aux_dir && pwd`
])
# AM_CONDITIONAL -*- Autoconf -*-
# AM_CONDITIONAL -*- Autoconf -*-
# Copyright (C) 1997, 2000, 2001, 2003 Free Software Foundation, Inc.
# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005
# Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# serial 6
# serial 7
# AM_CONDITIONAL(NAME, SHELL-CONDITION)
# -------------------------------------
@ -145,30 +112,19 @@ else
fi
AC_CONFIG_COMMANDS_PRE(
[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
AC_MSG_ERROR([conditional "$1" was never defined.
Usually this means the macro was only invoked conditionally.])
AC_MSG_ERROR([[conditional "$1" was never defined.
Usually this means the macro was only invoked conditionally.]])
fi])])
# serial 7 -*- Autoconf -*-
# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
# Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# serial 8
# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
# written in clear, in which case automake, when reading aclocal.m4,
@ -177,7 +133,6 @@ fi])])
# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
# _AM_DEPENDENCIES(NAME)
# ----------------------
# See how the compiler implements dependency checking.
@ -317,26 +272,16 @@ AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
AC_SUBST([AMDEPBACKSLASH])
])
# Generate code to set up dependency tracking. -*- Autoconf -*-
# Generate code to set up dependency tracking. -*- Autoconf -*-
# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
# Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
#serial 2
#serial 3
# _AM_OUTPUT_DEPENDENCY_COMMANDS
# ------------------------------
@ -355,27 +300,21 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
else
continue
fi
grep '^DEP_FILES *= *[[^ @%:@]]' < "$mf" > /dev/null || continue
# Extract the definition of DEP_FILES from the Makefile without
# running `make'.
# Extract the definition of DEPDIR, am__include, and am__quote
# from the Makefile without running `make'.
DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
test -z "$DEPDIR" && continue
am__include=`sed -n 's/^am__include = //p' < "$mf"`
test -z "am__include" && continue
am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
# When using ansi2knr, U may be empty or an underscore; expand it
U=`sed -n 's/^U = //p' < "$mf"`
test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR"
# We invoke sed twice because it is the simplest approach to
# changing $(DEPDIR) to its actual value in the expansion.
for file in `sed -n '
/^DEP_FILES = .*\\\\$/ {
s/^DEP_FILES = //
:loop
s/\\\\$//
p
n
/\\\\$/ b loop
p
}
/^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \
# Find all dependency output files, they are included files with
# $(DEPDIR) in their names. We invoke sed twice because it is the
# simplest approach to changing $(DEPDIR) to its actual value in the
# expansion.
for file in `sed -n "
s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
# Make sure the directory exists.
test -f "$dirpart/$file" && continue
@ -401,30 +340,19 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
[AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
])
# Do all the work for Automake. -*- Autoconf -*-
# Do all the work for Automake. -*- Autoconf -*-
# This macro actually does too much some checks are only needed if
# your package does certain things. But this isn't really a big deal.
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
# Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# serial 12
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# serial 11
# This macro actually does too much. Some checks are only needed if
# your package does certain things. But this isn't really a big deal.
# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
# AM_INIT_AUTOMAKE([OPTIONS])
@ -482,7 +410,6 @@ AM_MISSING_PROG(AUTOCONF, autoconf)
AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
AM_MISSING_PROG(AUTOHEADER, autoheader)
AM_MISSING_PROG(MAKEINFO, makeinfo)
AM_MISSING_PROG(AMTAR, tar)
AM_PROG_INSTALL_SH
AM_PROG_INSTALL_STRIP
AC_REQUIRE([AM_PROG_MKDIR_P])dnl
@ -491,7 +418,9 @@ AC_REQUIRE([AM_PROG_MKDIR_P])dnl
AC_REQUIRE([AC_PROG_AWK])dnl
AC_REQUIRE([AC_PROG_MAKE_SET])dnl
AC_REQUIRE([AM_SET_LEADING_DOT])dnl
_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
[_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
[_AM_PROG_TAR([v7])])])
_AM_IF_OPTION([no-dependencies],,
[AC_PROVIDE_IFELSE([AC_PROG_CC],
[_AM_DEPENDENCIES(CC)],
@ -525,51 +454,27 @@ for _am_header in $config_headers :; do
done
echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# AM_PROG_INSTALL_SH
# ------------------
# Define $install_sh.
# Copyright (C) 2001, 2003 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
AC_DEFUN([AM_PROG_INSTALL_SH],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
install_sh=${install_sh-"$am_aux_dir/install-sh"}
AC_SUBST(install_sh)])
# -*- Autoconf -*-
# Copyright (C) 2003 Free Software Foundation, Inc.
# Copyright (C) 2003, 2005 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# serial 1
# serial 2
# Check whether the underlying file-system supports filenames
# with a leading dot. For instance MS-DOS doesn't.
@ -584,28 +489,17 @@ fi
rmdir .tst 2>/dev/null
AC_SUBST([am__leading_dot])])
# Add --enable-maintainer-mode option to configure.
# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
# From Jim Meyering
# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004
# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005
# Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# serial 3
# serial 4
AC_DEFUN([AM_MAINTAINER_MODE],
[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
@ -624,26 +518,15 @@ AC_DEFUN([AM_MAINTAINER_MODE],
AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
# Check to see how 'make' treats includes. -*- Autoconf -*-
# Check to see how 'make' treats includes. -*- Autoconf -*-
# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# serial 2
# serial 3
# AM_MAKE_INCLUDE()
# -----------------
@ -687,27 +570,16 @@ AC_MSG_RESULT([$_am_result])
rm -f confinc confmf
])
# -*- Autoconf -*-
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2005
# Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# Copyright (C) 1997, 1999, 2000, 2001, 2003 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# serial 3
# serial 4
# AM_MISSING_PROG(NAME, PROGRAM)
# ------------------------------
@ -733,27 +605,16 @@ else
fi
])
# Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# AM_PROG_MKDIR_P
# ---------------
# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise.
# Copyright (C) 2003, 2004 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
#
# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories
# created by `make install' are always world readable, even if the
# installer happens to have an overly restrictive umask (e.g. 077).
@ -774,13 +635,21 @@ fi
# this.)
AC_DEFUN([AM_PROG_MKDIR_P],
[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
# Keeping the `.' argument allows $(mkdir_p) to be used without
# argument. Indeed, we sometimes output rules like
# We used to keeping the `.' as first argument, in order to
# allow $(mkdir_p) to be used without argument. As in
# $(mkdir_p) $(somedir)
# where $(somedir) is conditionally defined.
# (`test -n '$(somedir)' && $(mkdir_p) $(somedir)' is a more
# expensive solution, as it forces Make to start a sub-shell.)
mkdir_p='mkdir -p -- .'
# where $(somedir) is conditionally defined. However this is wrong
# for two reasons:
# 1. if the package is installed by a user who cannot write `.'
# make install will fail,
# 2. the above comment should most certainly read
# $(mkdir_p) $(DESTDIR)$(somedir)
# so it does not work when $(somedir) is undefined and
# $(DESTDIR) is not.
# To support the latter case, we have to write
# test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
# so the `.' trick is pointless.
mkdir_p='mkdir -p --'
else
# On NextStep and OpenStep, the `mkdir' command does not
# recognize any option. It will interpret all options as
@ -799,26 +668,15 @@ else
fi
AC_SUBST([mkdir_p])])
# Helper functions for option handling. -*- Autoconf -*-
# Helper functions for option handling. -*- Autoconf -*-
# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# serial 2
# serial 3
# _AM_MANGLE_OPTION(NAME)
# -----------------------
@ -843,28 +701,16 @@ AC_DEFUN([_AM_SET_OPTIONS],
AC_DEFUN([_AM_IF_OPTION],
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
# Check to make sure that the build environment is sane. -*- Autoconf -*-
# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
# Free Software Foundation, Inc.
#
# Check to make sure that the build environment is sane.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# Copyright (C) 1996, 1997, 2000, 2001, 2003 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# serial 3
# serial 4
# AM_SANITY_CHECK
# ---------------
@ -907,25 +753,14 @@ Check your system clock])
fi
AC_MSG_RESULT(yes)])
# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# AM_PROG_INSTALL_STRIP
# Copyright (C) 2001, 2003 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# ---------------------
# One issue with vendor `install' (even GNU) is that you can't
# specify the program used to strip binaries. This is especially
# annoying in cross-compiling environments, where the build's strip
@ -946,6 +781,102 @@ fi
INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
AC_SUBST([INSTALL_STRIP_PROGRAM])])
# Check how to create a tarball. -*- Autoconf -*-
# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# serial 2
# _AM_PROG_TAR(FORMAT)
# --------------------
# Check how to create a tarball in format FORMAT.
# FORMAT should be one of `v7', `ustar', or `pax'.
#
# Substitute a variable $(am__tar) that is a command
# writing to stdout a FORMAT-tarball containing the directory
# $tardir.
# tardir=directory && $(am__tar) > result.tar
#
# Substitute a variable $(am__untar) that extract such
# a tarball read from stdin.
# $(am__untar) < result.tar
AC_DEFUN([_AM_PROG_TAR],
[# Always define AMTAR for backward compatibility.
AM_MISSING_PROG([AMTAR], [tar])
m4_if([$1], [v7],
[am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
[m4_case([$1], [ustar],, [pax],,
[m4_fatal([Unknown tar format])])
AC_MSG_CHECKING([how to create a $1 tar archive])
# Loop over all known methods to create a tar archive until one works.
_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
_am_tools=${am_cv_prog_tar_$1-$_am_tools}
# Do not fold the above two line into one, because Tru64 sh and
# Solaris sh will not grok spaces in the rhs of `-'.
for _am_tool in $_am_tools
do
case $_am_tool in
gnutar)
for _am_tar in tar gnutar gtar;
do
AM_RUN_LOG([$_am_tar --version]) && break
done
am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
am__untar="$_am_tar -xf -"
;;
plaintar)
# Must skip GNU tar: if it does not support --format= it doesn't create
# ustar tarball either.
(tar --version) >/dev/null 2>&1 && continue
am__tar='tar chf - "$$tardir"'
am__tar_='tar chf - "$tardir"'
am__untar='tar xf -'
;;
pax)
am__tar='pax -L -x $1 -w "$$tardir"'
am__tar_='pax -L -x $1 -w "$tardir"'
am__untar='pax -r'
;;
cpio)
am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
am__untar='cpio -i -H $1 -d'
;;
none)
am__tar=false
am__tar_=false
am__untar=false
;;
esac
# If the value was cached, stop now. We just wanted to have am__tar
# and am__untar set.
test -n "${am_cv_prog_tar_$1}" && break
# tar/untar a dummy directory, and stop if the command works
rm -rf conftest.dir
mkdir conftest.dir
echo GrepMe > conftest.dir/file
AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
rm -rf conftest.dir
if test -s conftest.tar; then
AM_RUN_LOG([$am__untar <conftest.tar])
grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
fi
done
rm -rf conftest.dir
AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
AC_MSG_RESULT([$am_cv_prog_tar_$1])])
AC_SUBST([am__tar])
AC_SUBST([am__untar])
]) # _AM_PROG_TAR
m4_include([m4/aclocal-include.m4])
m4_include([m4/attribute.m4])
m4_include([m4/gettext.m4])

36
config.guess vendored
View file

@ -1,9 +1,9 @@
#! /bin/sh
# Attempt to guess a canonical system name.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
# 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
# 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
timestamp='2004-08-13'
timestamp='2005-04-22'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@ -53,7 +53,7 @@ version="\
GNU config.guess ($timestamp)
Originally written by Per Bothner.
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
@ -319,6 +319,9 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
*:OS/390:*:*)
echo i370-ibm-openedition
exit 0 ;;
*:z/VM:*:*)
echo s390-ibm-zvmoe
exit 0 ;;
*:OS400:*:*)
echo powerpc-ibm-os400
exit 0 ;;
@ -342,7 +345,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
DRS?6000:unix:4.0:6*)
echo sparc-icl-nx6
exit 0 ;;
DRS?6000:UNIX_SV:4.2*:7*)
DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
case `/usr/bin/uname -p` in
sparc) echo sparc-icl-nx7 && exit 0 ;;
esac ;;
@ -801,6 +804,9 @@ EOF
i*:UWIN*:*)
echo ${UNAME_MACHINE}-pc-uwin
exit 0 ;;
amd64:CYGWIN*:*:*)
echo x86_64-unknown-cygwin
exit 0 ;;
p*:CYGWIN*:*)
echo powerpcle-unknown-cygwin
exit 0 ;;
@ -824,6 +830,12 @@ EOF
cris:Linux:*:*)
echo cris-axis-linux-gnu
exit 0 ;;
crisv32:Linux:*:*)
echo crisv32-axis-linux-gnu
exit 0 ;;
frv:Linux:*:*)
echo frv-unknown-linux-gnu
exit 0 ;;
ia64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit 0 ;;
@ -1128,6 +1140,10 @@ EOF
# From seanf@swdc.stratus.com.
echo i860-stratus-sysv4
exit 0 ;;
i*86:VOS:*:*)
# From Paul.Green@stratus.com.
echo ${UNAME_MACHINE}-stratus-vos
exit 0 ;;
*:VOS:*:*)
# From Paul.Green@stratus.com.
echo hppa1.1-stratus-vos
@ -1188,6 +1204,9 @@ EOF
*:QNX:*:4*)
echo i386-pc-qnx
exit 0 ;;
NSE-?:NONSTOP_KERNEL:*:*)
echo nse-tandem-nsk${UNAME_RELEASE}
exit 0 ;;
NSR-?:NONSTOP_KERNEL:*:*)
echo nsr-tandem-nsk${UNAME_RELEASE}
exit 0 ;;
@ -1241,7 +1260,10 @@ EOF
A*) echo alpha-dec-vms && exit 0 ;;
I*) echo ia64-dec-vms && exit 0 ;;
V*) echo vax-dec-vms && exit 0 ;;
esac
esac ;;
*:XENIX:*:SysV)
echo i386-pc-xenix
exit 0 ;;
esac
#echo '(No uname command or uname output not recognized.)' 1>&2
@ -1401,7 +1423,9 @@ This script, last modified $timestamp, has failed to recognize
the operating system you are using. It is advised that you
download the most up to date version of the config scripts from
ftp://ftp.gnu.org/pub/gnu/config/
http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess
and
http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub
If the version you run ($0) is already up to date, please
send the following data and any information you think might be

39
config.sub vendored
View file

@ -1,9 +1,9 @@
#! /bin/sh
# Configuration validation subroutine script.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
# 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
# 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
timestamp='2004-06-24'
timestamp='2005-04-22'
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
@ -70,7 +70,7 @@ Report bugs and patches to <config-patches@gnu.org>."
version="\
GNU config.sub ($timestamp)
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
@ -231,13 +231,14 @@ case $basic_machine in
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
| am33_2.0 \
| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
| bfin \
| c4x | clipper \
| d10v | d30v | dlx | dsp16xx \
| fr30 | frv \
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
| i370 | i860 | i960 | ia64 \
| ip2k | iq2000 \
| m32r | m32rle | m68000 | m68k | m88k | mcore \
| m32r | m32rle | m68000 | m68k | m88k | maxq | mcore \
| mips | mipsbe | mipseb | mipsel | mipsle \
| mips16 \
| mips64 | mips64el \
@ -262,12 +263,13 @@ case $basic_machine in
| pyramid \
| sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
| sh64 | sh64le \
| sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv8 | sparcv9 | sparcv9b \
| sparc | sparc64 | sparc64b | sparc86x | sparclet | sparclite \
| sparcv8 | sparcv9 | sparcv9b \
| strongarm \
| tahoe | thumb | tic4x | tic80 | tron \
| v850 | v850e \
| we32k \
| x86 | xscale | xstormy16 | xtensa \
| x86 | xscale | xscalee[bl] | xstormy16 | xtensa \
| z8k)
basic_machine=$basic_machine-unknown
;;
@ -298,7 +300,7 @@ case $basic_machine in
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
| avr-* \
| bs2000-* \
| bfin-* | bs2000-* \
| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
| clipper-* | craynv-* | cydra-* \
| d10v-* | d30v-* | dlx-* \
@ -310,7 +312,7 @@ case $basic_machine in
| ip2k-* | iq2000-* \
| m32r-* | m32rle-* \
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
| m88110-* | m88k-* | mcore-* \
| m88110-* | m88k-* | maxq-* | mcore-* \
| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
| mips16-* \
| mips64-* | mips64el-* \
@ -336,15 +338,16 @@ case $basic_machine in
| romp-* | rs6000-* \
| sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
| sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \
| sparc-* | sparc64-* | sparc64b-* | sparc86x-* | sparclet-* \
| sparclite-* \
| sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
| tahoe-* | thumb-* \
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
| tron-* \
| v850-* | v850e-* | vax-* \
| we32k-* \
| x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \
| xtensa-* \
| x86-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \
| xstormy16-* | xtensa-* \
| ymp-* \
| z8k-*)
;;
@ -457,6 +460,9 @@ case $basic_machine in
crds | unos)
basic_machine=m68k-crds
;;
crisv32 | crisv32-* | etraxfs*)
basic_machine=crisv32-axis
;;
cris | cris-* | etrax*)
basic_machine=cris-axis
;;
@ -486,6 +492,10 @@ case $basic_machine in
basic_machine=m88k-motorola
os=-sysv3
;;
djgpp)
basic_machine=i586-pc
os=-msdosdjgpp
;;
dpx20 | dpx20-*)
basic_machine=rs6000-bull
os=-bosx
@ -1026,6 +1036,10 @@ case $basic_machine in
basic_machine=hppa1.1-winbond
os=-proelf
;;
xbox)
basic_machine=i686-pc
os=-mingw32
;;
xps | xps100)
basic_machine=xps100-honeywell
;;
@ -1294,6 +1308,9 @@ case $os in
-kaos*)
os=-kaos
;;
-zvmoe)
os=-zvmoe
;;
-none)
;;
*)

68
configure vendored
View file

@ -309,7 +309,7 @@ ac_includes_default="\
# include <unistd.h>
#endif"
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT MKINSTALLDIRS USE_NLS MSGFMT GMSGFMT XGETTEXT MSGMERGE CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE build build_cpu build_vendor build_os host host_cpu host_vendor host_os LIBICONV LTLIBICONV INTLLIBS LIBINTL LTLIBINTL POSUB CPP EGREP LN_S RANLIB ac_ct_RANLIB LIBOBJS ALLOCA LINUX_IF_TUN_H HAVE_TUNTAP INCLUDES LTLIBOBJS'
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT MKINSTALLDIRS USE_NLS MSGFMT GMSGFMT XGETTEXT MSGMERGE CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE build build_cpu build_vendor build_os host host_cpu host_vendor host_os LIBICONV LTLIBICONV INTLLIBS LIBINTL LTLIBINTL POSUB CPP EGREP LN_S RANLIB ac_ct_RANLIB LIBOBJS ALLOCA LINUX_IF_TUN_H HAVE_TUNTAP INCLUDES LTLIBOBJS'
ac_subst_files=''
# Initialize some variables set by options.
@ -1329,7 +1329,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
am__api_version="1.8"
am__api_version="1.9"
ac_aux_dir=
for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
if test -f $ac_dir/install-sh; then
@ -1506,13 +1506,21 @@ echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
fi
if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
# Keeping the `.' argument allows $(mkdir_p) to be used without
# argument. Indeed, we sometimes output rules like
# We used to keeping the `.' as first argument, in order to
# allow $(mkdir_p) to be used without argument. As in
# $(mkdir_p) $(somedir)
# where $(somedir) is conditionally defined.
# (`test -n '$(somedir)' && $(mkdir_p) $(somedir)' is a more
# expensive solution, as it forces Make to start a sub-shell.)
mkdir_p='mkdir -p -- .'
# where $(somedir) is conditionally defined. However this is wrong
# for two reasons:
# 1. if the package is installed by a user who cannot write `.'
# make install will fail,
# 2. the above comment should most certainly read
# $(mkdir_p) $(DESTDIR)$(somedir)
# so it does not work when $(somedir) is undefined and
# $(DESTDIR) is not.
# To support the latter case, we have to write
# test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
# so the `.' trick is pointless.
mkdir_p='mkdir -p --'
else
# On NextStep and OpenStep, the `mkdir' command does not
# recognize any option. It will interpret all options as
@ -1628,7 +1636,7 @@ fi
# Define the identity of the package.
PACKAGE=tinc
VERSION=1.0.3
VERSION=1.0.4
cat >>confdefs.h <<_ACEOF
@ -1656,9 +1664,6 @@ AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
AMTAR=${AMTAR-"${am_missing_run}tar"}
install_sh=${install_sh-"$am_aux_dir/install-sh"}
# Installed binaries are usually stripped using `strip' when the user
@ -1751,6 +1756,13 @@ INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
# We need awk for the "check" target. The system "awk" is bad on
# some platforms.
# Always define AMTAR for backward compatibility.
AMTAR=${AMTAR-"${am_missing_run}tar"}
am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
@ -11838,7 +11850,6 @@ s,@AUTOCONF@,$AUTOCONF,;t t
s,@AUTOMAKE@,$AUTOMAKE,;t t
s,@AUTOHEADER@,$AUTOHEADER,;t t
s,@MAKEINFO@,$MAKEINFO,;t t
s,@AMTAR@,$AMTAR,;t t
s,@install_sh@,$install_sh,;t t
s,@STRIP@,$STRIP,;t t
s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t
@ -11847,6 +11858,9 @@ s,@mkdir_p@,$mkdir_p,;t t
s,@AWK@,$AWK,;t t
s,@SET_MAKE@,$SET_MAKE,;t t
s,@am__leading_dot@,$am__leading_dot,;t t
s,@AMTAR@,$AMTAR,;t t
s,@am__tar@,$am__tar,;t t
s,@am__untar@,$am__untar,;t t
s,@MAINTAINER_MODE_TRUE@,$MAINTAINER_MODE_TRUE,;t t
s,@MAINTAINER_MODE_FALSE@,$MAINTAINER_MODE_FALSE,;t t
s,@MAINT@,$MAINT,;t t
@ -12621,27 +12635,21 @@ echo X"$mf" |
else
continue
fi
grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue
# Extract the definition of DEP_FILES from the Makefile without
# running `make'.
# Extract the definition of DEPDIR, am__include, and am__quote
# from the Makefile without running `make'.
DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
test -z "$DEPDIR" && continue
am__include=`sed -n 's/^am__include = //p' < "$mf"`
test -z "am__include" && continue
am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
# When using ansi2knr, U may be empty or an underscore; expand it
U=`sed -n 's/^U = //p' < "$mf"`
test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR"
# We invoke sed twice because it is the simplest approach to
# changing $(DEPDIR) to its actual value in the expansion.
for file in `sed -n '
/^DEP_FILES = .*\\\\$/ {
s/^DEP_FILES = //
:loop
s/\\\\$//
p
n
/\\\\$/ b loop
p
}
/^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \
# Find all dependency output files, they are included files with
# $(DEPDIR) in their names. We invoke sed twice because it is the
# simplest approach to changing $(DEPDIR) to its actual value in the
# expansion.
for file in `sed -n "
s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
# Make sure the directory exists.
test -f "$dirpart/$file" && continue

View file

@ -5,7 +5,7 @@ dnl $Id: configure.in 1415 2004-11-10 23:20:59Z guus $
AC_PREREQ(2.59)
AC_INIT
AC_CONFIG_SRCDIR([src/tincd.c])
AM_INIT_AUTOMAKE(tinc, 1.0.3)
AM_INIT_AUTOMAKE(tinc, 1.0.4)
AC_CONFIG_HEADERS([config.h])
AM_MAINTAINER_MODE

65
depcomp
View file

@ -1,9 +1,9 @@
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
scriptversion=2004-04-25.13
scriptversion=2005-02-09.22
# Copyright (C) 1999, 2000, 2003, 2004 Free Software Foundation, Inc.
# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@ -43,17 +43,18 @@ Environment variables:
depmode Dependency tracking mode.
source Source file read by `PROGRAMS ARGS'.
object Object file output by `PROGRAMS ARGS'.
DEPDIR directory where to store dependencies.
depfile Dependency file to output.
tmpdepfile Temporary file to use when outputing dependencies.
libtool Whether libtool is used (yes/no).
Report bugs to <bug-automake@gnu.org>.
EOF
exit 0
exit $?
;;
-v | --v*)
echo "depcomp $scriptversion"
exit 0
exit $?
;;
esac
@ -61,18 +62,10 @@ if test -z "$depmode" || test -z "$source" || test -z "$object"; then
echo "depcomp: Variables source, object and depmode must be set" 1>&2
exit 1
fi
# `libtool' can also be set to `yes' or `no'.
if test -z "$depfile"; then
base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'`
dir=`echo "$object" | sed 's,/.*$,/,'`
if test "$dir" = "$object"; then
dir=
fi
# FIXME: should be _deps on DOS.
depfile="$dir.deps/$base"
fi
# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
depfile=${depfile-`echo "$object" |
sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
rm -f "$tmpdepfile"
@ -294,33 +287,43 @@ tru64)
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
if test "$libtool" = yes; then
# Dependencies are output in .lo.d with libtool 1.4.
# They are output in .o.d with libtool 1.5.
tmpdepfile1="$dir.libs/$base.lo.d"
tmpdepfile2="$dir.libs/$base.o.d"
tmpdepfile3="$dir.libs/$base.d"
# With Tru64 cc, shared objects can also be used to make a
# static library. This mecanism is used in libtool 1.4 series to
# handle both shared and static libraries in a single compilation.
# With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
#
# With libtool 1.5 this exception was removed, and libtool now
# generates 2 separate objects for the 2 libraries. These two
# compilations output dependencies in in $dir.libs/$base.o.d and
# in $dir$base.o.d. We have to check for both files, because
# one of the two compilations can be disabled. We should prefer
# $dir$base.o.d over $dir.libs/$base.o.d because the latter is
# automatically cleaned when .libs/ is deleted, while ignoring
# the former would cause a distcleancheck panic.
tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4
tmpdepfile2=$dir$base.o.d # libtool 1.5
tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5
tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504
"$@" -Wc,-MD
else
tmpdepfile1="$dir$base.o.d"
tmpdepfile2="$dir$base.d"
tmpdepfile3="$dir$base.d"
tmpdepfile1=$dir$base.o.d
tmpdepfile2=$dir$base.d
tmpdepfile3=$dir$base.d
tmpdepfile4=$dir$base.d
"$@" -MD
fi
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
exit $stat
fi
if test -f "$tmpdepfile1"; then
tmpdepfile="$tmpdepfile1"
elif test -f "$tmpdepfile2"; then
tmpdepfile="$tmpdepfile2"
else
tmpdepfile="$tmpdepfile3"
fi
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
do
test -f "$tmpdepfile" && break
done
if test -f "$tmpdepfile"; then
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
# That's a tab and a space in the [].

View file

@ -1,8 +1,8 @@
# Makefile.in generated by automake 1.8.5 from Makefile.am.
# Makefile.in generated by automake 1.9.5 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004 Free Software Foundation, Inc.
# 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@ -32,6 +32,7 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = doc
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in texinfo.tex
@ -64,7 +65,8 @@ TEXI2PDF = $(TEXI2DVI) --pdf --batch
MAKEINFOHTML = $(MAKEINFO) --html
AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS)
DVIPS = dvips
am__installdirs = "$(DESTDIR)$(infodir)" "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(man8dir)"
am__installdirs = "$(DESTDIR)$(infodir)" "$(DESTDIR)$(man5dir)" \
"$(DESTDIR)$(man8dir)"
man5dir = $(mandir)/man5
man8dir = $(mandir)/man8
NROFF = nroff
@ -146,6 +148,8 @@ am__fastdepCC_TRUE = @am__fastdepCC_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@
@ -219,14 +223,10 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
tinc.info: tinc.texi
restore=: && \
backupdir="$(am__leading_dot)am$$$$" && \
restore=: && backupdir="$(am__leading_dot)am$$$$" && \
rm -rf $$backupdir && mkdir $$backupdir && \
for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \
if test -f $$f; then \
mv $$f $$backupdir; \
restore=mv; \
fi; \
if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \
done; \
if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
-o $@ `test -f 'tinc.texi' || echo '$(srcdir)/'`tinc.texi; \
@ -236,8 +236,7 @@ tinc.info: tinc.texi
rc=$$?; \
$$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \
fi; \
rm -rf $$backupdir; \
exit $$rc
rm -rf $$backupdir; exit $$rc
tinc.dvi: tinc.texi
TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
@ -250,15 +249,23 @@ tinc.pdf: tinc.texi
$(TEXI2PDF) -o $@ `test -f 'tinc.texi' || echo '$(srcdir)/'`tinc.texi
tinc.html: tinc.texi
$(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
-o $@ `test -f 'tinc.texi' || echo '$(srcdir)/'`tinc.texi
if test ! -d $@ && test -d $(@:.html=); then \
mv $(@:.html=) $@; else :; fi
rm -rf $(@:.html=.htp)
if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
-o $(@:.html=.htp) `test -f 'tinc.texi' || echo '$(srcdir)/'`tinc.texi; \
then \
rm -rf $@; \
if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
mv $(@:.html=) $@; else mv $(@:.html=.htp) $@; fi; \
else \
if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
rm -rf $(@:.html=); else rm -Rf $(@:.html=.htp) $@; fi; \
exit 1; \
fi
.dvi.ps:
$(DVIPS) -o $@ $<
uninstall-info-am:
$(PRE_UNINSTALL)
@$(PRE_UNINSTALL)
@if (install-info --version && \
install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
list='$(INFO_DEPS)'; \
@ -274,7 +281,7 @@ uninstall-info-am:
relfile=`echo "$$file" | sed 's|^.*/||'`; \
relfile_i=`echo "$$relfile" | sed 's|\.info$$||;s|$$|.i|'`; \
(if cd "$(DESTDIR)$(infodir)"; then \
echo " rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9])"; \
echo " cd '$(DESTDIR)$(infodir)' && rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]"; \
rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]; \
else :; fi); \
done
@ -459,7 +466,7 @@ clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
-rm -f $(CONFIG_CLEAN_FILES)
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"

Binary file not shown.

View file

@ -3,10 +3,10 @@
% Load plain if necessary, i.e., if running under initex.
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
%
\def\texinfoversion{2004-05-16.08}
\def\texinfoversion{2005-01-30.17}
%
% Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software
% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software
% Foundation, Inc.
%
% This texinfo.tex file is free software; you can redistribute it and/or
@ -89,10 +89,11 @@
\let\ptexhat=^
\let\ptexi=\i
\let\ptexindent=\indent
\let\ptexnoindent=\noindent
\let\ptexinsert=\insert
\let\ptexlbrace=\{
\let\ptexless=<
\let\ptexnewwrite\newwrite
\let\ptexnoindent=\noindent
\let\ptexplus=+
\let\ptexrbrace=\}
\let\ptexslash=\/
@ -608,7 +609,7 @@
% The \TeX{} logo, as in plain, but resetting the spacing so that a
% period following counts as ending a sentence. (Idea found in latex.)
%
\edef\TeX{\TeX \spacefactor=3000 }
\edef\TeX{\TeX \spacefactor=1000 }
% @LaTeX{} logo. Not quite the same results as the definition in
% latex.ltx, since we use a different font for the raised A; it's most
@ -1242,13 +1243,13 @@ where each line of input produces a line of output.}
% Read toc silently, to get counts of subentries for \pdfoutline.
\def\numchapentry##1##2##3##4{%
\def\thischapnum{##2}%
\let\thissecnum\empty
\let\thissubsecnum\empty
\def\thissecnum{0}%
\def\thissubsecnum{0}%
}%
\def\numsecentry##1##2##3##4{%
\advancenumber{chap\thischapnum}%
\def\thissecnum{##2}%
\let\thissubsecnum\empty
\def\thissubsecnum{0}%
}%
\def\numsubsecentry##1##2##3##4{%
\advancenumber{sec\thissecnum}%
@ -1257,9 +1258,9 @@ where each line of input produces a line of output.}
\def\numsubsubsecentry##1##2##3##4{%
\advancenumber{subsec\thissubsecnum}%
}%
\let\thischapnum\empty
\let\thissecnum\empty
\let\thissubsecnum\empty
\def\thischapnum{0}%
\def\thissecnum{0}%
\def\thissubsecnum{0}%
%
% use \def rather than \let here because we redefine \chapentry et
% al. a second time, below.
@ -1406,7 +1407,7 @@ where each line of input produces a line of output.}
\def\rm{\fam=0 \setfontstyle{rm}}
\def\it{\fam=\itfam \setfontstyle{it}}
\def\sl{\fam=\slfam \setfontstyle{sl}}
\def\bf{\fam=\bffam \setfontstyle{bf}}
\def\bf{\fam=\bffam \setfontstyle{bf}}\def\bfstylename{bf}
\def\tt{\fam=\ttfam \setfontstyle{tt}}
% Texinfo sort of supports the sans serif font style, which plain TeX does not.
@ -1468,17 +1469,10 @@ where each line of input produces a line of output.}
\def\scbshape{csc}
% Text fonts (11.2pt, magstep1).
\newcount\mainmagstep
\ifx\bigger\relax
% not really supported.
\mainmagstep=\magstep1
\setfont\textrm\rmshape{12}{1000}
\setfont\texttt\ttshape{12}{1000}
\else
\mainmagstep=\magstephalf
\setfont\textrm\rmshape{10}{\mainmagstep}
\setfont\texttt\ttshape{10}{\mainmagstep}
\fi
\def\textnominalsize{11pt}
\edef\mainmagstep{\magstephalf}
\setfont\textrm\rmshape{10}{\mainmagstep}
\setfont\texttt\ttshape{10}{\mainmagstep}
\setfont\textbf\bfshape{10}{\mainmagstep}
\setfont\textit\itshape{10}{\mainmagstep}
\setfont\textsl\slshape{10}{\mainmagstep}
@ -1495,6 +1489,7 @@ where each line of input produces a line of output.}
\def\df{\let\tentt=\deftt \let\tenbf = \defbf \let\tenttsl=\defttsl \bf}
% Fonts for indices, footnotes, small examples (9pt).
\def\smallnominalsize{9pt}
\setfont\smallrm\rmshape{9}{1000}
\setfont\smalltt\ttshape{9}{1000}
\setfont\smallbf\bfshape{10}{900}
@ -1507,6 +1502,7 @@ where each line of input produces a line of output.}
\font\smallsy=cmsy9
% Fonts for small examples (8pt).
\def\smallernominalsize{8pt}
\setfont\smallerrm\rmshape{8}{1000}
\setfont\smallertt\ttshape{8}{1000}
\setfont\smallerbf\bfshape{10}{800}
@ -1519,6 +1515,7 @@ where each line of input produces a line of output.}
\font\smallersy=cmsy8
% Fonts for title page (20.4pt):
\def\titlenominalsize{20pt}
\setfont\titlerm\rmbshape{12}{\magstep3}
\setfont\titleit\itbshape{10}{\magstep4}
\setfont\titlesl\slbshape{10}{\magstep4}
@ -1533,6 +1530,7 @@ where each line of input produces a line of output.}
\def\authortt{\sectt}
% Chapter (and unnumbered) fonts (17.28pt).
\def\chapnominalsize{17pt}
\setfont\chaprm\rmbshape{12}{\magstep2}
\setfont\chapit\itbshape{10}{\magstep3}
\setfont\chapsl\slbshape{10}{\magstep3}
@ -1545,6 +1543,7 @@ where each line of input produces a line of output.}
\font\chapsy=cmsy10 scaled \magstep3
% Section fonts (14.4pt).
\def\secnominalsize{14pt}
\setfont\secrm\rmbshape{12}{\magstep1}
\setfont\secit\itbshape{10}{\magstep2}
\setfont\secsl\slbshape{10}{\magstep2}
@ -1557,6 +1556,7 @@ where each line of input produces a line of output.}
\font\secsy=cmsy10 scaled \magstep2
% Subsection fonts (13.15pt).
\def\ssecnominalsize{13pt}
\setfont\ssecrm\rmbshape{12}{\magstephalf}
\setfont\ssecit\itbshape{10}{1315}
\setfont\ssecsl\slbshape{10}{1315}
@ -1569,6 +1569,7 @@ where each line of input produces a line of output.}
\font\ssecsy=cmsy10 scaled 1315
% Reduced fonts for @acro in text (10pt).
\def\reducednominalsize{10pt}
\setfont\reducedrm\rmshape{10}{1000}
\setfont\reducedtt\ttshape{10}{1000}
\setfont\reducedbf\bfshape{10}{1000}
@ -1608,6 +1609,7 @@ where each line of input produces a line of output.}
\let\tenbf=\textbf \let\tentt=\texttt \let\smallcaps=\textsc
\let\tensf=\textsf \let\teni=\texti \let\tensy=\textsy
\let\tenttsl=\textttsl
\def\curfontsize{text}%
\def\lsize{reduced}\def\lllsize{smaller}%
\resetmathfonts \setleading{\textleading}}
\def\titlefonts{%
@ -1615,13 +1617,16 @@ where each line of input produces a line of output.}
\let\tenbf=\titlebf \let\tentt=\titlett \let\smallcaps=\titlesc
\let\tensf=\titlesf \let\teni=\titlei \let\tensy=\titlesy
\let\tenttsl=\titlettsl
\def\curfontsize{title}%
\def\lsize{chap}\def\lllsize{subsec}%
\resetmathfonts \setleading{25pt}}
\def\titlefont#1{{\titlefonts\rm #1}}
\def\chapfonts{%
\let\tenrm=\chaprm \let\tenit=\chapit \let\tensl=\chapsl
\let\tenbf=\chapbf \let\tentt=\chaptt \let\smallcaps=\chapsc
\let\tensf=\chapsf \let\teni=\chapi \let\tensy=\chapsy \let\tenttsl=\chapttsl
\let\tensf=\chapsf \let\teni=\chapi \let\tensy=\chapsy
\let\tenttsl=\chapttsl
\def\curfontsize{chap}%
\def\lsize{sec}\def\lllsize{text}%
\resetmathfonts \setleading{19pt}}
\def\secfonts{%
@ -1629,6 +1634,7 @@ where each line of input produces a line of output.}
\let\tenbf=\secbf \let\tentt=\sectt \let\smallcaps=\secsc
\let\tensf=\secsf \let\teni=\seci \let\tensy=\secsy
\let\tenttsl=\secttsl
\def\curfontsize{sec}%
\def\lsize{subsec}\def\lllsize{reduced}%
\resetmathfonts \setleading{16pt}}
\def\subsecfonts{%
@ -1636,6 +1642,7 @@ where each line of input produces a line of output.}
\let\tenbf=\ssecbf \let\tentt=\ssectt \let\smallcaps=\ssecsc
\let\tensf=\ssecsf \let\teni=\sseci \let\tensy=\ssecsy
\let\tenttsl=\ssecttsl
\def\curfontsize{ssec}%
\def\lsize{text}\def\lllsize{small}%
\resetmathfonts \setleading{15pt}}
\let\subsubsecfonts = \subsecfonts
@ -1644,6 +1651,7 @@ where each line of input produces a line of output.}
\let\tenbf=\reducedbf \let\tentt=\reducedtt \let\reducedcaps=\reducedsc
\let\tensf=\reducedsf \let\teni=\reducedi \let\tensy=\reducedsy
\let\tenttsl=\reducedttsl
\def\curfontsize{reduced}%
\def\lsize{small}\def\lllsize{smaller}%
\resetmathfonts \setleading{10.5pt}}
\def\smallfonts{%
@ -1651,6 +1659,7 @@ where each line of input produces a line of output.}
\let\tenbf=\smallbf \let\tentt=\smalltt \let\smallcaps=\smallsc
\let\tensf=\smallsf \let\teni=\smalli \let\tensy=\smallsy
\let\tenttsl=\smallttsl
\def\curfontsize{small}%
\def\lsize{smaller}\def\lllsize{smaller}%
\resetmathfonts \setleading{10.5pt}}
\def\smallerfonts{%
@ -1658,6 +1667,7 @@ where each line of input produces a line of output.}
\let\tenbf=\smallerbf \let\tentt=\smallertt \let\smallcaps=\smallersc
\let\tensf=\smallersf \let\teni=\smalleri \let\tensy=\smallersy
\let\tenttsl=\smallerttsl
\def\curfontsize{smaller}%
\def\lsize{smaller}\def\lllsize{smaller}%
\resetmathfonts \setleading{9.5pt}}
@ -1715,13 +1725,18 @@ where each line of input produces a line of output.}
\def\cite#1{{\sl #1}\futurelet\next\smartitalicx}
\let\i=\smartitalic
\let\slanted=\smartslanted
\let\var=\smartslanted
\let\dfn=\smartslanted
\let\emph=\smartitalic
% @b, explicit bold.
\def\b#1{{\bf #1}}
\let\strong=\b
% @sansserif, explicit sans.
\def\sansserif#1{{\sf #1}}
% We can't just use \exhyphenpenalty, because that only has effect at
% the end of a paragraph. Restore normal hyphenation at the end of the
% group within which \nohyphenation is presumably called.
@ -1929,6 +1944,10 @@ where each line of input produces a line of output.}
\def\sc#1{{\smallcaps#1}} % smallcaps font
\def\ii#1{{\it #1}} % italic font
% @acronym for "FBI", "NATO", and the like.
% We print this one point size smaller, since it's intended for
% all-uppercase.
%
\def\acronym#1{\doacronym #1,,\finish}
\def\doacronym#1,#2,#3\finish{%
{\selectfonts\lsize #1}%
@ -1938,10 +1957,70 @@ where each line of input produces a line of output.}
\fi
}
% @pounds{} is a sterling sign, which is in the CM italic font.
% @abbr for "Comput. J." and the like.
% No font change, but don't do end-of-sentence spacing.
%
\def\abbr#1{\doabbr #1,,\finish}
\def\doabbr#1,#2,#3\finish{%
{\frenchspacing #1}%
\def\temp{#2}%
\ifx\temp\empty \else
\space ({\unsepspaces \ignorespaces \temp \unskip})%
\fi
}
% @pounds{} is a sterling sign, which Knuth put in the CM italic font.
%
\def\pounds{{\it\$}}
% @euro{} comes from a separate font, depending on the current style.
% We use the free feym* fonts from the eurosym package by Henrik
% Theiling, which support regular, slanted, bold and bold slanted (and
% "outlined" (blackboard board, sort of) versions, which we don't need).
% It is available from http://www.ctan.org/tex-archive/fonts/eurosym.
%
% Although only regular is the truly official Euro symbol, we ignore
% that. The Euro is designed to be slightly taller than the regular
% font height.
%
% feymr - regular
% feymo - slanted
% feybr - bold
% feybo - bold slanted
%
% There is no good (free) typewriter version, to my knowledge.
% A feymr10 euro is ~7.3pt wide, while a normal cmtt10 char is ~5.25pt wide.
% Hmm.
%
% Also doesn't work in math. Do we need to do math with euro symbols?
% Hope not.
%
%
\def\euro{{\eurofont e}}
\def\eurofont{%
% We set the font at each command, rather than predefining it in
% \textfonts and the other font-switching commands, so that
% installations which never need the symbol don't have to have the
% font installed.
%
% There is only one designed size (nominal 10pt), so we always scale
% that to the current nominal size.
%
% By the way, simply using "at 1em" works for cmr10 and the like, but
% does not work for cmbx10 and other extended/shrunken fonts.
%
\def\eurosize{\csname\curfontsize nominalsize\endcsname}%
%
\ifx\curfontstyle\bfstylename
% bold:
\font\thiseurofont = \ifusingit{feybo10}{feybr10} at \eurosize
\else
% regular:
\font\thiseurofont = \ifusingit{feymo10}{feymr10} at \eurosize
\fi
\thiseurofont
}
% @registeredsymbol - R in a circle. The font for the R should really
% be smaller yet, but lllsize is the best we can do for now.
% Adapted from the plain.tex definition of \copyright.
@ -2265,17 +2344,13 @@ where each line of input produces a line of output.}
% \parskip glue -- logically it's part of the @item we just started.
\nobreak \vskip-\parskip
%
% Stop a page break at the \parskip glue coming up. (Unfortunately
% we can't prevent a possible page break at the following
% \baselineskip glue.) However, if what follows is an environment
% such as @example, there will be no \parskip glue; then
% the negative vskip we just would cause the example and the item to
% crash together. So we use this bizarre value of 10001 as a signal
% to \aboveenvbreak to insert \parskip glue after all.
% (Possibly there are other commands that could be followed by
% @example which need the same treatment, but not section titles; or
% maybe section titles are the only special case and they should be
% penalty 10001...)
% Stop a page break at the \parskip glue coming up. However, if
% what follows is an environment such as @example, there will be no
% \parskip glue; then the negative vskip we just inserted would
% cause the example and the item to crash together. So we use this
% bizarre value of 10001 as a signal to \aboveenvbreak to insert
% \parskip glue after all. Section titles are handled this way also.
%
\penalty 10001
\endgroup
\itemxneedsnegativevskipfalse
@ -2301,15 +2376,26 @@ where each line of input produces a line of output.}
% @table, @ftable, @vtable.
\envdef\table{%
\let\itemindex\gobble
\tablex
\tablecheck{table}%
}
\envdef\ftable{%
\def\itemindex ##1{\doind {fn}{\code{##1}}}%
\tablex
\tablecheck{ftable}%
}
\envdef\vtable{%
\def\itemindex ##1{\doind {vr}{\code{##1}}}%
\tablex
\tablecheck{vtable}%
}
\def\tablecheck#1{%
\ifnum \the\catcode`\^^M=\active
\endgroup
\errmessage{This command won't work in this context; perhaps the problem is
that we are \inenvironment\thisenv}%
\def\next{\doignore{#1}}%
\else
\let\next\tablex
\fi
\next
}
\def\tablex#1{%
\def\itemindicate{#1}%
@ -2620,7 +2706,10 @@ where each line of input produces a line of output.}
\startsavinginserts
%
% @item within a multitable starts a normal row.
\let\item\crcr
% We use \def instead of \let so that if one of the multitable entries
% contains an @itemize, we don't choke on the \item (seen as \crcr aka
% \endtemplate) expanding \doitemize.
\def\item{\crcr}%
%
\tolerance=9500
\hbadness=9500
@ -2705,19 +2794,17 @@ where each line of input produces a line of output.}
\global\setpercentfalse
}
\def\setmultitablespacing{% test to see if user has set \multitablelinespace.
% If so, do nothing. If not, give it an appropriate dimension based on
% current baselineskip.
\def\setmultitablespacing{%
\def\multistrut{\strut}% just use the standard line spacing
%
% Compute \multitablelinespace (if not defined by user) for use in
% \multitableparskip calculation. We used define \multistrut based on
% this, but (ironically) that caused the spacing to be off.
% See bug-texinfo report from Werner Lemberg, 31 Oct 2004 12:52:20 +0100.
\ifdim\multitablelinespace=0pt
\setbox0=\vbox{X}\global\multitablelinespace=\the\baselineskip
\global\advance\multitablelinespace by-\ht0
%% strut to put in table in case some entry doesn't have descenders,
%% to keep lines equally spaced
\let\multistrut = \strut
\else
%% FIXME: what is \box0 supposed to be?
\gdef\multistrut{\vrule height\multitablelinespace depth\dp0
width0pt\relax} \fi
\fi
%% Test to see if parskip is larger than space between lines of
%% table. If not, do nothing.
%% If so, set to same dimension as multitablelinespace.
@ -2786,14 +2873,14 @@ width0pt\relax} \fi
\doignorecount = 0
%
% Swallow text until we reach the matching `@end #1'.
\dodoignore {#1}%
\dodoignore{#1}%
}
{ \catcode`_=11 % We want to use \_STOP_ which cannot appear in texinfo source.
\obeylines %
%
\gdef\dodoignore#1{%
% #1 contains the string `ifinfo'.
% #1 contains the command name as a string, e.g., `ifinfo'.
%
% Define a command to find the next `@end #1', which must be on a line
% by itself.
@ -2947,9 +3034,8 @@ width0pt\relax} \fi
% Index generation facilities
% Define \newwrite to be identical to plain tex's \newwrite
% except not \outer, so it can be used within \newindex.
{\catcode`\@=11
\gdef\newwrite{\alloc@7\write\chardef\sixt@@n}}
% except not \outer, so it can be used within macros and \if's.
\edef\newwrite{\makecsname{ptexnewwrite}}
% \newindex {foo} defines an index named foo.
% It automatically defines \fooindex such that
@ -3134,12 +3220,14 @@ width0pt\relax} \fi
%
% Assorted special characters.
\definedummyword{bullet}%
\definedummyword{comma}%
\definedummyword{copyright}%
\definedummyword{registeredsymbol}%
\definedummyword{dots}%
\definedummyword{enddots}%
\definedummyword{equiv}%
\definedummyword{error}%
\definedummyword{euro}%
\definedummyword{expansion}%
\definedummyword{minus}%
\definedummyword{pounds}%
@ -3271,12 +3359,14 @@ width0pt\relax} \fi
% Assorted special characters.
% (The following {} will end up in the sort string, but that's ok.)
\def\bullet{bullet}%
\def\comma{,}%
\def\copyright{copyright}%
\def\registeredsymbol{R}%
\def\dots{...}%
\def\enddots{...}%
\def\equiv{==}%
\def\error{error}%
\def\euro{euro}%
\def\expansion{==>}%
\def\minus{-}%
\def\pounds{pounds}%
@ -3406,17 +3496,18 @@ width0pt\relax} \fi
\dosubindwrite
%
\ifx\lastskipmacro\zeroskipmacro
% if \lastskip was zero, perhaps the last item was a
% penalty, and perhaps it was >=10000, e.g., a \nobreak.
% In that case, we want to re-insert the penalty; since we
% just inserted a non-discardable item, any following glue
% (such as a \parskip) would be a breakpoint. For example:
% If \lastskip was zero, perhaps the last item was a penalty, and
% perhaps it was >=10000, e.g., a \nobreak. In that case, we want
% to re-insert the same penalty (values >10000 are used for various
% signals); since we just inserted a non-discardable item, any
% following glue (such as a \parskip) would be a breakpoint. For example:
%
% @deffn deffn-whatever
% @vindex index-whatever
% Description.
% would allow a break between the index-whatever whatsit
% and the "Description." paragraph.
\ifnum\count255>9999 \nobreak \fi
\ifnum\count255>9999 \penalty\count255 \fi
\else
% On the other hand, if we had a nonzero \lastskip,
% this make-up glue would be preceded by a non-discardable item
@ -3514,7 +3605,10 @@ width0pt\relax} \fi
\removelastskip
%
% We like breaks before the index initials, so insert a bonus.
\penalty -300
\nobreak
\vskip 0pt plus 3\baselineskip
\penalty 0
\vskip 0pt plus -3\baselineskip
%
% Typeset the initial. Making this add up to a whole number of
% baselineskips increases the chance of the dots lining up from column
@ -3524,10 +3618,9 @@ width0pt\relax} \fi
% No shrink because it confuses \balancecolumns.
\vskip 1.67\baselineskip plus .5\baselineskip
\leftline{\secbf #1}%
\vskip .33\baselineskip plus .1\baselineskip
%
% Do our best not to break after the initial.
\nobreak
\vskip .33\baselineskip plus .1\baselineskip
}}
% \entry typesets a paragraph consisting of the text (#1), dot leaders, and
@ -4196,11 +4289,11 @@ width0pt\relax} \fi
\ifx\temptype\Ynothingkeyword
\setbox0 = \hbox{}%
\def\toctype{unnchap}%
\def\thischapter{#1}%
\gdef\thischapter{#1}%
\else\ifx\temptype\Yomitfromtockeyword
\setbox0 = \hbox{}% contents like unnumbered, but no toc entry
\def\toctype{omit}%
\xdef\thischapter{}%
\gdef\thischapter{}%
\else\ifx\temptype\Yappendixkeyword
\setbox0 = \hbox{\putwordAppendix{} #3\enspace}%
\def\toctype{app}%
@ -4349,13 +4442,13 @@ width0pt\relax} \fi
% discardable item.)
\vskip-\parskip
%
% This \nobreak is purely so the last item on the list is a \penalty
% of 10000. This is so other code, for instance \parsebodycommon, can
% check for and avoid allowing breakpoints. Otherwise, it would
% insert a valid breakpoint between:
% This is purely so the last item on the list is a known \penalty >
% 10000. This is so \startdefun can avoid allowing breakpoints after
% section headings. Otherwise, it would insert a valid breakpoint between:
%
% @section sec-whatever
% @deffn def-whatever
\nobreak
\penalty 10001
}
@ -4700,7 +4793,8 @@ width0pt\relax} \fi
% start of the next paragraph will insert \parskip.
%
\def\aboveenvbreak{{%
% =10000 instead of <10000 because of a special case in \itemzzz, q.v.
% =10000 instead of <10000 because of a special case in \itemzzz and
% \sectionheading, q.v.
\ifnum \lastpenalty=10000 \else
\advance\envskipamount by \parskip
\endgraf
@ -5061,8 +5155,7 @@ width0pt\relax} \fi
}
% @copying ... @end copying.
% Save the text away for @insertcopying later. Many commands won't be
% allowed in this context, but that's ok.
% Save the text away for @insertcopying later.
%
% We save the uninterpreted tokens, rather than creating a box.
% Saving the text in a box would be much easier, but then all the
@ -5071,62 +5164,14 @@ width0pt\relax} \fi
% file; b) letting users define the frontmatter in as flexible order as
% possible is very desirable.
%
\def\copying{\begingroup
% Define a command to swallow text until we reach `@end copying'.
% \ is the escape char in this texinfo.tex file, so it is the
% delimiter for the command; @ will be the escape char when we read
% it, but that doesn't matter.
\long\def\docopying##1\end copying{\gdef\copyingtext{##1}\enddocopying}%
%
% We must preserve ^^M's in the input file; see \insertcopying below.
\catcode`\^^M = \active
\docopying
}
% What we do to finish off the copying text.
\def\copying{\checkenv{}\begingroup\scanargctxt\docopying}
\def\docopying#1@end copying{\endgroup\def\copyingtext{#1}}
%
\def\enddocopying{\endgroup\ignorespaces}
% @insertcopying. Here we must play games with ^^M's. On the one hand,
% we need them to delimit commands such as `@end quotation', so they
% must be active. On the other hand, we certainly don't want every
% end-of-line to be a \par, as would happen with the normal active
% definition of ^^M. On the third hand, two ^^M's in a row should still
% generate a \par.
%
% Our approach is to make ^^M insert a space and a penalty1 normally;
% then it can also check if \lastpenalty=1. If it does, then manually
% do \par.
%
% This messes up the normal definitions of @c[omment], so we redefine
% it. Similarly for @ignore. (These commands are used in the gcc
% manual for man page generation.)
%
% Seems pretty fragile, most line-oriented commands will presumably
% fail, but for the limited use of getting the copying text (which
% should be quite simple) inserted, we can hope it's ok.
%
{\catcode`\^^M=\active %
\gdef\insertcopying{\begingroup %
\parindent = 0pt % looks wrong on title page
\def^^M{%
\ifnum \lastpenalty=1 %
\par %
\else %
\space \penalty 1 %
\fi %
}%
%
% Fix @c[omment] for catcode 13 ^^M's.
\def\c##1^^M{\ignorespaces}%
\let\comment = \c %
%
% Don't bother jumping through all the hoops that \doignore does, it
% would be very hard since the catcodes are already set.
\long\def\ignore##1\end ignore{\ignorespaces}%
%
\copyingtext %
\endgroup}%
\def\insertcopying{%
\begingroup
\parindent = 0pt % paragraph indentation looks wrong on title page
\scanexp\copyingtext
\endgroup
}
\message{defuns,}
@ -5144,10 +5189,11 @@ width0pt\relax} \fi
% If there are two @def commands in a row, we'll have a \nobreak,
% which is there to keep the function description together with its
% header. But if there's nothing but headers, we need to allow a
% break somewhere. Check for penalty 10002 (inserted by
% \defargscommonending) instead of 10000, since the sectioning
% commands insert a \penalty10000, and we don't want to allow a break
% between a section heading and a defun.
% break somewhere. Check specifically for penalty 10002, inserted
% by \defargscommonending, instead of 10000, since the sectioning
% commands also insert a nobreak penalty, and we don't want to allow
% a break between a section heading and a defun.
%
\ifnum\lastpenalty=10002 \penalty2000 \fi
%
% Similarly, after a section heading, do not allow a break.
@ -5471,7 +5517,7 @@ width0pt\relax} \fi
\ifx\eTeXversion\undefined
\newwrite\macscribble
\def\scantokens#1{%
\toks0={#1\endinput}%
\toks0={#1}%
\immediate\openout\macscribble=\jobname.tmp
\immediate\write\macscribble{\the\toks0}%
\immediate\closeout\macscribble
@ -5484,7 +5530,11 @@ width0pt\relax} \fi
\newlinechar`\^^M
\let\xeatspaces\eatspaces
% Undo catcode changes of \startcontents and \doprintindex
\catcode`\@=0 \catcode`\\=\other \escapechar=`\@
% When called from @insertcopying or (short)caption, we need active
% backslash to get it printed correctly. Previously, we had
% \catcode`\\=\other instead. We'll see whether a problem appears
% with macro expansion. --kasal, 19aug04
\catcode`\@=0 \catcode`\\=\active \escapechar=`\@
% ... and \example
\spaceisspace
%
@ -5496,6 +5546,11 @@ width0pt\relax} \fi
\endgroup
}
\def\scanexp#1{%
\edef\temp{\noexpand\scanmacro{#1}}%
\temp
}
\newcount\paramno % Count of parameters
\newtoks\macname % Macro name
\newif\ifrecursive % Is it recursive?
@ -5503,13 +5558,15 @@ width0pt\relax} \fi
% \do\macro1\do\macro2...
% Utility routines.
% This does \let #1 = #2, except with \csnames.
% This does \let #1 = #2, with \csnames; that is,
% \let \csname#1\endcsname = \csname#2\endcsname
% (except of course we have to play expansion games).
%
\def\cslet#1#2{%
\expandafter\expandafter
\expandafter\let
\expandafter\expandafter
\csname#1\endcsname
\csname#2\endcsname}
\expandafter\let
\csname#1\expandafter\endcsname
\csname#2\endcsname
}
% Trim leading and trailing spaces off a string.
% Concepts from aro-bend problem 15 (see CTAN).
@ -5536,30 +5593,36 @@ width0pt\relax} \fi
% done by making ^^M (\endlinechar) catcode 12 when reading the macro
% body, and then making it the \newlinechar in \scanmacro.
\def\macrobodyctxt{%
\catcode`\~=\other
\def\scanctxt{%
\catcode`\"=\other
\catcode`\+=\other
\catcode`\<=\other
\catcode`\>=\other
\catcode`\@=\other
\catcode`\^=\other
\catcode`\_=\other
\catcode`\|=\other
\catcode`\<=\other
\catcode`\>=\other
\catcode`\+=\other
\catcode`\~=\other
}
\def\scanargctxt{%
\scanctxt
\catcode`\\=\other
\catcode`\^^M=\other
}
\def\macrobodyctxt{%
\scanctxt
\catcode`\{=\other
\catcode`\}=\other
\catcode`\@=\other
\catcode`\^^M=\other
\usembodybackslash}
\usembodybackslash
}
\def\macroargctxt{%
\catcode`\~=\other
\catcode`\^=\other
\catcode`\_=\other
\catcode`\|=\other
\catcode`\<=\other
\catcode`\>=\other
\catcode`\+=\other
\catcode`\@=\other
\catcode`\\=\other}
\scanctxt
\catcode`\\=\other
}
% \mbodybackslash is the definition of \ in @macro bodies.
% It maps \foo\ => \csname macarg.foo\endcsname => #N
@ -6365,11 +6428,14 @@ width0pt\relax} \fi
\endgroup}
% @float FLOATTYPE,LOC ... @end float for displayed figures, tables, etc.
% We don't actually implement floating yet, we just plop the float "here".
% But it seemed the best name for the future.
% @float FLOATTYPE,LABEL,LOC ... @end float for displayed figures, tables,
% etc. We don't actually implement floating yet, we always include the
% float "here". But it seemed the best name for the future.
%
\envparseargdef\float{\dofloat #1,,,\finish}
\envparseargdef\float{\eatcommaspace\eatcommaspace\dofloat#1, , ,\finish}
% There may be a space before second and/or third parameter; delete it.
\def\eatcommaspace#1, {#1,}
% #1 is the optional FLOATTYPE, the text label for this float, typically
% "Figure", "Table", "Example", etc. Can't contain commas. If omitted,
@ -6390,6 +6456,10 @@ width0pt\relax} \fi
\let\thisshortcaption=\empty
%
% don't lose footnotes inside @float.
%
% BEWARE: when the floats start float, we have to issue warning whenever an
% insert appears inside a float which could possibly float. --kasal, 26may04
%
\startsavinginserts
%
% We can't be used inside a paragraph.
@ -6474,7 +6544,7 @@ width0pt\relax} \fi
\fi
%
% caption text.
\appendtomacro\captionline\thiscaption
\appendtomacro\captionline{\scanexp\thiscaption}%
\fi
%
% If we have anything to print, print it, with space before.
@ -6482,6 +6552,9 @@ width0pt\relax} \fi
\ifx\captionline\empty \else
\vskip.5\parskip
\captionline
%
% Space below caption.
\vskip\parskip
\fi
%
% If have an xref label, write the list of floats info. Do this
@ -6492,37 +6565,44 @@ width0pt\relax} \fi
% caption if specified, else the full caption if specified, else nothing.
{%
\atdummies \turnoffactive \otherbackslash
\immediate\write\auxfile{@xrdef{\floatlabel-lof}{%
\floatident
\ifx\thisshortcaption\empty
\ifx\thiscaption\empty \else : \thiscaption \fi
\else
: \thisshortcaption
\fi
}}%
% since we read the caption text in the macro world, where ^^M
% is turned into a normal character, we have to scan it back, so
% we don't write the literal three characters "^^M" into the aux file.
\scanexp{%
\xdef\noexpand\gtemp{%
\ifx\thisshortcaption\empty
\thiscaption
\else
\thisshortcaption
\fi
}%
}%
\immediate\write\auxfile{@xrdef{\floatlabel-lof}{\floatident
\ifx\gtemp\empty \else : \gtemp \fi}}%
}%
\fi
%
% Space below caption, if we printed anything.
\ifx\printedsomething\empty \else \vskip\parskip \fi
\egroup % end of \vtop
%
% place the captured inserts
%
% BEWARE: when the floats start float, we have to issue warning whenever an
% insert appears inside a float which could possibly float. --kasal, 26may04
%
\checkinserts
}
% Append the tokens #2 to the definition of macro #1, not expanding either.
%
\newtoks\appendtomacroAtoks
\newtoks\appendtomacroBtoks
\def\appendtomacro#1#2{%
\appendtomacroAtoks = \expandafter{#1}%
\appendtomacroBtoks = {#2}%
\edef#1{\the\appendtomacroAtoks \the\appendtomacroBtoks}%
\expandafter\def\expandafter#1\expandafter{#1#2}%
}
% @caption, @shortcaption are easy.
% @caption, @shortcaption
%
\long\def\caption#1{\checkenv\float \def\thiscaption{#1}}
\def\shortcaption#1{\checkenv\float \def\thisshortcaption{#1}}
\def\caption{\docaption\thiscaption}
\def\shortcaption{\docaption\thisshortcaption}
\def\docaption{\checkenv\float \bgroup\scanargctxt\defcaption}
\def\defcaption#1#2{\egroup \def#1{#2}}
% The parameter is the control sequence identifying the counter we are
% going to use. Create it if it doesn't exist and assign it to \floatno.

View file

@ -351,6 +351,11 @@ becomes reachable.
This script is started when the tinc daemon with name
.Ar HOST
becomes unreachable.
.It Pa @sysconfdir@/tinc/ Ns Ar NETNAME Ns Pa /subnet-up
This script is started when a Subnet becomes reachable.
The Subnet and the node it belongs to are passed in environment variables.
.It Pa @sysconfdir@/tinc/ Ns Ar NETNAME Ns Pa /subnet-down
This script is started when a Subnet becomes unreachable.
.El
.Pp
The scripts are started without command line arguments, but can make use of certain environment variables.
@ -375,10 +380,13 @@ This should be used for commands like
.Pa ifconfig .
.It Ev NODE
When a host becomes (un)reachable, this is set to its name.
If a subnet becomes (un)reachable, this is set to the owner of that subnet.
.It Ev REMOTEADDRESS
When a host becomes (un)reachable, this is set to its real address.
.It Ev REMOTEPORT
When a host becomes (un)reachable, this is set to the port number it uses for communication with other tinc daemons.
.It Ev SUBNET
When a subnet becomes (un)reachable, this is set to the subnet.
.El
.Sh FILES
The most important files are:

View file

@ -5,13 +5,13 @@ START-INFO-DIR-ENTRY
* tinc: (tinc). The tinc Manual.
END-INFO-DIR-ENTRY
This is the info manual for tinc version 1.0.3, a Virtual Private
This is the info manual for tinc version 1.0.4, a Virtual Private
Network daemon.
Copyright (C) 1998-2004 Ivo Timmermans <ivo@tinc-vpn.org>, Guus
Copyright (C) 1998-2005 Ivo Timmermans <ivo@tinc-vpn.org>, Guus
Sliepen <guus@tinc-vpn.org> and Wessel Dankers <wsl@tinc-vpn.org>.
$Id: tinc.texi 1416 2004-11-10 23:21:41Z guus $
$Id: tinc.texi 1439 2005-05-04 18:09:30Z guus $
Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
@ -998,6 +998,14 @@ scripts should have the extension .bat.
This script is started when the tinc daemon with name HOST becomes
unreachable.
`/usr/local/etc/tinc/NETNAME/subnet-up'
This script is started when a Subnet becomes reachable. The
Subnet and the node it belongs to are passed in environment
variables.
`/usr/local/etc/tinc/NETNAME/subnet-down'
This script is started when a Subnet becomes unreachable.
The scripts are started without command line arguments, but can make
use of certain environment variables. Under UNIX like operating
systems the names of environment variables must be preceded by a $ in
@ -1018,7 +1026,9 @@ signs.
This should be used for commands like ifconfig.
`NODE'
When a host becomes (un)reachable, this is set to its name.
When a host becomes (un)reachable, this is set to its name. If a
subnet becomes (un)reachable, this is set to the owner of that
subnet.
`REMOTEADDRESS'
When a host becomes (un)reachable, this is set to its real address.
@ -1027,6 +1037,10 @@ signs.
When a host becomes (un)reachable, this is set to the port number
it uses for communication with other tinc daemons.
`SUBNET'
When a subnet becomes (un)reachable, this is set to the subnet.

File: tinc.info, Node: How to configure, Prev: Scripts, Up: Configuration files
@ -2217,7 +2231,7 @@ Concept Index
* debug levels: Debug levels. (line 6)
* DEL_EDGE: The meta-protocol. (line 47)
* DEL_SUBNET: The meta-protocol. (line 47)
* DEVICE: Scripts. (line 41)
* DEVICE: Scripts. (line 49)
* Device: Main configuration variables.
(line 47)
* device files: Device files. (line 6)
@ -2226,7 +2240,7 @@ Concept Index
* encapsulating: The UDP tunnel. (line 30)
* encryption: Encryption of network packets.
(line 6)
* environment variables: Scripts. (line 29)
* environment variables: Scripts. (line 37)
* ethertap: Configuration of Linux kernels 2.1.60 up to 2.4.0.
(line 6)
* example: Example configuration.
@ -2240,7 +2254,7 @@ Concept Index
(line 10)
* IndirectData: Host configuration variables.
(line 27)
* INTERFACE: Scripts. (line 44)
* INTERFACE: Scripts. (line 52)
* Interface: Main configuration variables.
(line 64)
* IRC: Contact information. (line 9)
@ -2261,15 +2275,15 @@ Concept Index
* Mode: Main configuration variables.
(line 72)
* multiple networks: Multiple networks. (line 6)
* NAME: Scripts. (line 38)
* NAME: Scripts. (line 46)
* Name: Main configuration variables.
(line 111)
* netmask: Network interfaces. (line 34)
* NETNAME: Scripts. (line 35)
* NETNAME: Scripts. (line 43)
* netname: Multiple networks. (line 6)
* Network Administrators Guide: Configuration introduction.
(line 15)
* NODE: Scripts. (line 48)
* NODE: Scripts. (line 56)
* OpenSSL: OpenSSL. (line 6)
* options: Runtime options. (line 9)
* PEM format: Host configuration variables.
@ -2295,8 +2309,8 @@ Concept Index
* PublicKeyFile: Host configuration variables.
(line 47)
* release: Supported platforms. (line 14)
* REMOTEADDRESS: Scripts. (line 51)
* REMOTEPORT: Scripts. (line 54)
* REMOTEADDRESS: Scripts. (line 61)
* REMOTEPORT: Scripts. (line 64)
* REQ_KEY: The meta-protocol. (line 64)
* requirements: Libraries. (line 6)
* router: Main configuration variables.
@ -2307,6 +2321,7 @@ Concept Index
* server: How connections work.
(line 18)
* signals: Signals. (line 6)
* SUBNET: Scripts. (line 68)
* Subnet: Host configuration variables.
(line 59)
* SVPN: Security. (line 11)
@ -2376,32 +2391,32 @@ Node: Configuration files26448
Node: Main configuration variables27475
Node: Host configuration variables33939
Node: Scripts38235
Node: How to configure40329
Node: Generating keypairs41612
Node: Network interfaces42111
Node: Example configuration43979
Node: Running tinc49431
Node: Runtime options50021
Node: Signals52058
Node: Debug levels53127
Node: Solving problems54063
Node: Error messages55493
Node: Sending bug reports59815
Node: Technical information60767
Node: The connection60998
Node: The UDP tunnel61310
Node: The meta-connection64371
Node: The meta-protocol65840
Node: Security70849
Node: Authentication protocol71979
Node: Encryption of network packets76983
Node: Security issues78356
Node: Platform specific information79973
Node: Interface configuration80201
Node: Routes82100
Node: About us84016
Node: Contact information84191
Node: Authors84595
Node: Concept Index85021
Node: How to configure40790
Node: Generating keypairs42073
Node: Network interfaces42572
Node: Example configuration44440
Node: Running tinc49892
Node: Runtime options50482
Node: Signals52519
Node: Debug levels53588
Node: Solving problems54524
Node: Error messages55954
Node: Sending bug reports60276
Node: Technical information61228
Node: The connection61459
Node: The UDP tunnel61771
Node: The meta-connection64832
Node: The meta-protocol66301
Node: Security71310
Node: Authentication protocol72440
Node: Encryption of network packets77444
Node: Security issues78817
Node: Platform specific information80434
Node: Interface configuration80662
Node: Routes82561
Node: About us84477
Node: Contact information84652
Node: Authors85056
Node: Concept Index85482

End Tag Table

View file

@ -1,5 +1,5 @@
\input texinfo @c -*-texinfo-*-
@c $Id: tinc.texi 1416 2004-11-10 23:21:41Z guus $
@c $Id: tinc.texi 1439 2005-05-04 18:09:30Z guus $
@c %**start of header
@setfilename tinc.info
@settitle tinc Manual
@ -16,11 +16,11 @@
This is the info manual for @value{PACKAGE} version @value{VERSION}, a Virtual Private Network daemon.
Copyright @copyright{} 1998-2004 Ivo Timmermans
Copyright @copyright{} 1998-2005 Ivo Timmermans
<ivo@@tinc-vpn.org>, Guus Sliepen <guus@@tinc-vpn.org> and
Wessel Dankers <wsl@@tinc-vpn.org>.
$Id: tinc.texi 1416 2004-11-10 23:21:41Z guus $
$Id: tinc.texi 1439 2005-05-04 18:09:30Z guus $
Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
@ -43,11 +43,11 @@ permission notice identical to this one.
@cindex copyright
This is the info manual for @value{PACKAGE} version @value{VERSION}, a Virtual Private Network daemon.
Copyright @copyright{} 1998-2004 Ivo Timmermans
Copyright @copyright{} 1998-2005 Ivo Timmermans
<ivo@@tinc-vpn.org>, Guus Sliepen <guus@@tinc-vpn.org> and
Wessel Dankers <wsl@@tinc-vpn.org>.
$Id: tinc.texi 1416 2004-11-10 23:21:41Z guus $
$Id: tinc.texi 1439 2005-05-04 18:09:30Z guus $
Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
@ -1100,6 +1100,13 @@ This script is started when the tinc daemon with name @var{host} becomes reachab
@item @value{sysconfdir}/tinc/@var{netname}/hosts/@var{host}-down
This script is started when the tinc daemon with name @var{host} becomes unreachable.
@item @value{sysconfdir}/tinc/@var{netname}/subnet-up
This script is started when a Subnet becomes reachable.
The Subnet and the node it belongs to are passed in environment variables.
@item @value{sysconfdir}/tinc/@var{netname}/subnet-down
This script is started when a Subnet becomes unreachable.
@end table
@cindex environment variables
@ -1129,6 +1136,7 @@ This should be used for commands like ifconfig.
@cindex NODE
@item NODE
When a host becomes (un)reachable, this is set to its name.
If a subnet becomes (un)reachable, this is set to the owner of that subnet.
@cindex REMOTEADDRESS
@item REMOTEADDRESS
@ -1138,6 +1146,11 @@ When a host becomes (un)reachable, this is set to its real address.
@item REMOTEPORT
When a host becomes (un)reachable,
this is set to the port number it uses for communication with other tinc daemons.
@cindex SUBNET
@item SUBNET
When a subnet becomes (un)reachable, this is set to the subnet.
@end table

4
have.h
View file

@ -1,7 +1,7 @@
/*
have.h -- include headers which are known to exist
Copyright (C) 1998-2004 Ivo Timmermans <ivo@tinc-vpn.org>
2003-2004 Guus Sliepen <guus@tinc-vpn.org>
Copyright (C) 1998-2005 Ivo Timmermans <ivo@tinc-vpn.org>
2003-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by

View file

@ -1,7 +1,7 @@
#!/bin/sh
# install - install a program, script, or datafile
scriptversion=2004-04-01.17
scriptversion=2005-02-02.21
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
@ -58,9 +58,6 @@ stripprog="${STRIPPROG-strip}"
rmprog="${RMPROG-rm}"
mkdirprog="${MKDIRPROG-mkdir}"
transformbasename=
transform_arg=
instcmd="$mvprog"
chmodcmd="$chmodprog 0755"
chowncmd=
chgrpcmd=
@ -70,23 +67,27 @@ mvcmd="$mvprog"
src=
dst=
dir_arg=
dstarg=
no_target_directory=
usage="Usage: $0 [OPTION]... SRCFILE DSTFILE
usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
or: $0 [OPTION]... SRCFILES... DIRECTORY
or: $0 -d DIRECTORIES...
or: $0 [OPTION]... -t DIRECTORY SRCFILES...
or: $0 [OPTION]... -d DIRECTORIES...
In the first form, install SRCFILE to DSTFILE, removing SRCFILE by default.
In the second, create the directory path DIR.
In the 1st form, copy SRCFILE to DSTFILE.
In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
In the 4th, create DIRECTORIES.
Options:
-b=TRANSFORMBASENAME
-c copy source (using $cpprog) instead of moving (using $mvprog).
-c (ignored)
-d create directories instead of installing files.
-g GROUP $chgrp installed files to GROUP.
-m MODE $chmod installed files to MODE.
-o USER $chown installed files to USER.
-s strip installed files (using $stripprog).
-t=TRANSFORM
-g GROUP $chgrpprog installed files to GROUP.
-m MODE $chmodprog installed files to MODE.
-o USER $chownprog installed files to USER.
-s $stripprog installed files.
-t DIRECTORY install into DIRECTORY.
-T report an error if DSTFILE is a directory.
--help display this help and exit.
--version display version info and exit.
@ -96,12 +97,7 @@ Environment variables override the default commands:
while test -n "$1"; do
case $1 in
-b=*) transformbasename=`echo $1 | sed 's/-b=//'`
shift
continue;;
-c) instcmd=$cpprog
shift
-c) shift
continue;;
-d) dir_arg=true
@ -113,7 +109,7 @@ while test -n "$1"; do
shift
continue;;
--help) echo "$usage"; exit 0;;
--help) echo "$usage"; exit $?;;
-m) chmodcmd="$chmodprog $2"
shift
@ -129,14 +125,20 @@ while test -n "$1"; do
shift
continue;;
-t=*) transformarg=`echo $1 | sed 's/-t=//'`
shift
continue;;
-t) dstarg=$2
shift
shift
continue;;
--version) echo "$0 $scriptversion"; exit 0;;
-T) no_target_directory=true
shift
continue;;
--version) echo "$0 $scriptversion"; exit $?;;
*) # When -d is used, all remaining arguments are directories to create.
test -n "$dir_arg" && break
# When -t is used, the destination is already specified.
test -n "$dir_arg$dstarg" && break
# Otherwise, the last argument is the destination. Remove it from $@.
for arg
do
@ -174,13 +176,13 @@ do
src=
if test -d "$dst"; then
instcmd=:
mkdircmd=:
chmodcmd=
else
instcmd=$mkdirprog
mkdircmd=$mkdirprog
fi
else
# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
# might cause directories to be created, which would be especially bad
# if $src (and thus $dsttmp) contains '*'.
if test ! -f "$src" && test ! -d "$src"; then
@ -202,12 +204,16 @@ do
# If destination is a directory, append the input filename; won't work
# if double slashes aren't ignored.
if test -d "$dst"; then
if test -n "$no_target_directory"; then
echo "$0: $dstarg: Is a directory" >&2
exit 1
fi
dst=$dst/`basename "$src"`
fi
fi
# This sed command emulates the dirname command.
dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
dstdir=`echo "$dst" | sed -e 's,/*$,,;s,[^/]*$,,;s,/*$,,;s,^$,.,'`
# Make sure that the destination directory exists.
@ -220,7 +226,8 @@ do
oIFS=$IFS
# Some sh's can't handle IFS=/ for some reason.
IFS='%'
set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
set x `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
shift
IFS=$oIFS
pathcomp=
@ -229,51 +236,42 @@ do
pathcomp=$pathcomp$1
shift
if test ! -d "$pathcomp"; then
$mkdirprog "$pathcomp" || lasterr=$?
$mkdirprog "$pathcomp"
# mkdir can fail with a `File exist' error in case several
# install-sh are creating the directory concurrently. This
# is OK.
test ! -d "$pathcomp" && { (exit ${lasterr-1}); exit; }
test -d "$pathcomp" || exit
fi
pathcomp=$pathcomp/
done
fi
if test -n "$dir_arg"; then
$doit $instcmd "$dst" \
$doit $mkdircmd "$dst" \
&& { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \
&& { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \
&& { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \
&& { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; }
else
# If we're going to rename the final executable, determine the name now.
if test -z "$transformarg"; then
dstfile=`basename "$dst"`
else
dstfile=`basename "$dst" $transformbasename \
| sed $transformarg`$transformbasename
fi
# don't allow the sed command to completely eliminate the filename.
test -z "$dstfile" && dstfile=`basename "$dst"`
dstfile=`basename "$dst"`
# Make a couple of temp file names in the proper directory.
dsttmp=$dstdir/_inst.$$_
rmtmp=$dstdir/_rm.$$_
# Trap to clean up those temp files at exit.
trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
trap '(exit $?); exit' 1 2 13 15
# Move or copy the file name to the temp name
$doit $instcmd "$src" "$dsttmp" &&
# Copy the file name to the temp name.
$doit $cpprog "$src" "$dsttmp" &&
# and set any options; do chmod last to preserve setuid bits.
#
# If any of these fail, we abort the whole thing. If we want to
# ignore errors from any of these, just make sure not to ignore
# errors from the above "$doit $instcmd $src $dsttmp" command.
# errors from the above "$doit $cpprog $src $dsttmp" command.
#
{ test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
&& { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
@ -298,7 +296,7 @@ do
|| $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \
|| {
echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
(exit 1); exit
(exit 1); exit 1
}
else
:
@ -309,12 +307,12 @@ do
$doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
}
}
fi || { (exit 1); exit; }
fi || { (exit 1); exit 1; }
done
# The final little trick to "correctly" pass the exit status to the exit trap.
{
(exit 0); exit
(exit 0); exit 0
}
# Local variables:

View file

@ -1,8 +1,8 @@
# Makefile.in generated by automake 1.8.5 from Makefile.am.
# Makefile.in generated by automake 1.9.5 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004 Free Software Foundation, Inc.
# 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@ -39,6 +39,7 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = lib
DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
@ -70,14 +71,6 @@ libvpn_a_OBJECTS = $(am_libvpn_a_OBJECTS)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/alloca.Po $(DEPDIR)/malloc.Po \
@AMDEP_TRUE@ $(DEPDIR)/memcmp.Po $(DEPDIR)/realloc.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/avl_tree.Po ./$(DEPDIR)/dropin.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/fake-getaddrinfo.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/fake-getnameinfo.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/getopt.Po ./$(DEPDIR)/getopt1.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/list.Po ./$(DEPDIR)/pidfile.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/utils.Po ./$(DEPDIR)/xmalloc.Po
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
@ -159,6 +152,8 @@ am__fastdepCC_TRUE = @am__fastdepCC_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@
@ -259,16 +254,14 @@ distclean-compile:
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
.c.obj:
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
uninstall-info-am:
@ -370,7 +363,7 @@ mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f $(CONFIG_CLEAN_FILES)
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"

View file

@ -1,9 +1,9 @@
/*
avl_tree.c -- avl_ tree and linked list convenience
Copyright (C) 1998 Michael H. Buselli
2000-2004 Ivo Timmermans <ivo@tinc-vpn.org>,
2000-2004 Guus Sliepen <guus@tinc-vpn.org>
2000-2004 Wessel Dankers <wsl@tinc-vpn.org>
2000-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
2000-2005 Guus Sliepen <guus@tinc-vpn.org>
2000-2005 Wessel Dankers <wsl@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -29,7 +29,7 @@
library for inclusion into tinc (http://www.tinc-vpn.org/) by
Guus Sliepen <guus@tinc-vpn.org>.
$Id: avl_tree.c 1374 2004-03-21 14:21:22Z guus $
$Id: avl_tree.c 1439 2005-05-04 18:09:30Z guus $
*/
#include "system.h"

View file

@ -1,9 +1,9 @@
/*
avl_tree.h -- header file for avl_tree.c
Copyright (C) 1998 Michael H. Buselli
2000-2004 Ivo Timmermans <ivo@tinc-vpn.org>,
2000-2004 Guus Sliepen <guus@tinc-vpn.org>
2000-2004 Wessel Dankers <wsl@tinc-vpn.org>
2000-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
2000-2005 Guus Sliepen <guus@tinc-vpn.org>
2000-2005 Wessel Dankers <wsl@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -29,7 +29,7 @@
library for inclusion into tinc (http://www.tinc-vpn.org/) by
Guus Sliepen <guus@tinc-vpn.org>.
$Id: avl_tree.h 1374 2004-03-21 14:21:22Z guus $
$Id: avl_tree.h 1439 2005-05-04 18:09:30Z guus $
*/

View file

@ -1,7 +1,7 @@
/*
dropin.c -- a set of drop-in replacements for libc functions
Copyright (C) 2000-2004 Ivo Timmermans <ivo@tinc-vpn.org>,
2000-2004 Guus Sliepen <guus@tinc-vpn.org>
Copyright (C) 2000-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
2000-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: dropin.c 1374 2004-03-21 14:21:22Z guus $
$Id: dropin.c 1439 2005-05-04 18:09:30Z guus $
*/
#include "system.h"

View file

@ -1,7 +1,7 @@
/*
dropin.h -- header file for dropin.c
Copyright (C) 2000-2004 Ivo Timmermans <ivo@tinc-vpn.org>,
2000-2004 Guus Sliepen <guus@tinc-vpn.org>
Copyright (C) 2000-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
2000-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: dropin.h 1374 2004-03-21 14:21:22Z guus $
$Id: dropin.h 1439 2005-05-04 18:09:30Z guus $
*/
#ifndef __DROPIN_H__

View file

@ -1,7 +1,7 @@
/*
ethernet.h -- missing Ethernet related definitions
Copyright (C) 2004 Ivo Timmermans <ivo@tinc-vpn.org>
2004 Guus Sliepen <guus@tinc-vpn.org>
Copyright (C) 2005 Ivo Timmermans <ivo@tinc-vpn.org>
2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: ethernet.h 1374 2004-03-21 14:21:22Z guus $
$Id: ethernet.h 1439 2005-05-04 18:09:30Z guus $
*/
#ifndef __TINC_ETHERNET_H__

View file

@ -1,7 +1,7 @@
/*
ipv4.h -- missing IPv4 related definitions
Copyright (C) 2004 Ivo Timmermans <ivo@tinc-vpn.org>
2004 Guus Sliepen <guus@tinc-vpn.org>
Copyright (C) 2005 Ivo Timmermans <ivo@tinc-vpn.org>
2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: ipv4.h 1412 2004-11-10 21:14:08Z guus $
$Id: ipv4.h 1439 2005-05-04 18:09:30Z guus $
*/
#ifndef __TINC_IPV4_H__

View file

@ -1,7 +1,7 @@
/*
ipv6.h -- missing IPv6 related definitions
Copyright (C) 2004 Ivo Timmermans <ivo@tinc-vpn.org>
2004 Guus Sliepen <guus@tinc-vpn.org>
Copyright (C) 2005 Ivo Timmermans <ivo@tinc-vpn.org>
2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: ipv6.h 1374 2004-03-21 14:21:22Z guus $
$Id: ipv6.h 1439 2005-05-04 18:09:30Z guus $
*/
#ifndef __TINC_IPV6_H__

View file

@ -1,7 +1,7 @@
/*
list.c -- functions to deal with double linked lists
Copyright (C) 2000-2004 Ivo Timmermans <ivo@tinc-vpn.org>
2000-2004 Guus Sliepen <guus@tinc-vpn.org>
Copyright (C) 2000-2005 Ivo Timmermans <ivo@tinc-vpn.org>
2000-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: list.c 1374 2004-03-21 14:21:22Z guus $
$Id: list.c 1439 2005-05-04 18:09:30Z guus $
*/
#include "system.h"

View file

@ -1,7 +1,7 @@
/*
list.h -- header file for list.c
Copyright (C) 2000-2004 Ivo Timmermans <ivo@tinc-vpn.org>
2000-2004 Guus Sliepen <guus@tinc-vpn.org>
Copyright (C) 2000-2005 Ivo Timmermans <ivo@tinc-vpn.org>
2000-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: list.h 1374 2004-03-21 14:21:22Z guus $
$Id: list.h 1439 2005-05-04 18:09:30Z guus $
*/
#ifndef __TINC_LIST_H__

View file

@ -1,7 +1,7 @@
/*
utils.c -- gathering of some stupid small functions
Copyright (C) 1999-2004 Ivo Timmermans <zarq@iname.com>
2000-2004 Guus Sliepen <guus@tinc-vpn.org>
Copyright (C) 1999-2005 Ivo Timmermans <zarq@iname.com>
2000-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by

View file

@ -1,7 +1,7 @@
/*
utils.h -- header file for utils.c
Copyright (C) 1999-2004 Ivo Timmermans <zarq@iname.com>
2000-2004 Guus Sliepen <guus@tinc-vpn.org>
Copyright (C) 1999-2005 Ivo Timmermans <zarq@iname.com>
2000-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by

View file

@ -1,8 +1,8 @@
# Makefile.in generated by automake 1.8.5 from Makefile.am.
# Makefile.in generated by automake 1.9.5 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004 Free Software Foundation, Inc.
# 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@ -33,6 +33,7 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = m4
DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
@ -125,6 +126,8 @@ am__fastdepCC_TRUE = @am__fastdepCC_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@
@ -244,7 +247,7 @@ mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f $(CONFIG_CLEAN_FILES)
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"

85
missing
View file

@ -1,9 +1,9 @@
#! /bin/sh
# Common stub for a few missing GNU programs while installing.
scriptversion=2003-09-02.23
scriptversion=2005-02-08.22
# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003
# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005
# Free Software Foundation, Inc.
# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
@ -60,11 +60,6 @@ case "$1" in
msg="probably too old"
fi
;;
esac
# If it does not exist, or fails to run (possibly an outdated version),
# try to emulate it.
case "$1" in
-h|--h|--he|--hel|--help)
echo "\
@ -92,10 +87,12 @@ Supported PROGRAM values:
yacc create \`y.tab.[ch]', if possible, from existing .[ch]
Send bug reports to <bug-automake@gnu.org>."
exit $?
;;
-v|--v|--ve|--ver|--vers|--versi|--versio|--version)
echo "missing $scriptversion (GNU Automake)"
exit $?
;;
-*)
@ -104,12 +101,42 @@ Send bug reports to <bug-automake@gnu.org>."
exit 1
;;
aclocal*)
esac
# Now exit if we have it, but it failed. Also exit now if we
# don't have it and --version was passed (most likely to detect
# the program).
case "$1" in
lex|yacc)
# Not GNU programs, they don't have --version.
;;
tar)
if test -n "$run"; then
echo 1>&2 "ERROR: \`tar' requires --run"
exit 1
elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
exit 1
fi
;;
*)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed.
exit 1
elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
# Could not run --version or --help. This is probably someone
# running `$TOOL --version' or `$TOOL --help' to check whether
# $TOOL exists and not knowing $TOOL uses missing.
exit 1
fi
;;
esac
# If it does not exist, or fails to run (possibly an outdated version),
# try to emulate it.
case "$1" in
aclocal*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified \`acinclude.m4' or \`${configure_ac}'. You might want
@ -119,11 +146,6 @@ WARNING: \`$1' is $msg. You should only need it if
;;
autoconf)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed.
exit 1
fi
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified \`${configure_ac}'. You might want to install the
@ -133,11 +155,6 @@ WARNING: \`$1' is $msg. You should only need it if
;;
autoheader)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed.
exit 1
fi
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified \`acconfig.h' or \`${configure_ac}'. You might want
@ -157,11 +174,6 @@ WARNING: \`$1' is $msg. You should only need it if
;;
automake*)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed.
exit 1
fi
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
@ -173,11 +185,6 @@ WARNING: \`$1' is $msg. You should only need it if
;;
autom4te)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed.
exit 1
fi
echo 1>&2 "\
WARNING: \`$1' is needed, but is $msg.
You might have modified some files without having the
@ -254,11 +261,6 @@ WARNING: \`$1' is $msg. You should only need it if
;;
help2man)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed.
exit 1
fi
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified a dependency of a manual page. You may need the
@ -279,11 +281,6 @@ WARNING: \`$1' is $msg. You should only need it if
;;
makeinfo)
if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then
# We have makeinfo, but it failed.
exit 1
fi
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified a \`.texi' or \`.texinfo' file, or any other file
@ -291,20 +288,20 @@ WARNING: \`$1' is $msg. You should only need it if
call might also be the consequence of using a buggy \`make' (AIX,
DU, IRIX). You might want to install the \`Texinfo' package or
the \`GNU make' package. Grab either from any GNU archive site."
# The file to touch is that specified with -o ...
file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
if test -z "$file"; then
file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
# ... or it is the one specified with @setfilename ...
infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $infile`
# ... or it is derived from the source name (dir/f.texi becomes f.info)
test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
fi
touch $file
;;
tar)
shift
if test -n "$run"; then
echo 1>&2 "ERROR: \`tar' requires --run"
exit 1
fi
# We have already tried tar in the generic part.
# Look for gnutar/gtar before invocation to avoid ugly error

View file

@ -1,7 +1,7 @@
#! /bin/sh
# mkinstalldirs --- make directory hierarchy
scriptversion=2004-02-15.20
scriptversion=2005-02-02.21
# Original author: Noah Friedman <friedman@prep.ai.mit.edu>
# Created: 1993-05-16
@ -27,7 +27,7 @@ while test $# -gt 0 ; do
case $1 in
-h | --help | --h*) # -h for help
echo "$usage"
exit 0
exit $?
;;
-m) # -m PERM arg
shift
@ -37,7 +37,7 @@ while test $# -gt 0 ; do
;;
--version)
echo "$0 $scriptversion"
exit 0
exit $?
;;
--) # stop option processing
shift

BIN
po/nl.gmo

Binary file not shown.

107
po/nl.po
View file

@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: tinc 1.0-svn\n"
"Report-Msgid-Bugs-To: tinc-devel@tinc-vpn.org\n"
"POT-Creation-Date: 2004-11-11 13:40+0100\n"
"POT-Creation-Date: 2005-05-04 20:25+0200\n"
"PO-Revision-Date: 2004-03-15 19:28+0100\n"
"Last-Translator: Guus Sliepen <guus@tinc-vpn.org>\n"
"Language-Team: Dutch <vertaling@tinc-vpn.org>\n"
@ -268,7 +268,7 @@ msgstr "Fout tijdens versleutelen pakket naar %s (%s): %s"
msgid "Setting outgoing packet priority to %d"
msgstr "Instellen prioriteit uitgaand pakket op %d"
#: src/net_packet.c:392 src/net_setup.c:477 src/net_socket.c:73
#: src/net_packet.c:392 src/net_setup.c:481 src/net_socket.c:73
#: src/net_socket.c:124 src/net_socket.c:153 src/tincd.c:434 src/tincd.c:468
#: src/process.c:198 src/process.c:231 src/process.c:428 src/bsd/device.c:93
#: src/bsd/device.c:112 src/cygwin/device.c:140 src/cygwin/device.c:171
@ -306,17 +306,17 @@ msgstr "Verzending pakket naar %s via %s (%s)"
msgid "Broadcasting packet of %d bytes from %s (%s)"
msgstr "Verspreiding pakket van %d bytes van %s (%s)"
#: src/net_packet.c:474
#: src/net_packet.c:480
#, c-format
msgid "Flushing queue for %s (%s)"
msgstr "Legen van wachtrij voor %s (%s)"
#: src/net_packet.c:496
#: src/net_packet.c:502
#, c-format
msgid "Receiving packet failed: %s"
msgstr "Ontvangst pakket mislukt: %s"
#: src/net_packet.c:506
#: src/net_packet.c:512
#, c-format
msgid "Received UDP packet from unknown source %s"
msgstr "Ontvangst UDP pakket van onbekende oorsprong %s"
@ -397,7 +397,7 @@ msgstr "Ongeldige adresfamilie!"
msgid "Unrecognized cipher type!"
msgstr "Onbekend cipher type!"
#: src/net_setup.c:383 src/protocol_auth.c:189
#: src/net_setup.c:383 src/protocol_auth.c:192
#, c-format
msgid "Error during initialisation of cipher for %s (%s): %s"
msgstr "Fout tijdens initialisatie van cipher voor %s (%s): %s"
@ -418,16 +418,16 @@ msgstr "Onzinnige MAC lengte!"
msgid "Bogus compression level!"
msgstr "Onzinnig compressieniveau!"
#: src/net_setup.c:499
#: src/net_setup.c:503
#, c-format
msgid "Listening on %s"
msgstr "Luisterend op %s"
#: src/net_setup.c:510
#: src/net_setup.c:514
msgid "Ready"
msgstr "Gereed"
#: src/net_setup.c:512
#: src/net_setup.c:516
msgid "Unable to create any listening socket!"
msgstr "Kon geen enkele luistersocket aanmaken!"
@ -470,7 +470,7 @@ msgstr "Poging tot herstellen van uitgaande verbinding over %d seconden"
msgid "Connected to %s (%s)"
msgstr "Verbonden met %s (%s)"
#: src/net_socket.c:249 src/net_socket.c:333 src/net_socket.c:444
#: src/net_socket.c:249 src/net_socket.c:333 src/net_socket.c:445
#, c-format
msgid "fcntl for %s: %s"
msgstr "fcntl voor %s: %s"
@ -510,7 +510,7 @@ msgstr "Geen adres gespecificeerd voor %s"
msgid "Accepting a new connection failed: %s"
msgstr "Aanname van nieuwe verbinding is mislukt: %s"
#: src/net_socket.c:437
#: src/net_socket.c:438
#, c-format
msgid "Connection from %s"
msgstr "Verbinding van %s"
@ -615,19 +615,19 @@ msgstr "Verzoek reeds gezien"
msgid "Aging past requests: deleted %d, left %d"
msgstr "Veroudering vorige verzoeken: %d gewist, %d overgebleven"
#: src/protocol_auth.c:58 src/protocol_auth.c:209 src/protocol_auth.c:338
#: src/protocol_auth.c:405 src/protocol_auth.c:531 src/protocol_edge.c:73
#: src/protocol_auth.c:58 src/protocol_auth.c:212 src/protocol_auth.c:341
#: src/protocol_auth.c:408 src/protocol_auth.c:534 src/protocol_edge.c:73
#: src/protocol_edge.c:188 src/protocol_key.c:62 src/protocol_key.c:105
#: src/protocol_key.c:172 src/protocol_misc.c:54 src/protocol_misc.c:83
#: src/protocol_misc.c:171 src/protocol_subnet.c:58 src/protocol_subnet.c:167
#: src/protocol_misc.c:171 src/protocol_subnet.c:58 src/protocol_subnet.c:170
#, c-format
msgid "Got bad %s from %s (%s)"
msgstr "Kreeg verkeerde %s van %s (%s)"
#: src/protocol_auth.c:66 src/protocol_edge.c:81 src/protocol_edge.c:87
#: src/protocol_edge.c:196 src/protocol_edge.c:202 src/protocol_subnet.c:66
#: src/protocol_subnet.c:74 src/protocol_subnet.c:175
#: src/protocol_subnet.c:196
#: src/protocol_subnet.c:74 src/protocol_subnet.c:178
#: src/protocol_subnet.c:199
#, c-format
msgid "Got bad %s from %s (%s): %s"
msgstr "Kreeg verkeerde %s van %s (%s): %s"
@ -637,92 +637,92 @@ msgstr "Kreeg verkeerde %s van %s (%s): %s"
msgid "Peer %s is %s instead of %s"
msgstr "Ander %s is %s in plaats van %s"
#: src/protocol_auth.c:85
#: src/protocol_auth.c:88
#, c-format
msgid "Peer %s (%s) uses incompatible version %d"
msgstr "Ander %s (%s) gebruikt incompatibele versie %d"
#: src/protocol_auth.c:101
#: src/protocol_auth.c:104
#, c-format
msgid "Peer %s had unknown identity (%s)"
msgstr "Ander %s heeft onbekende identiteit (%s)"
#: src/protocol_auth.c:153
#: src/protocol_auth.c:156
#, c-format
msgid "Generated random meta key (unencrypted): %s"
msgstr "Willekeurige meta sleutel aangemaakt (niet versleuteld): %s"
#: src/protocol_auth.c:165 src/protocol_auth.c:238
#: src/protocol_auth.c:168 src/protocol_auth.c:241
#, c-format
msgid "Error during encryption of meta key for %s (%s)"
msgstr "Fout tijdens versleutelen van meta key voor %s (%s)"
#: src/protocol_auth.c:219 src/protocol_auth.c:348 src/protocol_auth.c:413
#: src/protocol_auth.c:435
#: src/protocol_auth.c:222 src/protocol_auth.c:351 src/protocol_auth.c:416
#: src/protocol_auth.c:438
#, c-format
msgid "Possible intruder %s (%s): %s"
msgstr "Mogelijke indringer %s (%s): %s"
#: src/protocol_auth.c:246
#: src/protocol_auth.c:249
#, c-format
msgid "Received random meta key (unencrypted): %s"
msgstr "Ontving willekeurige meta key (niet versleuteld): %s"
#: src/protocol_auth.c:257
#: src/protocol_auth.c:260
#, c-format
msgid "%s (%s) uses unknown cipher!"
msgstr "%s (%s) gebruikt onbekende cipher!"
#: src/protocol_auth.c:265
#: src/protocol_auth.c:268
#, c-format
msgid "Error during initialisation of cipher from %s (%s): %s"
msgstr "Fout tijdens initalisatie van cipher van %s (%s): %s"
#: src/protocol_auth.c:281 src/protocol_key.c:242
#: src/protocol_auth.c:284 src/protocol_key.c:242
#, c-format
msgid "Node %s (%s) uses unknown digest!"
msgstr "Node %s (%s) gebruikt onbekende digest!"
#: src/protocol_auth.c:286
#: src/protocol_auth.c:289
#, c-format
msgid "%s (%s) uses bogus MAC length!"
msgstr "%s (%s) gebruikt onzinnige MAC lengte!"
#: src/protocol_auth.c:381
#: src/protocol_auth.c:384
#, c-format
msgid "Error during calculation of response for %s (%s): %s"
msgstr "Fout tijdens berekenen van antwoord voor %s (%s): %s"
#: src/protocol_auth.c:414
#: src/protocol_auth.c:417
msgid "wrong challenge reply length"
msgstr "verkeerde lengte antwoord op uitdaging"
#: src/protocol_auth.c:427
#: src/protocol_auth.c:430
#, c-format
msgid "Error during calculation of response from %s (%s): %s"
msgstr "Fout tijdens narekenen van antwoord van %s (%s): %s"
#: src/protocol_auth.c:436
#: src/protocol_auth.c:439
msgid "wrong challenge reply"
msgstr "verkeerd antwoord op uitdaging"
#: src/protocol_auth.c:441
#: src/protocol_auth.c:444
#, c-format
msgid "Expected challenge reply: %s"
msgstr "Verwachtte antwoord op uitdaging: %s"
#: src/protocol_auth.c:547
#: src/protocol_auth.c:550
#, c-format
msgid "Established a second connection with %s (%s), closing old connection"
msgstr "Tweede verbinding met %s (%s) gemaakt, oude verbinding wordt gesloten"
#: src/protocol_auth.c:570
#: src/protocol_auth.c:573
#, c-format
msgid "Connection with %s (%s) activated"
msgstr "Verbinding met %s (%s) geactiveerd"
#: src/protocol_edge.c:82 src/protocol_edge.c:88 src/protocol_edge.c:197
#: src/protocol_edge.c:203 src/protocol_subnet.c:67 src/protocol_subnet.c:176
#: src/protocol_edge.c:203 src/protocol_subnet.c:67 src/protocol_subnet.c:179
msgid "invalid name"
msgstr "ongeldige naam"
@ -747,7 +747,7 @@ msgstr "Kreeg %s van %s (%s) voor onszelf welke niet bestaat"
msgid "Got %s from %s (%s) which does not appear in the edge tree"
msgstr "Kreeg %s van %s (%s) welke niet voorkomt in de edge tree"
#: src/protocol_edge.c:242 src/protocol_subnet.c:103 src/protocol_subnet.c:219
#: src/protocol_edge.c:242 src/protocol_subnet.c:103 src/protocol_subnet.c:222
#, c-format
msgid "Got %s from %s (%s) for ourself"
msgstr "Kreeg %s van %s (%s) voor onszelf"
@ -807,41 +807,46 @@ msgstr "Statusmelding van %s (%s): %d: %s"
msgid "Error message from %s (%s): %d: %s"
msgstr "Foutmelding van %s (%s): %d: %s"
#: src/protocol_subnet.c:75 src/protocol_subnet.c:197
#: src/protocol_subnet.c:75 src/protocol_subnet.c:200
msgid "invalid subnet string"
msgstr "ongeldige subnet string"
#: src/protocol_subnet.c:185
#: src/protocol_subnet.c:188
#, c-format
msgid "Got %s from %s (%s) for %s which is not in our node tree"
msgstr "Kreeg %s van %s (%s) voor %s welke niet voorkomt in de node boom"
#: src/protocol_subnet.c:211
#: src/protocol_subnet.c:214
#, c-format
msgid "Got %s from %s (%s) for %s which does not appear in his subnet tree"
msgstr "Kreeg %s van %s (%s) voor %s welke niet voorkomt in zijn subnet boom"
#: src/subnet.c:103
#: src/subnet.c:105
#, c-format
msgid "subnet_compare() was called with unknown subnet type %d, exitting!"
msgstr ""
"subnet_compare() werd aangeroepen met onbekend subnet type %d, beëindigen!"
#: src/subnet.c:281
#: src/subnet.c:251
#, c-format
msgid "net2str() was called with netstr=%p, subnet=%p!\n"
msgstr "net2str() werd aangeroepen met netstr=%p, subnet=%p!\n"
#: src/subnet.c:288
#, c-format
msgid "net2str() was called with unknown subnet type %d, exiting!"
msgstr "net2str() werd aangeroepen met onbekend subnet type %d, beëindigen!"
#: src/subnet.c:396
#: src/subnet.c:449
msgid "Subnet list:"
msgstr "Subnet lijst:"
#: src/subnet.c:402
#: src/subnet.c:455
#, c-format
msgid " %s owner %s"
msgstr " %s eigenaar %s"
#: src/subnet.c:405
#: src/subnet.c:458
msgid "End of subnet list."
msgstr "Einde van subnet lijst."
@ -958,14 +963,14 @@ msgstr "%s versie %s (gemaakt %s %s, protocol %d)\n"
#: src/tincd.c:410
#, c-format
msgid ""
"Copyright (C) 1998-2004 Ivo Timmermans, Guus Sliepen and others.\n"
"Copyright (C) 1998-2005 Ivo Timmermans, Guus Sliepen and others.\n"
"See the AUTHORS file for a complete list.\n"
"\n"
"tinc comes with ABSOLUTELY NO WARRANTY. This is free software,\n"
"and you are welcome to redistribute it under certain conditions;\n"
"see the file COPYING for details.\n"
msgstr ""
"Copyright (C) 1998-2004 Ivo Timmermans, Guus Sliepen en anderen.\n"
"Copyright (C) 1998-2005 Ivo Timmermans, Guus Sliepen en anderen.\n"
"Zie het bestand AUTHORS voor een volledige lijst.\n"
"\n"
"tinc wordt gedistribueerd ZONDER ENIGE GARANTIE. Dit is vrije "
@ -1273,11 +1278,11 @@ msgstr "Kan pakket niet routeren: ARP verzoek voor onbekend adres %d.%d.%d.%d"
msgid "Cannot route packet from %s (%s): unknown type %hx"
msgstr "Kan pakket van %s (%s) niet routeren: onbekend type %hx"
#: src/node.c:183
#: src/node.c:181
msgid "Nodes:"
msgstr "Nodes:"
#: src/node.c:187
#: src/node.c:185
#, c-format
msgid ""
" %s at %s cipher %d digest %d maclength %d compression %d options %lx status "
@ -1286,7 +1291,7 @@ msgstr ""
" %s op %s cipher %d digest %d maclengte %d compressie %d opties %lx status %"
"04x nexthop %s via %s pmtu %d (min %d max %d)"
#: src/node.c:194
#: src/node.c:192
msgid "End of nodes."
msgstr "Einde van nodes."
@ -1303,12 +1308,12 @@ msgstr " %s naar %s op %s opties %lx gewicht %d"
msgid "End of edges."
msgstr "Einde van edges."
#: src/graph.c:263
#: src/graph.c:261
#, c-format
msgid "Node %s (%s) became reachable"
msgstr "Node %s (%s) werd bereikbaar"
#: src/graph.c:266
#: src/graph.c:265
#, c-format
msgid "Node %s (%s) became unreachable"
msgstr "Node %s (%s) is niet meer bereikbaar"

View file

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: tinc-devel@tinc-vpn.org\n"
"POT-Creation-Date: 2004-11-11 13:40+0100\n"
"POT-Creation-Date: 2005-05-04 20:25+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -260,7 +260,7 @@ msgstr ""
msgid "Setting outgoing packet priority to %d"
msgstr ""
#: src/net_packet.c:392 src/net_setup.c:477 src/net_socket.c:73
#: src/net_packet.c:392 src/net_setup.c:481 src/net_socket.c:73
#: src/net_socket.c:124 src/net_socket.c:153 src/tincd.c:434 src/tincd.c:468
#: src/process.c:198 src/process.c:231 src/process.c:428 src/bsd/device.c:93
#: src/bsd/device.c:112 src/cygwin/device.c:140 src/cygwin/device.c:171
@ -298,17 +298,17 @@ msgstr ""
msgid "Broadcasting packet of %d bytes from %s (%s)"
msgstr ""
#: src/net_packet.c:474
#: src/net_packet.c:480
#, c-format
msgid "Flushing queue for %s (%s)"
msgstr ""
#: src/net_packet.c:496
#: src/net_packet.c:502
#, c-format
msgid "Receiving packet failed: %s"
msgstr ""
#: src/net_packet.c:506
#: src/net_packet.c:512
#, c-format
msgid "Received UDP packet from unknown source %s"
msgstr ""
@ -388,7 +388,7 @@ msgstr ""
msgid "Unrecognized cipher type!"
msgstr ""
#: src/net_setup.c:383 src/protocol_auth.c:189
#: src/net_setup.c:383 src/protocol_auth.c:192
#, c-format
msgid "Error during initialisation of cipher for %s (%s): %s"
msgstr ""
@ -409,16 +409,16 @@ msgstr ""
msgid "Bogus compression level!"
msgstr ""
#: src/net_setup.c:499
#: src/net_setup.c:503
#, c-format
msgid "Listening on %s"
msgstr ""
#: src/net_setup.c:510
#: src/net_setup.c:514
msgid "Ready"
msgstr ""
#: src/net_setup.c:512
#: src/net_setup.c:516
msgid "Unable to create any listening socket!"
msgstr ""
@ -461,7 +461,7 @@ msgstr ""
msgid "Connected to %s (%s)"
msgstr ""
#: src/net_socket.c:249 src/net_socket.c:333 src/net_socket.c:444
#: src/net_socket.c:249 src/net_socket.c:333 src/net_socket.c:445
#, c-format
msgid "fcntl for %s: %s"
msgstr ""
@ -501,7 +501,7 @@ msgstr ""
msgid "Accepting a new connection failed: %s"
msgstr ""
#: src/net_socket.c:437
#: src/net_socket.c:438
#, c-format
msgid "Connection from %s"
msgstr ""
@ -605,19 +605,19 @@ msgstr ""
msgid "Aging past requests: deleted %d, left %d"
msgstr ""
#: src/protocol_auth.c:58 src/protocol_auth.c:209 src/protocol_auth.c:338
#: src/protocol_auth.c:405 src/protocol_auth.c:531 src/protocol_edge.c:73
#: src/protocol_auth.c:58 src/protocol_auth.c:212 src/protocol_auth.c:341
#: src/protocol_auth.c:408 src/protocol_auth.c:534 src/protocol_edge.c:73
#: src/protocol_edge.c:188 src/protocol_key.c:62 src/protocol_key.c:105
#: src/protocol_key.c:172 src/protocol_misc.c:54 src/protocol_misc.c:83
#: src/protocol_misc.c:171 src/protocol_subnet.c:58 src/protocol_subnet.c:167
#: src/protocol_misc.c:171 src/protocol_subnet.c:58 src/protocol_subnet.c:170
#, c-format
msgid "Got bad %s from %s (%s)"
msgstr ""
#: src/protocol_auth.c:66 src/protocol_edge.c:81 src/protocol_edge.c:87
#: src/protocol_edge.c:196 src/protocol_edge.c:202 src/protocol_subnet.c:66
#: src/protocol_subnet.c:74 src/protocol_subnet.c:175
#: src/protocol_subnet.c:196
#: src/protocol_subnet.c:74 src/protocol_subnet.c:178
#: src/protocol_subnet.c:199
#, c-format
msgid "Got bad %s from %s (%s): %s"
msgstr ""
@ -627,92 +627,92 @@ msgstr ""
msgid "Peer %s is %s instead of %s"
msgstr ""
#: src/protocol_auth.c:85
#: src/protocol_auth.c:88
#, c-format
msgid "Peer %s (%s) uses incompatible version %d"
msgstr ""
#: src/protocol_auth.c:101
#: src/protocol_auth.c:104
#, c-format
msgid "Peer %s had unknown identity (%s)"
msgstr ""
#: src/protocol_auth.c:153
#: src/protocol_auth.c:156
#, c-format
msgid "Generated random meta key (unencrypted): %s"
msgstr ""
#: src/protocol_auth.c:165 src/protocol_auth.c:238
#: src/protocol_auth.c:168 src/protocol_auth.c:241
#, c-format
msgid "Error during encryption of meta key for %s (%s)"
msgstr ""
#: src/protocol_auth.c:219 src/protocol_auth.c:348 src/protocol_auth.c:413
#: src/protocol_auth.c:435
#: src/protocol_auth.c:222 src/protocol_auth.c:351 src/protocol_auth.c:416
#: src/protocol_auth.c:438
#, c-format
msgid "Possible intruder %s (%s): %s"
msgstr ""
#: src/protocol_auth.c:246
#: src/protocol_auth.c:249
#, c-format
msgid "Received random meta key (unencrypted): %s"
msgstr ""
#: src/protocol_auth.c:257
#: src/protocol_auth.c:260
#, c-format
msgid "%s (%s) uses unknown cipher!"
msgstr ""
#: src/protocol_auth.c:265
#: src/protocol_auth.c:268
#, c-format
msgid "Error during initialisation of cipher from %s (%s): %s"
msgstr ""
#: src/protocol_auth.c:281 src/protocol_key.c:242
#: src/protocol_auth.c:284 src/protocol_key.c:242
#, c-format
msgid "Node %s (%s) uses unknown digest!"
msgstr ""
#: src/protocol_auth.c:286
#: src/protocol_auth.c:289
#, c-format
msgid "%s (%s) uses bogus MAC length!"
msgstr ""
#: src/protocol_auth.c:381
#: src/protocol_auth.c:384
#, c-format
msgid "Error during calculation of response for %s (%s): %s"
msgstr ""
#: src/protocol_auth.c:414
#: src/protocol_auth.c:417
msgid "wrong challenge reply length"
msgstr ""
#: src/protocol_auth.c:427
#: src/protocol_auth.c:430
#, c-format
msgid "Error during calculation of response from %s (%s): %s"
msgstr ""
#: src/protocol_auth.c:436
#: src/protocol_auth.c:439
msgid "wrong challenge reply"
msgstr ""
#: src/protocol_auth.c:441
#: src/protocol_auth.c:444
#, c-format
msgid "Expected challenge reply: %s"
msgstr ""
#: src/protocol_auth.c:547
#: src/protocol_auth.c:550
#, c-format
msgid "Established a second connection with %s (%s), closing old connection"
msgstr ""
#: src/protocol_auth.c:570
#: src/protocol_auth.c:573
#, c-format
msgid "Connection with %s (%s) activated"
msgstr ""
#: src/protocol_edge.c:82 src/protocol_edge.c:88 src/protocol_edge.c:197
#: src/protocol_edge.c:203 src/protocol_subnet.c:67 src/protocol_subnet.c:176
#: src/protocol_edge.c:203 src/protocol_subnet.c:67 src/protocol_subnet.c:179
msgid "invalid name"
msgstr ""
@ -736,7 +736,7 @@ msgstr ""
msgid "Got %s from %s (%s) which does not appear in the edge tree"
msgstr ""
#: src/protocol_edge.c:242 src/protocol_subnet.c:103 src/protocol_subnet.c:219
#: src/protocol_edge.c:242 src/protocol_subnet.c:103 src/protocol_subnet.c:222
#, c-format
msgid "Got %s from %s (%s) for ourself"
msgstr ""
@ -794,40 +794,45 @@ msgstr ""
msgid "Error message from %s (%s): %d: %s"
msgstr ""
#: src/protocol_subnet.c:75 src/protocol_subnet.c:197
#: src/protocol_subnet.c:75 src/protocol_subnet.c:200
msgid "invalid subnet string"
msgstr ""
#: src/protocol_subnet.c:185
#: src/protocol_subnet.c:188
#, c-format
msgid "Got %s from %s (%s) for %s which is not in our node tree"
msgstr ""
#: src/protocol_subnet.c:211
#: src/protocol_subnet.c:214
#, c-format
msgid "Got %s from %s (%s) for %s which does not appear in his subnet tree"
msgstr ""
#: src/subnet.c:103
#: src/subnet.c:105
#, c-format
msgid "subnet_compare() was called with unknown subnet type %d, exitting!"
msgstr ""
#: src/subnet.c:281
#: src/subnet.c:251
#, c-format
msgid "net2str() was called with netstr=%p, subnet=%p!\n"
msgstr ""
#: src/subnet.c:288
#, c-format
msgid "net2str() was called with unknown subnet type %d, exiting!"
msgstr ""
#: src/subnet.c:396
#: src/subnet.c:449
msgid "Subnet list:"
msgstr ""
#: src/subnet.c:402
#: src/subnet.c:455
#, c-format
msgid " %s owner %s"
msgstr ""
#: src/subnet.c:405
#: src/subnet.c:458
msgid "End of subnet list."
msgstr ""
@ -920,7 +925,7 @@ msgstr ""
#: src/tincd.c:410
#, c-format
msgid ""
"Copyright (C) 1998-2004 Ivo Timmermans, Guus Sliepen and others.\n"
"Copyright (C) 1998-2005 Ivo Timmermans, Guus Sliepen and others.\n"
"See the AUTHORS file for a complete list.\n"
"\n"
"tinc comes with ABSOLUTELY NO WARRANTY. This is free software,\n"
@ -1215,18 +1220,18 @@ msgstr ""
msgid "Cannot route packet from %s (%s): unknown type %hx"
msgstr ""
#: src/node.c:183
#: src/node.c:181
msgid "Nodes:"
msgstr ""
#: src/node.c:187
#: src/node.c:185
#, c-format
msgid ""
" %s at %s cipher %d digest %d maclength %d compression %d options %lx status "
"%04x nexthop %s via %s pmtu %d (min %d max %d)"
msgstr ""
#: src/node.c:194
#: src/node.c:192
msgid "End of nodes."
msgstr ""
@ -1243,12 +1248,12 @@ msgstr ""
msgid "End of edges."
msgstr ""
#: src/graph.c:263
#: src/graph.c:261
#, c-format
msgid "Node %s (%s) became reachable"
msgstr ""
#: src/graph.c:266
#: src/graph.c:265
#, c-format
msgid "Node %s (%s) became unreachable"
msgstr ""

View file

@ -1,8 +1,8 @@
# Makefile.in generated by automake 1.8.5 from Makefile.am.
# Makefile.in generated by automake 1.9.5 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004 Free Software Foundation, Inc.
# 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@ -39,6 +39,7 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
sbin_PROGRAMS = tincd$(EXEEXT)
subdir = src
@ -76,21 +77,6 @@ tincd_OBJECTS = $(am_tincd_OBJECTS) $(nodist_tincd_OBJECTS)
tincd_DEPENDENCIES = $(top_builddir)/lib/libvpn.a
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/conf.Po ./$(DEPDIR)/connection.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/device.Po ./$(DEPDIR)/edge.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/event.Po ./$(DEPDIR)/graph.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/logger.Po ./$(DEPDIR)/meta.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/net.Po ./$(DEPDIR)/net_packet.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/net_setup.Po ./$(DEPDIR)/net_socket.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/netutl.Po ./$(DEPDIR)/node.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/process.Po ./$(DEPDIR)/protocol.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/protocol_auth.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/protocol_edge.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/protocol_key.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/protocol_misc.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/protocol_subnet.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/route.Po ./$(DEPDIR)/subnet.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/tincd.Po
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
@ -172,6 +158,8 @@ am__fastdepCC_TRUE = @am__fastdepCC_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@
@ -310,16 +298,14 @@ distclean-compile:
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
.c.obj:
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
uninstall-info-am:
@ -428,7 +414,7 @@ mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f $(CONFIG_CLEAN_FILES)
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@ -483,7 +469,7 @@ ps-am:
uninstall-am: uninstall-info-am uninstall-sbinPROGRAMS
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
clean-sbinPROGRAMS ctags distclean distclean-compile \
clean-sbinPROGRAMS ctags dist-hook distclean distclean-compile \
distclean-generic distclean-tags distdir dvi dvi-am html \
html-am info info-am install install-am install-data \
install-data-am install-exec install-exec-am install-info \

View file

@ -1,7 +1,7 @@
/*
device.c -- Interaction BSD tun/tap device
Copyright (C) 2001-2004 Ivo Timmermans <ivo@tinc-vpn.org>,
2001-2004 Guus Sliepen <guus@tinc-vpn.org>
Copyright (C) 2001-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
2001-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by

View file

@ -1,8 +1,8 @@
/*
conf.c -- configuration code
Copyright (C) 1998 Robert van der Meulen
1998-2004 Ivo Timmermans <ivo@tinc-vpn.org>
2000-2004 Guus Sliepen <guus@tinc-vpn.org>
1998-2005 Ivo Timmermans <ivo@tinc-vpn.org>
2000-2005 Guus Sliepen <guus@tinc-vpn.org>
2000 Cris van Pelt <tribbel@arise.dhs.org>
This program is free software; you can redistribute it and/or modify
@ -19,7 +19,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: conf.c 1374 2004-03-21 14:21:22Z guus $
$Id: conf.c 1439 2005-05-04 18:09:30Z guus $
*/
#include "system.h"
@ -99,7 +99,7 @@ void config_add(avl_tree_t *config_tree, config_t *cfg)
avl_insert(config_tree, cfg);
}
config_t *lookup_config(const avl_tree_t *config_tree, char *variable)
config_t *lookup_config(avl_tree_t *config_tree, char *variable)
{
config_t cfg, *found;
@ -120,7 +120,7 @@ config_t *lookup_config(const avl_tree_t *config_tree, char *variable)
return found;
}
config_t *lookup_config_next(const avl_tree_t *config_tree, const config_t *cfg)
config_t *lookup_config_next(avl_tree_t *config_tree, const config_t *cfg)
{
avl_node_t *node;
config_t *found;

View file

@ -1,7 +1,7 @@
/*
conf.h -- header for conf.c
Copyright (C) 1998-2004 Ivo Timmermans <ivo@tinc-vpn.org>
2000-2004 Guus Sliepen <guus@tinc-vpn.org>
Copyright (C) 1998-2005 Ivo Timmermans <ivo@tinc-vpn.org>
2000-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: conf.h 1374 2004-03-21 14:21:22Z guus $
$Id: conf.h 1439 2005-05-04 18:09:30Z guus $
*/
#ifndef __TINC_CONF_H__
@ -47,8 +47,8 @@ extern void exit_configuration(avl_tree_t **);
extern config_t *new_config(void) __attribute__ ((__malloc__));
extern void free_config(config_t *);
extern void config_add(avl_tree_t *, config_t *);
extern config_t *lookup_config(const avl_tree_t *, char *);
extern config_t *lookup_config_next(const avl_tree_t *, const config_t *);
extern config_t *lookup_config(avl_tree_t *, char *);
extern config_t *lookup_config_next(avl_tree_t *, const config_t *);
extern bool get_config_bool(const config_t *, bool *);
extern bool get_config_int(const config_t *, int *);
extern bool get_config_string(const config_t *, char **);

View file

@ -1,7 +1,7 @@
/*
connection.c -- connection list management
Copyright (C) 2000-2004 Guus Sliepen <guus@tinc-vpn.org>,
2000-2004 Ivo Timmermans <ivo@tinc-vpn.org>
Copyright (C) 2000-2005 Guus Sliepen <guus@tinc-vpn.org>,
2000-2005 Ivo Timmermans <ivo@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: connection.c 1374 2004-03-21 14:21:22Z guus $
$Id: connection.c 1439 2005-05-04 18:09:30Z guus $
*/
#include "system.h"
@ -44,7 +44,7 @@ void init_connections(void)
{
cp();
connection_tree = avl_alloc_tree((avl_compare_t) connection_compare, NULL);
connection_tree = avl_alloc_tree((avl_compare_t) connection_compare, (avl_action_t) free_connection);
broadcast = new_connection();
broadcast->name = xstrdup(_("everyone"));
broadcast->hostname = xstrdup(_("BROADCAST"));

View file

@ -1,7 +1,7 @@
/*
connection.h -- header for connection.c
Copyright (C) 2000-2004 Guus Sliepen <guus@tinc-vpn.org>,
2000-2004 Ivo Timmermans <ivo@tinc-vpn.org>
Copyright (C) 2000-2005 Guus Sliepen <guus@tinc-vpn.org>,
2000-2005 Ivo Timmermans <ivo@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: connection.h 1374 2004-03-21 14:21:22Z guus $
$Id: connection.h 1439 2005-05-04 18:09:30Z guus $
*/
#ifndef __TINC_CONNECTION_H__

View file

@ -1,7 +1,7 @@
/*
device.c -- Interaction with Windows tap driver in a Cygwin environment
Copyright (C) 2002-2004 Ivo Timmermans <ivo@tinc-vpn.org>,
2002-2004 Guus Sliepen <guus@tinc-vpn.org>
Copyright (C) 2002-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
2002-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: device.c 1400 2004-11-01 17:02:19Z guus $
$Id: device.c 1439 2005-05-04 18:09:30Z guus $
*/
#include "system.h"

View file

@ -1,7 +1,7 @@
/*
net.h -- generic header for device.c
Copyright (C) 2001-2004 Ivo Timmermans <zarq@iname.com>
2001-2004 Guus Sliepen <guus@tinc-vpn.org>
Copyright (C) 2001-2005 Ivo Timmermans <zarq@iname.com>
2001-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: device.h 1374 2004-03-21 14:21:22Z guus $
$Id: device.h 1439 2005-05-04 18:09:30Z guus $
*/
#ifndef __TINC_DEVICE_H__

View file

@ -1,7 +1,7 @@
/*
edge.c -- edge tree management
Copyright (C) 2000-2004 Guus Sliepen <guus@tinc-vpn.org>,
2000-2004 Ivo Timmermans <ivo@tinc-vpn.org>
Copyright (C) 2000-2005 Guus Sliepen <guus@tinc-vpn.org>,
2000-2005 Ivo Timmermans <ivo@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: edge.c 1374 2004-03-21 14:21:22Z guus $
$Id: edge.c 1439 2005-05-04 18:09:30Z guus $
*/
#include "system.h"

View file

@ -1,7 +1,7 @@
/*
edge.h -- header for edge.c
Copyright (C) 2001-2004 Guus Sliepen <guus@tinc-vpn.org>,
2001-2004 Ivo Timmermans <ivo@tinc-vpn.org>
Copyright (C) 2001-2005 Guus Sliepen <guus@tinc-vpn.org>,
2001-2005 Ivo Timmermans <ivo@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: edge.h 1374 2004-03-21 14:21:22Z guus $
$Id: edge.h 1439 2005-05-04 18:09:30Z guus $
*/
#ifndef __TINC_EDGE_H__

View file

@ -1,7 +1,7 @@
/*
event.c -- event queue
Copyright (C) 2002-2004 Guus Sliepen <guus@tinc-vpn.org>,
2002-2004 Ivo Timmermans <ivo@tinc-vpn.org>
Copyright (C) 2002-2005 Guus Sliepen <guus@tinc-vpn.org>,
2002-2005 Ivo Timmermans <ivo@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: event.c 1374 2004-03-21 14:21:22Z guus $
$Id: event.c 1439 2005-05-04 18:09:30Z guus $
*/
#include "system.h"

View file

@ -1,7 +1,7 @@
/*
event.h -- header for event.c
Copyright (C) 2002-2004 Guus Sliepen <guus@tinc-vpn.org>,
2002-2004 Ivo Timmermans <ivo@tinc-vpn.org>
Copyright (C) 2002-2005 Guus Sliepen <guus@tinc-vpn.org>,
2002-2005 Ivo Timmermans <ivo@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: event.h 1374 2004-03-21 14:21:22Z guus $
$Id: event.h 1439 2005-05-04 18:09:30Z guus $
*/
#ifndef __TINC_EVENT_H__

View file

@ -1,7 +1,7 @@
/*
graph.c -- graph algorithms
Copyright (C) 2001-2004 Guus Sliepen <guus@tinc-vpn.org>,
2001-2004 Ivo Timmermans <ivo@tinc-vpn.org>
Copyright (C) 2001-2005 Guus Sliepen <guus@tinc-vpn.org>,
2001-2005 Ivo Timmermans <ivo@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: graph.c 1374 2004-03-21 14:21:22Z guus $
$Id: graph.c 1439 2005-05-04 18:09:30Z guus $
*/
/* We need to generate two trees from the graph:
@ -54,6 +54,7 @@
#include "netutl.h"
#include "node.h"
#include "process.h"
#include "subnet.h"
#include "utils.h"
/* Implementation of Kruskal's algorithm.
@ -141,10 +142,11 @@ void mst_kruskal(void)
void sssp_bfs(void)
{
avl_node_t *node, *from, *next, *to;
avl_node_t *node, *next, *to;
edge_t *e;
node_t *n;
avl_tree_t *todo_tree;
list_t *todo_list;
list_node_t *from, *todonext;
bool indirect;
char *name;
char *address, *port;
@ -153,7 +155,7 @@ void sssp_bfs(void)
cp();
todo_tree = avl_alloc_tree(NULL, NULL);
todo_list = list_alloc(NULL);
/* Clear visited status on nodes */
@ -169,86 +171,82 @@ void sssp_bfs(void)
myself->status.indirect = false;
myself->nexthop = myself;
myself->via = myself;
node = avl_alloc_node();
node->data = myself;
avl_insert_top(todo_tree, node);
list_insert_head(todo_list, myself);
/* Loop while todo_tree is filled */
/* Loop while todo_list is filled */
while(todo_tree->head) {
for(from = todo_tree->head; from; from = next) { /* "from" is the node from which we start */
next = from->next;
n = from->data;
for(from = todo_list->head; from; from = todonext) { /* "from" is the node from which we start */
n = from->data;
for(to = n->edge_tree->head; to; to = to->next) { /* "to" is the edge connected to "from" */
e = to->data;
for(to = n->edge_tree->head; to; to = to->next) { /* "to" is the edge connected to "from" */
e = to->data;
if(!e->reverse)
continue;
if(!e->reverse)
continue;
/* Situation:
/* Situation:
/
/
----->(n)---e-->(e->to)
\
\
/
/
----->(n)---e-->(e->to)
\
\
Where e is an edge, (n) and (e->to) are nodes.
n->address is set to the e->address of the edge left of n to n.
We are currently examining the edge e right of n from n:
Where e is an edge, (n) and (e->to) are nodes.
n->address is set to the e->address of the edge left of n to n.
We are currently examining the edge e right of n from n:
- If e->reverse->address != n->address, then e->to is probably
not reachable for the nodes left of n. We do as if the indirectdata
flag is set on edge e.
- If edge e provides for better reachability of e->to, update
e->to and (re)add it to the todo_tree to (re)examine the reachability
of nodes behind it.
*/
- If e->reverse->address != n->address, then e->to is probably
not reachable for the nodes left of n. We do as if the indirectdata
flag is set on edge e.
- If edge e provides for better reachability of e->to, update
e->to and (re)add it to the todo_list to (re)examine the reachability
of nodes behind it.
*/
indirect = n->status.indirect || e->options & OPTION_INDIRECT
|| ((n != myself) && sockaddrcmp(&n->address, &e->reverse->address));
indirect = n->status.indirect || e->options & OPTION_INDIRECT
|| ((n != myself) && sockaddrcmp(&n->address, &e->reverse->address));
if(e->to->status.visited
&& (!e->to->status.indirect || indirect))
continue;
if(e->to->status.visited
&& (!e->to->status.indirect || indirect))
continue;
e->to->status.visited = true;
e->to->status.indirect = indirect;
e->to->nexthop = (n->nexthop == myself) ? e->to : n->nexthop;
e->to->via = indirect ? n->via : e->to;
e->to->options = e->options;
e->to->status.visited = true;
e->to->status.indirect = indirect;
e->to->nexthop = (n->nexthop == myself) ? e->to : n->nexthop;
e->to->via = indirect ? n->via : e->to;
e->to->options = e->options;
if(sockaddrcmp(&e->to->address, &e->address)) {
node = avl_unlink(node_udp_tree, e->to);
sockaddrfree(&e->to->address);
sockaddrcpy(&e->to->address, &e->address);
if(sockaddrcmp(&e->to->address, &e->address)) {
node = avl_unlink(node_udp_tree, e->to);
sockaddrfree(&e->to->address);
sockaddrcpy(&e->to->address, &e->address);
if(e->to->hostname)
free(e->to->hostname);
if(e->to->hostname)
free(e->to->hostname);
e->to->hostname = sockaddr2hostname(&e->to->address);
e->to->hostname = sockaddr2hostname(&e->to->address);
if(node)
avl_insert_node(node_udp_tree, node);
if(e->to->options & OPTION_PMTU_DISCOVERY) {
e->to->mtuprobes = 0;
e->to->minmtu = 0;
e->to->maxmtu = MTU;
if(e->to->status.validkey)
send_mtu_probe(e->to);
}
if(e->to->options & OPTION_PMTU_DISCOVERY) {
e->to->mtuprobes = 0;
e->to->minmtu = 0;
e->to->maxmtu = MTU;
if(e->to->status.validkey)
send_mtu_probe(e->to);
}
node = avl_alloc_node();
node->data = e->to;
avl_insert_before(todo_tree, from, node);
}
avl_delete_node(todo_tree, from);
list_insert_tail(todo_list, e->to);
}
todonext = from->next;
list_delete_node(todo_list, from);
}
avl_free_tree(todo_tree);
list_free(todo_list);
/* Check reachability status. */
@ -262,9 +260,11 @@ void sssp_bfs(void)
if(n->status.reachable) {
ifdebug(TRAFFIC) logger(LOG_DEBUG, _("Node %s (%s) became reachable"),
n->name, n->hostname);
avl_insert(node_udp_tree, n);
} else {
ifdebug(TRAFFIC) logger(LOG_DEBUG, _("Node %s (%s) became unreachable"),
n->name, n->hostname);
avl_delete(node_udp_tree, n);
}
n->status.validkey = false;
@ -292,8 +292,10 @@ void sssp_bfs(void)
free(address);
free(port);
for(i = 0; i < 7; i++)
for(i = 0; i < 6; i++)
free(envp[i]);
subnet_update(n, NULL, n->status.reachable);
}
}
}

View file

@ -1,7 +1,7 @@
/*
graph.h -- header for graph.c
Copyright (C) 2001-2004 Guus Sliepen <guus@tinc-vpn.org>,
2001-2004 Ivo Timmermans <ivo@tinc-vpn.org>
Copyright (C) 2001-2005 Guus Sliepen <guus@tinc-vpn.org>,
2001-2005 Ivo Timmermans <ivo@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: graph.h 1374 2004-03-21 14:21:22Z guus $
$Id: graph.h 1439 2005-05-04 18:09:30Z guus $
*/
#ifndef __TINC_GRAPH_H__

View file

@ -1,7 +1,7 @@
/*
device.c -- Interaction with Linux ethertap and tun/tap device
Copyright (C) 2001-2004 Ivo Timmermans <ivo@tinc-vpn.org>,
2001-2004 Guus Sliepen <guus@tinc-vpn.org>
Copyright (C) 2001-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
2001-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: device.c 1400 2004-11-01 17:02:19Z guus $
$Id: device.c 1439 2005-05-04 18:09:30Z guus $
*/
#include "system.h"

View file

@ -1,7 +1,7 @@
/*
logger.c -- logging code
Copyright (C) 2004 Guus Sliepen <guus@tinc-vpn.org>
2004 Ivo Timmermans <ivo@tinc-vpn.org>
Copyright (C) 2004-2005 Guus Sliepen <guus@tinc-vpn.org>
2004-2005 Ivo Timmermans <ivo@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: logger.c 1374 2004-03-21 14:21:22Z guus $
$Id: logger.c 1439 2005-05-04 18:09:30Z guus $
*/
#include "system.h"

View file

@ -1,7 +1,7 @@
/*
meta.c -- handle the meta communication
Copyright (C) 2000-2004 Guus Sliepen <guus@tinc-vpn.org>,
2000-2004 Ivo Timmermans <ivo@tinc-vpn.org>
Copyright (C) 2000-2005 Guus Sliepen <guus@tinc-vpn.org>,
2000-2005 Ivo Timmermans <ivo@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: meta.c 1391 2004-09-20 20:56:14Z guus $
$Id: meta.c 1439 2005-05-04 18:09:30Z guus $
*/
#include "system.h"

View file

@ -1,7 +1,7 @@
/*
meta.h -- header for meta.c
Copyright (C) 2000-2004 Guus Sliepen <guus@tinc-vpn.org>,
2000-2004 Ivo Timmermans <ivo@tinc-vpn.org>
Copyright (C) 2000-2005 Guus Sliepen <guus@tinc-vpn.org>,
2000-2005 Ivo Timmermans <ivo@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: meta.h 1374 2004-03-21 14:21:22Z guus $
$Id: meta.h 1439 2005-05-04 18:09:30Z guus $
*/
#ifndef __TINC_META_H__

View file

@ -1,7 +1,7 @@
/*
device.c -- Interaction with Windows tap driver in a MinGW environment
Copyright (C) 2002-2004 Ivo Timmermans <ivo@tinc-vpn.org>,
2002-2004 Guus Sliepen <guus@tinc-vpn.org>
Copyright (C) 2002-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
2002-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: device.c 1400 2004-11-01 17:02:19Z guus $
$Id: device.c 1439 2005-05-04 18:09:30Z guus $
*/
#include "system.h"

View file

@ -1,7 +1,7 @@
/*
net.c -- most of the network code
Copyright (C) 1998-2004 Ivo Timmermans <ivo@tinc-vpn.org>,
2000-2004 Guus Sliepen <guus@tinc-vpn.org>
Copyright (C) 1998-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
2000-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: net.c 1387 2004-06-21 14:37:52Z guus $
$Id: net.c 1439 2005-05-04 18:09:30Z guus $
*/
#include "system.h"

View file

@ -1,7 +1,7 @@
/*
net.h -- header for net.c
Copyright (C) 1998-2004 Ivo Timmermans <zarq@iname.com>
2000-2004 Guus Sliepen <guus@tinc-vpn.org>
Copyright (C) 1998-2005 Ivo Timmermans <zarq@iname.com>
2000-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: net.h 1413 2004-11-10 21:56:31Z guus $
$Id: net.h 1439 2005-05-04 18:09:30Z guus $
*/
#ifndef __TINC_NET_H__

View file

@ -1,7 +1,7 @@
/*
net_packet.c -- Handles in- and outgoing VPN packets
Copyright (C) 1998-2004 Ivo Timmermans <ivo@tinc-vpn.org>,
2000-2004 Guus Sliepen <guus@tinc-vpn.org>
Copyright (C) 1998-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
2000-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: net_packet.c 1407 2004-11-09 09:51:35Z guus $
$Id: net_packet.c 1439 2005-05-04 18:09:30Z guus $
*/
#include "system.h"
@ -457,6 +457,12 @@ void broadcast_packet(const node_t *from, vpn_packet_t *packet)
ifdebug(TRAFFIC) logger(LOG_INFO, _("Broadcasting packet of %d bytes from %s (%s)"),
packet->len, from->name, from->hostname);
if(from != myself) {
if(overwrite_mac)
memcpy(packet->data, mymac.x, ETH_ALEN);
write_packet(packet);
}
for(node = connection_tree->head; node; node = node->next) {
c = node->data;

View file

@ -1,7 +1,7 @@
/*
net_setup.c -- Setup.
Copyright (C) 1998-2004 Ivo Timmermans <ivo@tinc-vpn.org>,
2000-2004 Guus Sliepen <guus@tinc-vpn.org>
Copyright (C) 1998-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
2000-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: net_setup.c 1413 2004-11-10 21:56:31Z guus $
$Id: net_setup.c 1439 2005-05-04 18:09:30Z guus $
*/
#include "system.h"
@ -462,6 +462,10 @@ bool setup_myself(void)
for(i = 0; i < 5; i++)
free(envp[i]);
/* Run subnet-up scripts for our own subnets */
subnet_update(myself, NULL, true);
/* Open sockets */
get_config_string(lookup_config(config_tree, "BindToAddress"), &address);
@ -568,8 +572,10 @@ void close_network_connections(void)
terminate_connection(c, false);
}
if(myself && myself->connection)
if(myself && myself->connection) {
subnet_update(myself, NULL, false);
terminate_connection(myself->connection, false);
}
for(i = 0; i < listen_sockets; i++) {
close(listen_socket[i].tcp);

View file

@ -1,7 +1,7 @@
/*
net_socket.c -- Handle various kinds of sockets.
Copyright (C) 1998-2004 Ivo Timmermans <ivo@tinc-vpn.org>,
2000-2004 Guus Sliepen <guus@tinc-vpn.org>
Copyright (C) 1998-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
2000-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: net_socket.c 1413 2004-11-10 21:56:31Z guus $
$Id: net_socket.c 1439 2005-05-04 18:09:30Z guus $
*/
#include "system.h"
@ -424,6 +424,7 @@ bool handle_new_meta_connection(int sock)
sockaddrunmap(&sa);
c = new_connection();
c->name = NULL;
c->outcipher = myself->connection->outcipher;
c->outdigest = myself->connection->outdigest;
c->outmaclength = myself->connection->outmaclength;
@ -462,8 +463,7 @@ void try_outgoing_connections(void)
cp();
for(cfg = lookup_config(config_tree, "ConnectTo"); cfg;
cfg = lookup_config_next(config_tree, cfg)) {
for(cfg = lookup_config(config_tree, "ConnectTo"); cfg; cfg = lookup_config_next(config_tree, cfg)) {
get_config_string(cfg, &name);
if(!check_id(name)) {

View file

@ -1,7 +1,7 @@
/*
netutl.c -- some supporting network utility code
Copyright (C) 1998-2004 Ivo Timmermans <ivo@tinc-vpn.org>
2000-2004 Guus Sliepen <guus@tinc-vpn.org>
Copyright (C) 1998-2005 Ivo Timmermans <ivo@tinc-vpn.org>
2000-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: netutl.c 1374 2004-03-21 14:21:22Z guus $
$Id: netutl.c 1439 2005-05-04 18:09:30Z guus $
*/
#include "system.h"

View file

@ -1,7 +1,7 @@
/*
netutl.h -- header file for netutl.c
Copyright (C) 1998-2004 Ivo Timmermans <zarq@iname.com>
2000-2004 Guus Sliepen <guus@tinc-vpn.org>
Copyright (C) 1998-2005 Ivo Timmermans <zarq@iname.com>
2000-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: netutl.h 1374 2004-03-21 14:21:22Z guus $
$Id: netutl.h 1439 2005-05-04 18:09:30Z guus $
*/
#ifndef __TINC_NETUTL_H__

View file

@ -1,7 +1,7 @@
/*
node.c -- node tree management
Copyright (C) 2001-2004 Guus Sliepen <guus@tinc-vpn.org>,
2001-2004 Ivo Timmermans <ivo@tinc-vpn.org>
Copyright (C) 2001-2005 Guus Sliepen <guus@tinc-vpn.org>,
2001-2005 Ivo Timmermans <ivo@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: node.c 1374 2004-03-21 14:21:22Z guus $
$Id: node.c 1439 2005-05-04 18:09:30Z guus $
*/
#include "system.h"
@ -123,7 +123,6 @@ void node_add(node_t *n)
cp();
avl_insert(node_tree, n);
avl_insert(node_udp_tree, n);
}
void node_del(node_t *n)
@ -147,7 +146,6 @@ void node_del(node_t *n)
}
avl_delete(node_tree, n);
avl_delete(node_udp_tree, n);
}
node_t *lookup_node(char *name)

View file

@ -1,7 +1,7 @@
/*
node.h -- header for node.c
Copyright (C) 2001-2004 Guus Sliepen <guus@tinc-vpn.org>,
2001-2004 Ivo Timmermans <ivo@tinc-vpn.org>
Copyright (C) 2001-2005 Guus Sliepen <guus@tinc-vpn.org>,
2001-2005 Ivo Timmermans <ivo@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: node.h 1374 2004-03-21 14:21:22Z guus $
$Id: node.h 1439 2005-05-04 18:09:30Z guus $
*/
#ifndef __TINC_NODE_H__

View file

@ -1,7 +1,7 @@
/*
process.c -- process management functions
Copyright (C) 1999-2004 Ivo Timmermans <ivo@tinc-vpn.org>,
2000-2004 Guus Sliepen <guus@tinc-vpn.org>
Copyright (C) 1999-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
2000-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: process.c 1397 2004-11-01 15:18:22Z guus $
$Id: process.c 1439 2005-05-04 18:09:30Z guus $
*/
#include "system.h"
@ -81,25 +81,25 @@ bool install_service(void) {
}
if(!strchr(program_name, '\\')) {
GetCurrentDirectory(sizeof(command) - 1, command + 1);
strncat(command, "\\", sizeof(command));
GetCurrentDirectory(sizeof command - 1, command + 1);
strncat(command, "\\", sizeof command - strlen(command));
}
strncat(command, program_name, sizeof(command));
strncat(command, program_name, sizeof command - strlen(command));
strncat(command, "\"", sizeof(command));
strncat(command, "\"", sizeof command - strlen(command));
for(argp = g_argv + 1; *argp; argp++) {
space = strchr(*argp, ' ');
strncat(command, " ", sizeof(command));
strncat(command, " ", sizeof command - strlen(command));
if(space)
strncat(command, "\"", sizeof(command));
strncat(command, "\"", sizeof command - strlen(command));
strncat(command, *argp, sizeof(command));
strncat(command, *argp, sizeof command - strlen(command));
if(space)
strncat(command, "\"", sizeof(command));
strncat(command, "\"", sizeof command - strlen(command));
}
service = CreateService(manager, identname, identname,

View file

@ -1,7 +1,7 @@
/*
process.h -- header file for process.c
Copyright (C) 1999-2004 Ivo Timmermans <ivo@tinc-vpn.org>,
2000-2004 Guus Sliepen <guus@tinc-vpn.org>
Copyright (C) 1999-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
2000-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: process.h 1374 2004-03-21 14:21:22Z guus $
$Id: process.h 1439 2005-05-04 18:09:30Z guus $
*/
#ifndef __TINC_PROCESS_H__

View file

@ -1,7 +1,7 @@
/*
protocol.c -- handle the meta-protocol, basic functions
Copyright (C) 1999-2004 Ivo Timmermans <ivo@tinc-vpn.org>,
2000-2004 Guus Sliepen <guus@tinc-vpn.org>
Copyright (C) 1999-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
2000-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: protocol.c 1374 2004-03-21 14:21:22Z guus $
$Id: protocol.c 1439 2005-05-04 18:09:30Z guus $
*/
#include "system.h"

View file

@ -1,7 +1,7 @@
/*
protocol.h -- header for protocol.c
Copyright (C) 1999-2004 Ivo Timmermans <ivo@tinc-vpn.org>,
2000-2004 Guus Sliepen <guus@tinc-vpn.org>
Copyright (C) 1999-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
2000-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: protocol.h 1374 2004-03-21 14:21:22Z guus $
$Id: protocol.h 1439 2005-05-04 18:09:30Z guus $
*/
#ifndef __TINC_PROTOCOL_H__

View file

@ -1,7 +1,7 @@
/*
protocol_auth.c -- handle the meta-protocol, authentication
Copyright (C) 1999-2004 Ivo Timmermans <ivo@tinc-vpn.org>,
2000-2004 Guus Sliepen <guus@tinc-vpn.org>
Copyright (C) 1999-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
2000-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: protocol_auth.c 1374 2004-03-21 14:21:22Z guus $
$Id: protocol_auth.c 1439 2005-05-04 18:09:30Z guus $
*/
#include "system.h"
@ -76,8 +76,11 @@ bool id_h(connection_t *c)
c->name);
return false;
}
} else
} else {
if(c->name)
free(c->name);
c->name = xstrdup(name);
}
/* Check if version matches */

View file

@ -1,7 +1,7 @@
/*
protocol_edge.c -- handle the meta-protocol, edges
Copyright (C) 1999-2004 Ivo Timmermans <ivo@tinc-vpn.org>,
2000-2004 Guus Sliepen <guus@tinc-vpn.org>
Copyright (C) 1999-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
2000-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: protocol_edge.c 1374 2004-03-21 14:21:22Z guus $
$Id: protocol_edge.c 1439 2005-05-04 18:09:30Z guus $
*/
#include "system.h"

View file

@ -1,7 +1,7 @@
/*
protocol_key.c -- handle the meta-protocol, key exchange
Copyright (C) 1999-2004 Ivo Timmermans <ivo@tinc-vpn.org>,
2000-2004 Guus Sliepen <guus@tinc-vpn.org>
Copyright (C) 1999-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
2000-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: protocol_key.c 1374 2004-03-21 14:21:22Z guus $
$Id: protocol_key.c 1439 2005-05-04 18:09:30Z guus $
*/
#include "system.h"

View file

@ -1,7 +1,7 @@
/*
protocol_misc.c -- handle the meta-protocol, miscellaneous functions
Copyright (C) 1999-2004 Ivo Timmermans <ivo@tinc-vpn.org>,
2000-2004 Guus Sliepen <guus@tinc-vpn.org>
Copyright (C) 1999-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
2000-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: protocol_misc.c 1374 2004-03-21 14:21:22Z guus $
$Id: protocol_misc.c 1439 2005-05-04 18:09:30Z guus $
*/
#include "system.h"

View file

@ -1,7 +1,7 @@
/*
protocol_subnet.c -- handle the meta-protocol, subnets
Copyright (C) 1999-2004 Ivo Timmermans <ivo@tinc-vpn.org>,
2000-2004 Guus Sliepen <guus@tinc-vpn.org>
Copyright (C) 1999-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
2000-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: protocol_subnet.c 1374 2004-03-21 14:21:22Z guus $
$Id: protocol_subnet.c 1439 2005-05-04 18:09:30Z guus $
*/
#include "system.h"
@ -134,6 +134,9 @@ bool add_subnet_h(connection_t *c)
*(new = new_subnet()) = s;
subnet_add(owner, new);
if(owner->status.reachable)
subnet_update(owner, new, true);
/* Tell the rest */
if(!tunnelserver)
@ -229,6 +232,9 @@ bool del_subnet_h(connection_t *c)
/* Finally, delete it. */
if(owner->status.reachable)
subnet_update(owner, find, false);
subnet_del(owner, find);
return true;

View file

@ -1,7 +1,7 @@
/*
device.c -- raw socket
Copyright (C) 2002-2004 Ivo Timmermans <ivo@tinc-vpn.org>,
2002-2004 Guus Sliepen <guus@tinc-vpn.org>
Copyright (C) 2002-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
2002-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: device.c 1405 2004-11-08 22:11:33Z guus $
$Id: device.c 1439 2005-05-04 18:09:30Z guus $
*/
#include "system.h"

View file

@ -1,7 +1,7 @@
/*
route.c -- routing
Copyright (C) 2000-2004 Ivo Timmermans <ivo@tinc-vpn.org>,
2000-2004 Guus Sliepen <guus@tinc-vpn.org>
Copyright (C) 2000-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
2000-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: route.c 1411 2004-11-10 19:36:02Z guus $
$Id: route.c 1439 2005-05-04 18:09:30Z guus $
*/
#include "system.h"

View file

@ -1,7 +1,7 @@
/*
route.h -- header file for route.c
Copyright (C) 2000-2004 Ivo Timmermans <zarq@iname.com>
2000-2004 Guus Sliepen <guus@tinc-vpn.org>
Copyright (C) 2000-2005 Ivo Timmermans <zarq@iname.com>
2000-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: route.h 1374 2004-03-21 14:21:22Z guus $
$Id: route.h 1439 2005-05-04 18:09:30Z guus $
*/
#ifndef __TINC_ROUTE_H__

View file

@ -1,7 +1,7 @@
/*
device.c -- Interaction with Solaris tun device
Copyright (C) 2001-2004 Ivo Timmermans <ivo@tinc-vpn.org>,
2001-2004 Guus Sliepen <guus@tinc-vpn.org>
Copyright (C) 2001-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
2001-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: device.c 1412 2004-11-10 21:14:08Z guus $
$Id: device.c 1439 2005-05-04 18:09:30Z guus $
*/

View file

@ -1,7 +1,7 @@
/*
subnet.c -- handle subnet lookups and lists
Copyright (C) 2000-2004 Guus Sliepen <guus@tinc-vpn.org>,
2000-2004 Ivo Timmermans <ivo@tinc-vpn.org>
Copyright (C) 2000-2005 Guus Sliepen <guus@tinc-vpn.org>,
2000-2005 Ivo Timmermans <ivo@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -17,16 +17,18 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: subnet.c 1396 2004-11-01 15:16:12Z guus $
$Id: subnet.c 1439 2005-05-04 18:09:30Z guus $
*/
#include "system.h"
#include "avl_tree.h"
#include "device.h"
#include "logger.h"
#include "net.h"
#include "netutl.h"
#include "node.h"
#include "process.h"
#include "subnet.h"
#include "utils.h"
#include "xalloc.h"
@ -245,6 +247,11 @@ bool net2str(char *netstr, int len, const subnet_t *subnet)
{
cp();
if(!netstr || !subnet) {
logger(LOG_ERR, _("net2str() was called with netstr=%p, subnet=%p!\n"), netstr, subnet);
return false;
}
switch (subnet->type) {
case SUBNET_MAC:
snprintf(netstr, len, "%hx:%hx:%hx:%hx:%hx:%hx",
@ -385,6 +392,52 @@ subnet_t *lookup_subnet_ipv6(const ipv6_t *address)
return p;
}
void subnet_update(node_t *owner, subnet_t *subnet, bool up) {
avl_node_t *node;
int i;
char *envp[8];
char netstr[MAXNETSTR + 7] = "SUBNET=";
char *name, *address, *port;
asprintf(&envp[0], "NETNAME=%s", netname ? : "");
asprintf(&envp[1], "DEVICE=%s", device ? : "");
asprintf(&envp[2], "INTERFACE=%s", iface ? : "");
asprintf(&envp[3], "NODE=%s", owner->name);
if(owner != myself) {
sockaddr2str(&owner->address, &address, &port);
asprintf(&envp[4], "REMOTEADDRESS=%s", address);
asprintf(&envp[5], "REMOTEPORT=%s", port);
envp[6] = netstr;
envp[7] = NULL;
} else {
envp[4] = netstr;
envp[5] = NULL;
}
name = up ? "subnet-up" : "subnet-down";
if(!subnet) {
for(node = owner->subnet_tree->head; node; node = node->next) {
subnet = node->data;
if(!net2str(netstr + 7, sizeof netstr - 7, subnet))
continue;
execute_script(name, envp);
}
} else {
if(net2str(netstr + 7, sizeof netstr - 7, subnet))
execute_script(name, envp);
}
for(i = 0; i < (owner != myself ? 6 : 4); i++)
free(envp[i]);
if(owner != myself) {
free(address);
free(port);
}
}
void dump_subnets(void)
{
char netstr[MAXNETSTR];

View file

@ -1,7 +1,7 @@
/*
subnet.h -- header for subnet.c
Copyright (C) 2000-2004 Guus Sliepen <guus@tinc-vpn.org>,
2000-2004 Ivo Timmermans <ivo@tinc-vpn.org>
Copyright (C) 2000-2005 Guus Sliepen <guus@tinc-vpn.org>,
2000-2005 Ivo Timmermans <ivo@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: subnet.h 1374 2004-03-21 14:21:22Z guus $
$Id: subnet.h 1439 2005-05-04 18:09:30Z guus $
*/
#ifndef __TINC_SUBNET_H__
@ -74,6 +74,7 @@ extern avl_tree_t *new_subnet_tree(void) __attribute__ ((__malloc__));
extern void free_subnet_tree(avl_tree_t *);
extern void subnet_add(struct node_t *, subnet_t *);
extern void subnet_del(struct node_t *, subnet_t *);
extern void subnet_update(struct node_t *, subnet_t *, bool);
extern bool net2str(char *, int, const subnet_t *);
extern bool str2net(subnet_t *, const char *);
extern subnet_t *lookup_subnet(const struct node_t *, const subnet_t *);

View file

@ -1,7 +1,7 @@
/*
tincd.c -- the main file for tincd
Copyright (C) 1998-2004 Ivo Timmermans <ivo@tinc-vpn.org>
2000-2004 Guus Sliepen <guus@tinc-vpn.org>
Copyright (C) 1998-2005 Ivo Timmermans <ivo@tinc-vpn.org>
2000-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: tincd.c 1393 2004-10-01 18:23:08Z guus $
$Id: tincd.c 1439 2005-05-04 18:09:30Z guus $
*/
#include "system.h"
@ -407,7 +407,7 @@ int main(int argc, char **argv)
if(show_version) {
printf(_("%s version %s (built %s %s, protocol %d)\n"), PACKAGE,
VERSION, __DATE__, __TIME__, PROT_CURRENT);
printf(_("Copyright (C) 1998-2004 Ivo Timmermans, Guus Sliepen and others.\n"
printf(_("Copyright (C) 1998-2005 Ivo Timmermans, Guus Sliepen and others.\n"
"See the AUTHORS file for a complete list.\n\n"
"tinc comes with ABSOLUTELY NO WARRANTY. This is free software,\n"
"and you are welcome to redistribute it under certain conditions;\n"

View file

@ -1,7 +1,7 @@
/*
device.c -- UML network socket
Copyright (C) 2002-2004 Ivo Timmermans <ivo@tinc-vpn.org>,
2002-2004 Guus Sliepen <guus@tinc-vpn.org>
Copyright (C) 2002-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
2002-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by

View file

@ -1,7 +1,7 @@
/*
system.h -- system headers
Copyright (C) 1998-2004 Ivo Timmermans <ivo@tinc-vpn.org>
2003-2004 Guus Sliepen <guus@tinc-vpn.org>
Copyright (C) 1998-2005 Ivo Timmermans <ivo@tinc-vpn.org>
2003-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by