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 Installation Instructions
Foundation, Inc. *************************
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. unlimited permission to copy, distribute and modify it.
Basic Installation Basic Installation
================== ==================
These are generic installation instructions. These are generic installation instructions.
The `configure' shell script attempts to guess correct values for The `configure' shell script attempts to guess correct values for
various system-dependent variables used during compilation. It uses various system-dependent variables used during compilation. It uses
@ -67,9 +70,9 @@ The simplest way to compile this package is:
Compilers and Options Compilers and Options
===================== =====================
Some systems require unusual options for compilation or linking that Some systems require unusual options for compilation or linking that the
the `configure' script does not know about. Run `./configure --help' `configure' script does not know about. Run `./configure --help' for
for details on some of the pertinent environment variables. details on some of the pertinent environment variables.
You can give `configure' initial values for configuration parameters You can give `configure' initial values for configuration parameters
by setting variables in the command line or in the environment. Here by setting variables in the command line or in the environment. Here
@ -82,7 +85,7 @@ is an example:
Compiling For Multiple Architectures 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 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 own directory. To do this, you must use a version of `make' that
supports the `VPATH' variable, such as GNU `make'. `cd' to the supports the `VPATH' variable, such as GNU `make'. `cd' to the
@ -99,19 +102,19 @@ for another architecture.
Installation Names 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 `/usr/local/bin', `/usr/local/man', etc. You can specify an
installation prefix other than `/usr/local' by giving `configure' the installation prefix other than `/usr/local' by giving `configure' the
option `--prefix=PATH'. option `--prefix=PREFIX'.
You can specify separate installation prefixes for You can specify separate installation prefixes for
architecture-specific files and architecture-independent files. If you architecture-specific files and architecture-independent files. If you
give `configure' the option `--exec-prefix=PATH', the package will use give `configure' the option `--exec-prefix=PREFIX', the package will
PATH as the prefix for installing programs and libraries. use PREFIX as the prefix for installing programs and libraries.
Documentation and other data files will still use the regular prefix. Documentation and other data files will still use the regular prefix.
In addition, if you use an unusual directory layout you can give 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 kinds of files. Run `configure --help' for a list of the directories
you can set and what kinds of files go in them. 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 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. `configure', where FEATURE indicates an optional part of the package.
They may also pay attention to `--with-PACKAGE' options, where 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 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 Specifying the System Type
========================== ==========================
There may be some features `configure' cannot figure out There may be some features `configure' cannot figure out automatically,
automatically, but needs to determine by the type of machine the package but needs to determine by the type of machine the package will run on.
will run on. Usually, assuming the package is built to be run on the Usually, assuming the package is built to be run on the _same_
_same_ architectures, `configure' can figure that out, but if it prints architectures, `configure' can figure that out, but if it prints a
a message saying it cannot guess the machine type, give it the message saying it cannot guess the machine type, give it the
`--build=TYPE' option. TYPE can either be a short name for the system `--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: type, such as `sun4', or a canonical name which has the form:
@ -167,9 +170,9 @@ eventually be run) with `--host=TYPE'.
Sharing Defaults Sharing Defaults
================ ================
If you want to set default values for `configure' scripts to share, If you want to set default values for `configure' scripts to share, you
you can create a site shell script called `config.site' that gives can create a site shell script called `config.site' that gives default
default values for variables like `CC', `cache_file', and `prefix'. values for variables like `CC', `cache_file', and `prefix'.
`configure' looks for `PREFIX/share/config.site' if it exists, then `configure' looks for `PREFIX/share/config.site' if it exists, then
`PREFIX/etc/config.site' if it exists. Or, you can set the `PREFIX/etc/config.site' if it exists. Or, you can set the
`CONFIG_SITE' environment variable to the location of the site script. `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 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 environment passed to `configure'. However, some packages may run
configure again during the build, and the customized values of these configure again during the build, and the customized values of these
variables may be lost. In order to avoid this problem, you should set 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 ./configure CC=/usr/local2/bin/gcc
will cause the specified gcc to be used as the C compiler (unless it is causes the specified `gcc' to be used as the C compiler (unless it is
overridden in the site shell script). 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' Invocation
====================== ======================
`configure' recognizes the following options to control how it `configure' recognizes the following options to control how it operates.
operates.
`--help' `--help'
`-h' `-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@ # @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 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 # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
@ -33,6 +33,7 @@ POST_INSTALL = :
NORMAL_UNINSTALL = : NORMAL_UNINSTALL = :
PRE_UNINSTALL = : PRE_UNINSTALL = :
POST_UNINSTALL = : POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@ host_triplet = @host@
DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in $(srcdir)/config.h.in \ $(srcdir)/Makefile.in $(srcdir)/config.h.in \
@ -150,6 +151,8 @@ am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__include = @am__include@ am__include = @am__include@
am__leading_dot = @am__leading_dot@ am__leading_dot = @am__leading_dot@
am__quote = @am__quote@ am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@ bindir = @bindir@
build = @build@ build = @build@
build_alias = @build_alias@ build_alias = @build_alias@
@ -245,7 +248,13 @@ uninstall-info-am:
# (which will cause the Makefiles to be regenerated when you run `make'); # (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line. # (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS): $(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; \ dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \ target=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; for subdir in $$list; do \ list='$(SUBDIRS)'; for subdir in $$list; do \
@ -257,7 +266,7 @@ $(RECURSIVE_TARGETS):
local_target="$$target"; \ local_target="$$target"; \
fi; \ fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ || eval $$failcom; \
done; \ done; \
if test "$$dot_seen" = "no"; then \ if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
@ -265,7 +274,13 @@ $(RECURSIVE_TARGETS):
mostlyclean-recursive clean-recursive distclean-recursive \ mostlyclean-recursive clean-recursive distclean-recursive \
maintainer-clean-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; \ dot_seen=no; \
case "$@" in \ case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
@ -286,7 +301,7 @@ maintainer-clean-recursive:
local_target="$$target"; \ local_target="$$target"; \
fi; \ fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ || eval $$failcom; \
done && test -z "$$fail" done && test -z "$$fail"
tags-recursive: tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \ list='$(SUBDIRS)'; for subdir in $$list; do \
@ -388,15 +403,17 @@ distdir: $(DISTFILES)
|| exit 1; \ || exit 1; \
fi; \ fi; \
done done
list='$(SUBDIRS)'; for subdir in $$list; do \ list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \ if test "$$subdir" = .; then :; else \
test -d "$(distdir)/$$subdir" \ test -d "$(distdir)/$$subdir" \
|| mkdir "$(distdir)/$$subdir" \ || $(mkdir_p) "$(distdir)/$$subdir" \
|| exit 1; \ || exit 1; \
distdir=`$(am__cd) $(distdir) && pwd`; \
top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
(cd $$subdir && \ (cd $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \ $(MAKE) $(AM_MAKEFLAGS) \
top_distdir="../$(top_distdir)" \ top_distdir="$$top_distdir" \
distdir="../$(distdir)/$$subdir" \ distdir="$$distdir/$$subdir" \
distdir) \ distdir) \
|| exit 1; \ || exit 1; \
fi; \ fi; \
@ -407,15 +424,15 @@ distdir: $(DISTFILES)
! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
|| chmod -R a+r $(distdir) || chmod -R a+r $(distdir)
dist-gzip: distdir dist-gzip: distdir
$(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) $(am__remove_distdir)
dist-bzip2: 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) $(am__remove_distdir)
dist-tarZ: distdir dist-tarZ: distdir
$(AMTAR) chof - $(distdir) | compress -c >$(distdir).tar.Z tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
$(am__remove_distdir) $(am__remove_distdir)
dist-shar: distdir dist-shar: distdir
@ -428,7 +445,7 @@ dist-zip: distdir
$(am__remove_distdir) $(am__remove_distdir)
dist dist-all: 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) $(am__remove_distdir)
# This target untars the dist file and tries a VPATH configuration. Then # This target untars the dist file and tries a VPATH configuration. Then
@ -437,11 +454,11 @@ dist dist-all: distdir
distcheck: dist distcheck: dist
case '$(DIST_ARCHIVES)' in \ case '$(DIST_ARCHIVES)' in \
*.tar.gz*) \ *.tar.gz*) \
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf - ;;\ GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
*.tar.bz2*) \ *.tar.bz2*) \
bunzip2 -c $(distdir).tar.bz2 | $(AMTAR) xf - ;;\ bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
*.tar.Z*) \ *.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(AMTAR) xf - ;;\ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
*.shar.gz*) \ *.shar.gz*) \
GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
*.zip*) \ *.zip*) \
@ -522,7 +539,7 @@ mostlyclean-generic:
clean-generic: clean-generic:
distclean-generic: distclean-generic:
-rm -f $(CONFIG_CLEAN_FILES) -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic: maintainer-clean-generic:
@echo "This command is intended for maintainers to use" @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 version 1.0.3 Nov 11 2004
* Show error message when failing to write a PID file. * 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. 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>, Ivo Timmermans <ivo@tinc-vpn.org>,
Guus Sliepen <guus@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 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. versions of tinc.

531
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 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
# Free Software Foundation, Inc. # 2005 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
@ -11,55 +11,32 @@
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE. # PARTICULAR PURPOSE.
# -*- Autoconf -*- # Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc.
# Copyright (C) 2002, 2003 Free Software Foundation, Inc. #
# Generated from amversion.in; do not edit by hand. # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# This program is free software; you can redistribute it and/or modify # with or without modifications, as long as this notice is preserved.
# 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
# AM_AUTOMAKE_VERSION(VERSION) # AM_AUTOMAKE_VERSION(VERSION)
# ---------------------------- # ----------------------------
# Automake X.Y traces this macro to ensure aclocal.m4 has been # Automake X.Y traces this macro to ensure aclocal.m4 has been
# generated from the m4 files accompanying Automake X.Y. # 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 # AM_SET_CURRENT_AUTOMAKE_VERSION
# ------------------------------- # -------------------------------
# Call AM_AUTOMAKE_VERSION so it can be traced. # Call AM_AUTOMAKE_VERSION so it can be traced.
# This function is AC_REQUIREd by AC_INIT_AUTOMAKE. # This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], 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. # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify # This file is free software; the Free Software Foundation
# it under the terms of the GNU General Public License as published by # gives unlimited permission to copy and/or distribute it,
# the Free Software Foundation; either version 2, or (at your option) # with or without modifications, as long as this notice is preserved.
# 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.
# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to # $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
@ -108,24 +85,14 @@ 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 # serial 7
# 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
# AM_CONDITIONAL(NAME, SHELL-CONDITION) # AM_CONDITIONAL(NAME, SHELL-CONDITION)
# ------------------------------------- # -------------------------------------
@ -145,30 +112,19 @@ else
fi fi
AC_CONFIG_COMMANDS_PRE( AC_CONFIG_COMMANDS_PRE(
[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
AC_MSG_ERROR([conditional "$1" was never defined. AC_MSG_ERROR([[conditional "$1" was never defined.
Usually this means the macro was only invoked conditionally.]) Usually this means the macro was only invoked conditionally.]])
fi])]) 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. # 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 # serial 8
# 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.
# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be # 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, # 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... # CC etc. in the Makefile, will ask for an AC_PROG_CC use...
# _AM_DEPENDENCIES(NAME) # _AM_DEPENDENCIES(NAME)
# ---------------------- # ----------------------
# See how the compiler implements dependency checking. # See how the compiler implements dependency checking.
@ -319,24 +274,14 @@ 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 #serial 3
# 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
# _AM_OUTPUT_DEPENDENCY_COMMANDS # _AM_OUTPUT_DEPENDENCY_COMMANDS
# ------------------------------ # ------------------------------
@ -355,27 +300,21 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
else else
continue continue
fi fi
grep '^DEP_FILES *= *[[^ @%:@]]' < "$mf" > /dev/null || continue # Extract the definition of DEPDIR, am__include, and am__quote
# Extract the definition of DEP_FILES from the Makefile without # from the Makefile without running `make'.
# running `make'.
DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
test -z "$DEPDIR" && continue 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 # When using ansi2knr, U may be empty or an underscore; expand it
U=`sed -n 's/^U = //p' < "$mf"` U=`sed -n 's/^U = //p' < "$mf"`
test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" # Find all dependency output files, they are included files with
# We invoke sed twice because it is the simplest approach to # $(DEPDIR) in their names. We invoke sed twice because it is the
# changing $(DEPDIR) to its actual value in the expansion. # simplest approach to changing $(DEPDIR) to its actual value in the
for file in `sed -n ' # expansion.
/^DEP_FILES = .*\\\\$/ { for file in `sed -n "
s/^DEP_FILES = // s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
:loop
s/\\\\$//
p
n
/\\\\$/ b loop
p
}
/^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \
sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
# Make sure the directory exists. # Make sure the directory exists.
test -f "$dirpart/$file" && continue test -f "$dirpart/$file" && continue
@ -403,28 +342,17 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
# 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 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
# your package does certain things. But this isn't really a big deal.
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
# Free Software Foundation, Inc. # 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 # serial 12
# 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, # This macro actually does too much. Some checks are only needed if
# but WITHOUT ANY WARRANTY; without even the implied warranty of # your package does certain things. But this isn't really a big deal.
# 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
# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
# AM_INIT_AUTOMAKE([OPTIONS]) # AM_INIT_AUTOMAKE([OPTIONS])
@ -482,7 +410,6 @@ AM_MISSING_PROG(AUTOCONF, autoconf)
AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
AM_MISSING_PROG(AUTOHEADER, autoheader) AM_MISSING_PROG(AUTOHEADER, autoheader)
AM_MISSING_PROG(MAKEINFO, makeinfo) AM_MISSING_PROG(MAKEINFO, makeinfo)
AM_MISSING_PROG(AMTAR, tar)
AM_PROG_INSTALL_SH AM_PROG_INSTALL_SH
AM_PROG_INSTALL_STRIP AM_PROG_INSTALL_STRIP
AC_REQUIRE([AM_PROG_MKDIR_P])dnl 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_AWK])dnl
AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl
AC_REQUIRE([AM_SET_LEADING_DOT])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],, _AM_IF_OPTION([no-dependencies],,
[AC_PROVIDE_IFELSE([AC_PROG_CC], [AC_PROVIDE_IFELSE([AC_PROG_CC],
[_AM_DEPENDENCIES(CC)], [_AM_DEPENDENCIES(CC)],
@ -525,51 +454,27 @@ for _am_header in $config_headers :; do
done done
echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) 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 # AM_PROG_INSTALL_SH
# ------------------ # ------------------
# Define $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_DEFUN([AM_PROG_INSTALL_SH],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
install_sh=${install_sh-"$am_aux_dir/install-sh"} install_sh=${install_sh-"$am_aux_dir/install-sh"}
AC_SUBST(install_sh)]) AC_SUBST(install_sh)])
# -*- Autoconf -*- # Copyright (C) 2003, 2005 Free Software Foundation, Inc.
# Copyright (C) 2003 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 # serial 2
# 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
# Check whether the underlying file-system supports filenames # Check whether the underlying file-system supports filenames
# with a leading dot. For instance MS-DOS doesn't. # with a leading dot. For instance MS-DOS doesn't.
@ -584,28 +489,17 @@ fi
rmdir .tst 2>/dev/null rmdir .tst 2>/dev/null
AC_SUBST([am__leading_dot])]) AC_SUBST([am__leading_dot])])
# Add --enable-maintainer-mode option to configure. # Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
# From Jim Meyering # 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. # 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 # serial 4
# 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
AC_DEFUN([AM_MAINTAINER_MODE], AC_DEFUN([AM_MAINTAINER_MODE],
[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) [AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
@ -626,24 +520,13 @@ 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 # serial 3
# 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
# AM_MAKE_INCLUDE() # AM_MAKE_INCLUDE()
# ----------------- # -----------------
@ -687,27 +570,16 @@ AC_MSG_RESULT([$_am_result])
rm -f confinc confmf 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. # serial 4
# 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
# AM_MISSING_PROG(NAME, PROGRAM) # AM_MISSING_PROG(NAME, PROGRAM)
# ------------------------------ # ------------------------------
@ -733,27 +605,16 @@ else
fi 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 # AM_PROG_MKDIR_P
# --------------- # ---------------
# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise. # 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 # Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories
# created by `make install' are always world readable, even if the # created by `make install' are always world readable, even if the
# installer happens to have an overly restrictive umask (e.g. 077). # installer happens to have an overly restrictive umask (e.g. 077).
@ -774,13 +635,21 @@ fi
# this.) # this.)
AC_DEFUN([AM_PROG_MKDIR_P], AC_DEFUN([AM_PROG_MKDIR_P],
[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then [if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
# Keeping the `.' argument allows $(mkdir_p) to be used without # We used to keeping the `.' as first argument, in order to
# argument. Indeed, we sometimes output rules like # allow $(mkdir_p) to be used without argument. As in
# $(mkdir_p) $(somedir) # $(mkdir_p) $(somedir)
# where $(somedir) is conditionally defined. # where $(somedir) is conditionally defined. However this is wrong
# (`test -n '$(somedir)' && $(mkdir_p) $(somedir)' is a more # for two reasons:
# expensive solution, as it forces Make to start a sub-shell.) # 1. if the package is installed by a user who cannot write `.'
mkdir_p='mkdir -p -- .' # 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 else
# On NextStep and OpenStep, the `mkdir' command does not # On NextStep and OpenStep, the `mkdir' command does not
# recognize any option. It will interpret all options as # recognize any option. It will interpret all options as
@ -801,24 +670,13 @@ 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 # serial 3
# 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
# _AM_MANGLE_OPTION(NAME) # _AM_MANGLE_OPTION(NAME)
# ----------------------- # -----------------------
@ -843,28 +701,16 @@ AC_DEFUN([_AM_SET_OPTIONS],
AC_DEFUN([_AM_IF_OPTION], AC_DEFUN([_AM_IF_OPTION],
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) [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. # serial 4
# 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
# AM_SANITY_CHECK # AM_SANITY_CHECK
# --------------- # ---------------
@ -907,25 +753,14 @@ Check your system clock])
fi fi
AC_MSG_RESULT(yes)]) 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 # 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 # One issue with vendor `install' (even GNU) is that you can't
# specify the program used to strip binaries. This is especially # specify the program used to strip binaries. This is especially
# annoying in cross-compiling environments, where the build's strip # annoying in cross-compiling environments, where the build's strip
@ -946,6 +781,102 @@ fi
INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
AC_SUBST([INSTALL_STRIP_PROGRAM])]) 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/aclocal-include.m4])
m4_include([m4/attribute.m4]) m4_include([m4/attribute.m4])
m4_include([m4/gettext.m4]) m4_include([m4/gettext.m4])

36
config.guess vendored
View file

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

39
config.sub vendored
View file

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

68
configure vendored
View file

@ -309,7 +309,7 @@ ac_includes_default="\
# include <unistd.h> # include <unistd.h>
#endif" #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='' ac_subst_files=''
# Initialize some variables set by options. # 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= ac_aux_dir=
for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
if test -f $ac_dir/install-sh; then 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 fi
if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
# Keeping the `.' argument allows $(mkdir_p) to be used without # We used to keeping the `.' as first argument, in order to
# argument. Indeed, we sometimes output rules like # allow $(mkdir_p) to be used without argument. As in
# $(mkdir_p) $(somedir) # $(mkdir_p) $(somedir)
# where $(somedir) is conditionally defined. # where $(somedir) is conditionally defined. However this is wrong
# (`test -n '$(somedir)' && $(mkdir_p) $(somedir)' is a more # for two reasons:
# expensive solution, as it forces Make to start a sub-shell.) # 1. if the package is installed by a user who cannot write `.'
mkdir_p='mkdir -p -- .' # 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 else
# On NextStep and OpenStep, the `mkdir' command does not # On NextStep and OpenStep, the `mkdir' command does not
# recognize any option. It will interpret all options as # recognize any option. It will interpret all options as
@ -1628,7 +1636,7 @@ fi
# Define the identity of the package. # Define the identity of the package.
PACKAGE=tinc PACKAGE=tinc
VERSION=1.0.3 VERSION=1.0.4
cat >>confdefs.h <<_ACEOF cat >>confdefs.h <<_ACEOF
@ -1656,9 +1664,6 @@ AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
AMTAR=${AMTAR-"${am_missing_run}tar"}
install_sh=${install_sh-"$am_aux_dir/install-sh"} install_sh=${install_sh-"$am_aux_dir/install-sh"}
# Installed binaries are usually stripped using `strip' when the user # 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 # We need awk for the "check" target. The system "awk" is bad on
# some platforms. # 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,@AUTOMAKE@,$AUTOMAKE,;t t
s,@AUTOHEADER@,$AUTOHEADER,;t t s,@AUTOHEADER@,$AUTOHEADER,;t t
s,@MAKEINFO@,$MAKEINFO,;t t s,@MAKEINFO@,$MAKEINFO,;t t
s,@AMTAR@,$AMTAR,;t t
s,@install_sh@,$install_sh,;t t s,@install_sh@,$install_sh,;t t
s,@STRIP@,$STRIP,;t t s,@STRIP@,$STRIP,;t t
s,@ac_ct_STRIP@,$ac_ct_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,@AWK@,$AWK,;t t
s,@SET_MAKE@,$SET_MAKE,;t t s,@SET_MAKE@,$SET_MAKE,;t t
s,@am__leading_dot@,$am__leading_dot,;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_TRUE@,$MAINTAINER_MODE_TRUE,;t t
s,@MAINTAINER_MODE_FALSE@,$MAINTAINER_MODE_FALSE,;t t s,@MAINTAINER_MODE_FALSE@,$MAINTAINER_MODE_FALSE,;t t
s,@MAINT@,$MAINT,;t t s,@MAINT@,$MAINT,;t t
@ -12621,27 +12635,21 @@ echo X"$mf" |
else else
continue continue
fi fi
grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue # Extract the definition of DEPDIR, am__include, and am__quote
# Extract the definition of DEP_FILES from the Makefile without # from the Makefile without running `make'.
# running `make'.
DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
test -z "$DEPDIR" && continue 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 # When using ansi2knr, U may be empty or an underscore; expand it
U=`sed -n 's/^U = //p' < "$mf"` U=`sed -n 's/^U = //p' < "$mf"`
test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" # Find all dependency output files, they are included files with
# We invoke sed twice because it is the simplest approach to # $(DEPDIR) in their names. We invoke sed twice because it is the
# changing $(DEPDIR) to its actual value in the expansion. # simplest approach to changing $(DEPDIR) to its actual value in the
for file in `sed -n ' # expansion.
/^DEP_FILES = .*\\\\$/ { for file in `sed -n "
s/^DEP_FILES = // s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
:loop
s/\\\\$//
p
n
/\\\\$/ b loop
p
}
/^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \
sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
# Make sure the directory exists. # Make sure the directory exists.
test -f "$dirpart/$file" && continue 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_PREREQ(2.59)
AC_INIT AC_INIT
AC_CONFIG_SRCDIR([src/tincd.c]) 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]) AC_CONFIG_HEADERS([config.h])
AM_MAINTAINER_MODE AM_MAINTAINER_MODE

65
depcomp
View file

@ -1,9 +1,9 @@
#! /bin/sh #! /bin/sh
# depcomp - compile a program generating dependencies as side-effects # 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 # 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 # it under the terms of the GNU General Public License as published by
@ -43,17 +43,18 @@ Environment variables:
depmode Dependency tracking mode. depmode Dependency tracking mode.
source Source file read by `PROGRAMS ARGS'. source Source file read by `PROGRAMS ARGS'.
object Object file output by `PROGRAMS ARGS'. object Object file output by `PROGRAMS ARGS'.
DEPDIR directory where to store dependencies.
depfile Dependency file to output. depfile Dependency file to output.
tmpdepfile Temporary file to use when outputing dependencies. tmpdepfile Temporary file to use when outputing dependencies.
libtool Whether libtool is used (yes/no). libtool Whether libtool is used (yes/no).
Report bugs to <bug-automake@gnu.org>. Report bugs to <bug-automake@gnu.org>.
EOF EOF
exit 0 exit $?
;; ;;
-v | --v*) -v | --v*)
echo "depcomp $scriptversion" echo "depcomp $scriptversion"
exit 0 exit $?
;; ;;
esac 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 echo "depcomp: Variables source, object and depmode must be set" 1>&2
exit 1 exit 1
fi 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/'`} tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
rm -f "$tmpdepfile" rm -f "$tmpdepfile"
@ -294,33 +287,43 @@ tru64)
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
if test "$libtool" = yes; then if test "$libtool" = yes; then
# Dependencies are output in .lo.d with libtool 1.4. # With Tru64 cc, shared objects can also be used to make a
# They are output in .o.d with libtool 1.5. # static library. This mecanism is used in libtool 1.4 series to
tmpdepfile1="$dir.libs/$base.lo.d" # handle both shared and static libraries in a single compilation.
tmpdepfile2="$dir.libs/$base.o.d" # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
tmpdepfile3="$dir.libs/$base.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 "$@" -Wc,-MD
else else
tmpdepfile1="$dir$base.o.d" tmpdepfile1=$dir$base.o.d
tmpdepfile2="$dir$base.d" tmpdepfile2=$dir$base.d
tmpdepfile3="$dir$base.d" tmpdepfile3=$dir$base.d
tmpdepfile4=$dir$base.d
"$@" -MD "$@" -MD
fi fi
stat=$? stat=$?
if test $stat -eq 0; then : if test $stat -eq 0; then :
else else
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
exit $stat exit $stat
fi fi
if test -f "$tmpdepfile1"; then for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
tmpdepfile="$tmpdepfile1" do
elif test -f "$tmpdepfile2"; then test -f "$tmpdepfile" && break
tmpdepfile="$tmpdepfile2" done
else
tmpdepfile="$tmpdepfile3"
fi
if test -f "$tmpdepfile"; then if test -f "$tmpdepfile"; then
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
# That's a tab and a space in the []. # 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@ # @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 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 # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
@ -32,6 +32,7 @@ POST_INSTALL = :
NORMAL_UNINSTALL = : NORMAL_UNINSTALL = :
PRE_UNINSTALL = : PRE_UNINSTALL = :
POST_UNINSTALL = : POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@ host_triplet = @host@
subdir = doc subdir = doc
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in texinfo.tex DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in texinfo.tex
@ -64,7 +65,8 @@ TEXI2PDF = $(TEXI2DVI) --pdf --batch
MAKEINFOHTML = $(MAKEINFO) --html MAKEINFOHTML = $(MAKEINFO) --html
AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS) AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS)
DVIPS = dvips DVIPS = dvips
am__installdirs = "$(DESTDIR)$(infodir)" "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(man8dir)" am__installdirs = "$(DESTDIR)$(infodir)" "$(DESTDIR)$(man5dir)" \
"$(DESTDIR)$(man8dir)"
man5dir = $(mandir)/man5 man5dir = $(mandir)/man5
man8dir = $(mandir)/man8 man8dir = $(mandir)/man8
NROFF = nroff NROFF = nroff
@ -146,6 +148,8 @@ am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__include = @am__include@ am__include = @am__include@
am__leading_dot = @am__leading_dot@ am__leading_dot = @am__leading_dot@
am__quote = @am__quote@ am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@ bindir = @bindir@
build = @build@ build = @build@
build_alias = @build_alias@ 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 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
tinc.info: tinc.texi tinc.info: tinc.texi
restore=: && \ restore=: && backupdir="$(am__leading_dot)am$$$$" && \
backupdir="$(am__leading_dot)am$$$$" && \
rm -rf $$backupdir && mkdir $$backupdir && \ 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 \ 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 \ if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \
mv $$f $$backupdir; \
restore=mv; \
fi; \
done; \ done; \
if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \ if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
-o $@ `test -f 'tinc.texi' || echo '$(srcdir)/'`tinc.texi; \ -o $@ `test -f 'tinc.texi' || echo '$(srcdir)/'`tinc.texi; \
@ -236,8 +236,7 @@ tinc.info: tinc.texi
rc=$$?; \ rc=$$?; \
$$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \ $$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \
fi; \ fi; \
rm -rf $$backupdir; \ rm -rf $$backupdir; exit $$rc
exit $$rc
tinc.dvi: tinc.texi tinc.dvi: tinc.texi
TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ 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 $(TEXI2PDF) -o $@ `test -f 'tinc.texi' || echo '$(srcdir)/'`tinc.texi
tinc.html: tinc.texi tinc.html: tinc.texi
$(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \ rm -rf $(@:.html=.htp)
-o $@ `test -f 'tinc.texi' || echo '$(srcdir)/'`tinc.texi if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
if test ! -d $@ && test -d $(@:.html=); then \ -o $(@:.html=.htp) `test -f 'tinc.texi' || echo '$(srcdir)/'`tinc.texi; \
mv $(@:.html=) $@; else :; fi 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: .dvi.ps:
$(DVIPS) -o $@ $< $(DVIPS) -o $@ $<
uninstall-info-am: uninstall-info-am:
$(PRE_UNINSTALL) @$(PRE_UNINSTALL)
@if (install-info --version && \ @if (install-info --version && \
install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \ install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
list='$(INFO_DEPS)'; \ list='$(INFO_DEPS)'; \
@ -274,7 +281,7 @@ uninstall-info-am:
relfile=`echo "$$file" | sed 's|^.*/||'`; \ relfile=`echo "$$file" | sed 's|^.*/||'`; \
relfile_i=`echo "$$relfile" | sed 's|\.info$$||;s|$$|.i|'`; \ relfile_i=`echo "$$relfile" | sed 's|\.info$$||;s|$$|.i|'`; \
(if cd "$(DESTDIR)$(infodir)"; then \ (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]; \ rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]; \
else :; fi); \ else :; fi); \
done done
@ -459,7 +466,7 @@ clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic: distclean-generic:
-rm -f $(CONFIG_CLEAN_FILES) -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic: maintainer-clean-generic:
@echo "This command is intended for maintainers to use" @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. % Load plain if necessary, i.e., if running under initex.
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi \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, % 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. % Foundation, Inc.
% %
% This texinfo.tex file is free software; you can redistribute it and/or % This texinfo.tex file is free software; you can redistribute it and/or
@ -89,10 +89,11 @@
\let\ptexhat=^ \let\ptexhat=^
\let\ptexi=\i \let\ptexi=\i
\let\ptexindent=\indent \let\ptexindent=\indent
\let\ptexnoindent=\noindent
\let\ptexinsert=\insert \let\ptexinsert=\insert
\let\ptexlbrace=\{ \let\ptexlbrace=\{
\let\ptexless=< \let\ptexless=<
\let\ptexnewwrite\newwrite
\let\ptexnoindent=\noindent
\let\ptexplus=+ \let\ptexplus=+
\let\ptexrbrace=\} \let\ptexrbrace=\}
\let\ptexslash=\/ \let\ptexslash=\/
@ -608,7 +609,7 @@
% The \TeX{} logo, as in plain, but resetting the spacing so that a % The \TeX{} logo, as in plain, but resetting the spacing so that a
% period following counts as ending a sentence. (Idea found in latex.) % 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{} 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 % 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. % Read toc silently, to get counts of subentries for \pdfoutline.
\def\numchapentry##1##2##3##4{% \def\numchapentry##1##2##3##4{%
\def\thischapnum{##2}% \def\thischapnum{##2}%
\let\thissecnum\empty \def\thissecnum{0}%
\let\thissubsecnum\empty \def\thissubsecnum{0}%
}% }%
\def\numsecentry##1##2##3##4{% \def\numsecentry##1##2##3##4{%
\advancenumber{chap\thischapnum}% \advancenumber{chap\thischapnum}%
\def\thissecnum{##2}% \def\thissecnum{##2}%
\let\thissubsecnum\empty \def\thissubsecnum{0}%
}% }%
\def\numsubsecentry##1##2##3##4{% \def\numsubsecentry##1##2##3##4{%
\advancenumber{sec\thissecnum}% \advancenumber{sec\thissecnum}%
@ -1257,9 +1258,9 @@ where each line of input produces a line of output.}
\def\numsubsubsecentry##1##2##3##4{% \def\numsubsubsecentry##1##2##3##4{%
\advancenumber{subsec\thissubsecnum}% \advancenumber{subsec\thissubsecnum}%
}% }%
\let\thischapnum\empty \def\thischapnum{0}%
\let\thissecnum\empty \def\thissecnum{0}%
\let\thissubsecnum\empty \def\thissubsecnum{0}%
% %
% use \def rather than \let here because we redefine \chapentry et % use \def rather than \let here because we redefine \chapentry et
% al. a second time, below. % 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\rm{\fam=0 \setfontstyle{rm}}
\def\it{\fam=\itfam \setfontstyle{it}} \def\it{\fam=\itfam \setfontstyle{it}}
\def\sl{\fam=\slfam \setfontstyle{sl}} \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}} \def\tt{\fam=\ttfam \setfontstyle{tt}}
% Texinfo sort of supports the sans serif font style, which plain TeX does not. % 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} \def\scbshape{csc}
% Text fonts (11.2pt, magstep1). % Text fonts (11.2pt, magstep1).
\newcount\mainmagstep \def\textnominalsize{11pt}
\ifx\bigger\relax \edef\mainmagstep{\magstephalf}
% not really supported. \setfont\textrm\rmshape{10}{\mainmagstep}
\mainmagstep=\magstep1 \setfont\texttt\ttshape{10}{\mainmagstep}
\setfont\textrm\rmshape{12}{1000}
\setfont\texttt\ttshape{12}{1000}
\else
\mainmagstep=\magstephalf
\setfont\textrm\rmshape{10}{\mainmagstep}
\setfont\texttt\ttshape{10}{\mainmagstep}
\fi
\setfont\textbf\bfshape{10}{\mainmagstep} \setfont\textbf\bfshape{10}{\mainmagstep}
\setfont\textit\itshape{10}{\mainmagstep} \setfont\textit\itshape{10}{\mainmagstep}
\setfont\textsl\slshape{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} \def\df{\let\tentt=\deftt \let\tenbf = \defbf \let\tenttsl=\defttsl \bf}
% Fonts for indices, footnotes, small examples (9pt). % Fonts for indices, footnotes, small examples (9pt).
\def\smallnominalsize{9pt}
\setfont\smallrm\rmshape{9}{1000} \setfont\smallrm\rmshape{9}{1000}
\setfont\smalltt\ttshape{9}{1000} \setfont\smalltt\ttshape{9}{1000}
\setfont\smallbf\bfshape{10}{900} \setfont\smallbf\bfshape{10}{900}
@ -1507,6 +1502,7 @@ where each line of input produces a line of output.}
\font\smallsy=cmsy9 \font\smallsy=cmsy9
% Fonts for small examples (8pt). % Fonts for small examples (8pt).
\def\smallernominalsize{8pt}
\setfont\smallerrm\rmshape{8}{1000} \setfont\smallerrm\rmshape{8}{1000}
\setfont\smallertt\ttshape{8}{1000} \setfont\smallertt\ttshape{8}{1000}
\setfont\smallerbf\bfshape{10}{800} \setfont\smallerbf\bfshape{10}{800}
@ -1519,6 +1515,7 @@ where each line of input produces a line of output.}
\font\smallersy=cmsy8 \font\smallersy=cmsy8
% Fonts for title page (20.4pt): % Fonts for title page (20.4pt):
\def\titlenominalsize{20pt}
\setfont\titlerm\rmbshape{12}{\magstep3} \setfont\titlerm\rmbshape{12}{\magstep3}
\setfont\titleit\itbshape{10}{\magstep4} \setfont\titleit\itbshape{10}{\magstep4}
\setfont\titlesl\slbshape{10}{\magstep4} \setfont\titlesl\slbshape{10}{\magstep4}
@ -1533,6 +1530,7 @@ where each line of input produces a line of output.}
\def\authortt{\sectt} \def\authortt{\sectt}
% Chapter (and unnumbered) fonts (17.28pt). % Chapter (and unnumbered) fonts (17.28pt).
\def\chapnominalsize{17pt}
\setfont\chaprm\rmbshape{12}{\magstep2} \setfont\chaprm\rmbshape{12}{\magstep2}
\setfont\chapit\itbshape{10}{\magstep3} \setfont\chapit\itbshape{10}{\magstep3}
\setfont\chapsl\slbshape{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 \font\chapsy=cmsy10 scaled \magstep3
% Section fonts (14.4pt). % Section fonts (14.4pt).
\def\secnominalsize{14pt}
\setfont\secrm\rmbshape{12}{\magstep1} \setfont\secrm\rmbshape{12}{\magstep1}
\setfont\secit\itbshape{10}{\magstep2} \setfont\secit\itbshape{10}{\magstep2}
\setfont\secsl\slbshape{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 \font\secsy=cmsy10 scaled \magstep2
% Subsection fonts (13.15pt). % Subsection fonts (13.15pt).
\def\ssecnominalsize{13pt}
\setfont\ssecrm\rmbshape{12}{\magstephalf} \setfont\ssecrm\rmbshape{12}{\magstephalf}
\setfont\ssecit\itbshape{10}{1315} \setfont\ssecit\itbshape{10}{1315}
\setfont\ssecsl\slbshape{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 \font\ssecsy=cmsy10 scaled 1315
% Reduced fonts for @acro in text (10pt). % Reduced fonts for @acro in text (10pt).
\def\reducednominalsize{10pt}
\setfont\reducedrm\rmshape{10}{1000} \setfont\reducedrm\rmshape{10}{1000}
\setfont\reducedtt\ttshape{10}{1000} \setfont\reducedtt\ttshape{10}{1000}
\setfont\reducedbf\bfshape{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\tenbf=\textbf \let\tentt=\texttt \let\smallcaps=\textsc
\let\tensf=\textsf \let\teni=\texti \let\tensy=\textsy \let\tensf=\textsf \let\teni=\texti \let\tensy=\textsy
\let\tenttsl=\textttsl \let\tenttsl=\textttsl
\def\curfontsize{text}%
\def\lsize{reduced}\def\lllsize{smaller}% \def\lsize{reduced}\def\lllsize{smaller}%
\resetmathfonts \setleading{\textleading}} \resetmathfonts \setleading{\textleading}}
\def\titlefonts{% \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\tenbf=\titlebf \let\tentt=\titlett \let\smallcaps=\titlesc
\let\tensf=\titlesf \let\teni=\titlei \let\tensy=\titlesy \let\tensf=\titlesf \let\teni=\titlei \let\tensy=\titlesy
\let\tenttsl=\titlettsl \let\tenttsl=\titlettsl
\def\curfontsize{title}%
\def\lsize{chap}\def\lllsize{subsec}% \def\lsize{chap}\def\lllsize{subsec}%
\resetmathfonts \setleading{25pt}} \resetmathfonts \setleading{25pt}}
\def\titlefont#1{{\titlefonts\rm #1}} \def\titlefont#1{{\titlefonts\rm #1}}
\def\chapfonts{% \def\chapfonts{%
\let\tenrm=\chaprm \let\tenit=\chapit \let\tensl=\chapsl \let\tenrm=\chaprm \let\tenit=\chapit \let\tensl=\chapsl
\let\tenbf=\chapbf \let\tentt=\chaptt \let\smallcaps=\chapsc \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}% \def\lsize{sec}\def\lllsize{text}%
\resetmathfonts \setleading{19pt}} \resetmathfonts \setleading{19pt}}
\def\secfonts{% \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\tenbf=\secbf \let\tentt=\sectt \let\smallcaps=\secsc
\let\tensf=\secsf \let\teni=\seci \let\tensy=\secsy \let\tensf=\secsf \let\teni=\seci \let\tensy=\secsy
\let\tenttsl=\secttsl \let\tenttsl=\secttsl
\def\curfontsize{sec}%
\def\lsize{subsec}\def\lllsize{reduced}% \def\lsize{subsec}\def\lllsize{reduced}%
\resetmathfonts \setleading{16pt}} \resetmathfonts \setleading{16pt}}
\def\subsecfonts{% \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\tenbf=\ssecbf \let\tentt=\ssectt \let\smallcaps=\ssecsc
\let\tensf=\ssecsf \let\teni=\sseci \let\tensy=\ssecsy \let\tensf=\ssecsf \let\teni=\sseci \let\tensy=\ssecsy
\let\tenttsl=\ssecttsl \let\tenttsl=\ssecttsl
\def\curfontsize{ssec}%
\def\lsize{text}\def\lllsize{small}% \def\lsize{text}\def\lllsize{small}%
\resetmathfonts \setleading{15pt}} \resetmathfonts \setleading{15pt}}
\let\subsubsecfonts = \subsecfonts \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\tenbf=\reducedbf \let\tentt=\reducedtt \let\reducedcaps=\reducedsc
\let\tensf=\reducedsf \let\teni=\reducedi \let\tensy=\reducedsy \let\tensf=\reducedsf \let\teni=\reducedi \let\tensy=\reducedsy
\let\tenttsl=\reducedttsl \let\tenttsl=\reducedttsl
\def\curfontsize{reduced}%
\def\lsize{small}\def\lllsize{smaller}% \def\lsize{small}\def\lllsize{smaller}%
\resetmathfonts \setleading{10.5pt}} \resetmathfonts \setleading{10.5pt}}
\def\smallfonts{% \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\tenbf=\smallbf \let\tentt=\smalltt \let\smallcaps=\smallsc
\let\tensf=\smallsf \let\teni=\smalli \let\tensy=\smallsy \let\tensf=\smallsf \let\teni=\smalli \let\tensy=\smallsy
\let\tenttsl=\smallttsl \let\tenttsl=\smallttsl
\def\curfontsize{small}%
\def\lsize{smaller}\def\lllsize{smaller}% \def\lsize{smaller}\def\lllsize{smaller}%
\resetmathfonts \setleading{10.5pt}} \resetmathfonts \setleading{10.5pt}}
\def\smallerfonts{% \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\tenbf=\smallerbf \let\tentt=\smallertt \let\smallcaps=\smallersc
\let\tensf=\smallersf \let\teni=\smalleri \let\tensy=\smallersy \let\tensf=\smallersf \let\teni=\smalleri \let\tensy=\smallersy
\let\tenttsl=\smallerttsl \let\tenttsl=\smallerttsl
\def\curfontsize{smaller}%
\def\lsize{smaller}\def\lllsize{smaller}% \def\lsize{smaller}\def\lllsize{smaller}%
\resetmathfonts \setleading{9.5pt}} \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} \def\cite#1{{\sl #1}\futurelet\next\smartitalicx}
\let\i=\smartitalic \let\i=\smartitalic
\let\slanted=\smartslanted
\let\var=\smartslanted \let\var=\smartslanted
\let\dfn=\smartslanted \let\dfn=\smartslanted
\let\emph=\smartitalic \let\emph=\smartitalic
% @b, explicit bold.
\def\b#1{{\bf #1}} \def\b#1{{\bf #1}}
\let\strong=\b \let\strong=\b
% @sansserif, explicit sans.
\def\sansserif#1{{\sf #1}}
% We can't just use \exhyphenpenalty, because that only has effect at % 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 % the end of a paragraph. Restore normal hyphenation at the end of the
% group within which \nohyphenation is presumably called. % 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\sc#1{{\smallcaps#1}} % smallcaps font
\def\ii#1{{\it #1}} % italic 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\acronym#1{\doacronym #1,,\finish}
\def\doacronym#1,#2,#3\finish{% \def\doacronym#1,#2,#3\finish{%
{\selectfonts\lsize #1}% {\selectfonts\lsize #1}%
@ -1938,10 +1957,70 @@ where each line of input produces a line of output.}
\fi \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\$}} \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 % @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. % be smaller yet, but lllsize is the best we can do for now.
% Adapted from the plain.tex definition of \copyright. % 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. % \parskip glue -- logically it's part of the @item we just started.
\nobreak \vskip-\parskip \nobreak \vskip-\parskip
% %
% Stop a page break at the \parskip glue coming up. (Unfortunately % Stop a page break at the \parskip glue coming up. However, if
% we can't prevent a possible page break at the following % what follows is an environment such as @example, there will be no
% \baselineskip glue.) However, if what follows is an environment % \parskip glue; then the negative vskip we just inserted would
% such as @example, there will be no \parskip glue; then % cause the example and the item to crash together. So we use this
% the negative vskip we just would cause the example and the item to % bizarre value of 10001 as a signal to \aboveenvbreak to insert
% crash together. So we use this bizarre value of 10001 as a signal % \parskip glue after all. Section titles are handled this way also.
% 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...)
\penalty 10001 \penalty 10001
\endgroup \endgroup
\itemxneedsnegativevskipfalse \itemxneedsnegativevskipfalse
@ -2301,15 +2376,26 @@ where each line of input produces a line of output.}
% @table, @ftable, @vtable. % @table, @ftable, @vtable.
\envdef\table{% \envdef\table{%
\let\itemindex\gobble \let\itemindex\gobble
\tablex \tablecheck{table}%
} }
\envdef\ftable{% \envdef\ftable{%
\def\itemindex ##1{\doind {fn}{\code{##1}}}% \def\itemindex ##1{\doind {fn}{\code{##1}}}%
\tablex \tablecheck{ftable}%
} }
\envdef\vtable{% \envdef\vtable{%
\def\itemindex ##1{\doind {vr}{\code{##1}}}% \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\tablex#1{%
\def\itemindicate{#1}% \def\itemindicate{#1}%
@ -2620,7 +2706,10 @@ where each line of input produces a line of output.}
\startsavinginserts \startsavinginserts
% %
% @item within a multitable starts a normal row. % @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 \tolerance=9500
\hbadness=9500 \hbadness=9500
@ -2705,19 +2794,17 @@ where each line of input produces a line of output.}
\global\setpercentfalse \global\setpercentfalse
} }
\def\setmultitablespacing{% test to see if user has set \multitablelinespace. \def\setmultitablespacing{%
% If so, do nothing. If not, give it an appropriate dimension based on \def\multistrut{\strut}% just use the standard line spacing
% current baselineskip. %
% 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 \ifdim\multitablelinespace=0pt
\setbox0=\vbox{X}\global\multitablelinespace=\the\baselineskip \setbox0=\vbox{X}\global\multitablelinespace=\the\baselineskip
\global\advance\multitablelinespace by-\ht0 \global\advance\multitablelinespace by-\ht0
%% strut to put in table in case some entry doesn't have descenders, \fi
%% 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
%% Test to see if parskip is larger than space between lines of %% Test to see if parskip is larger than space between lines of
%% table. If not, do nothing. %% table. If not, do nothing.
%% If so, set to same dimension as multitablelinespace. %% If so, set to same dimension as multitablelinespace.
@ -2786,14 +2873,14 @@ width0pt\relax} \fi
\doignorecount = 0 \doignorecount = 0
% %
% Swallow text until we reach the matching `@end #1'. % 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. { \catcode`_=11 % We want to use \_STOP_ which cannot appear in texinfo source.
\obeylines % \obeylines %
% %
\gdef\dodoignore#1{% \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 % Define a command to find the next `@end #1', which must be on a line
% by itself. % by itself.
@ -2947,9 +3034,8 @@ width0pt\relax} \fi
% Index generation facilities % Index generation facilities
% Define \newwrite to be identical to plain tex's \newwrite % Define \newwrite to be identical to plain tex's \newwrite
% except not \outer, so it can be used within \newindex. % except not \outer, so it can be used within macros and \if's.
{\catcode`\@=11 \edef\newwrite{\makecsname{ptexnewwrite}}
\gdef\newwrite{\alloc@7\write\chardef\sixt@@n}}
% \newindex {foo} defines an index named foo. % \newindex {foo} defines an index named foo.
% It automatically defines \fooindex such that % It automatically defines \fooindex such that
@ -3134,12 +3220,14 @@ width0pt\relax} \fi
% %
% Assorted special characters. % Assorted special characters.
\definedummyword{bullet}% \definedummyword{bullet}%
\definedummyword{comma}%
\definedummyword{copyright}% \definedummyword{copyright}%
\definedummyword{registeredsymbol}% \definedummyword{registeredsymbol}%
\definedummyword{dots}% \definedummyword{dots}%
\definedummyword{enddots}% \definedummyword{enddots}%
\definedummyword{equiv}% \definedummyword{equiv}%
\definedummyword{error}% \definedummyword{error}%
\definedummyword{euro}%
\definedummyword{expansion}% \definedummyword{expansion}%
\definedummyword{minus}% \definedummyword{minus}%
\definedummyword{pounds}% \definedummyword{pounds}%
@ -3271,12 +3359,14 @@ width0pt\relax} \fi
% Assorted special characters. % Assorted special characters.
% (The following {} will end up in the sort string, but that's ok.) % (The following {} will end up in the sort string, but that's ok.)
\def\bullet{bullet}% \def\bullet{bullet}%
\def\comma{,}%
\def\copyright{copyright}% \def\copyright{copyright}%
\def\registeredsymbol{R}% \def\registeredsymbol{R}%
\def\dots{...}% \def\dots{...}%
\def\enddots{...}% \def\enddots{...}%
\def\equiv{==}% \def\equiv{==}%
\def\error{error}% \def\error{error}%
\def\euro{euro}%
\def\expansion{==>}% \def\expansion{==>}%
\def\minus{-}% \def\minus{-}%
\def\pounds{pounds}% \def\pounds{pounds}%
@ -3406,17 +3496,18 @@ width0pt\relax} \fi
\dosubindwrite \dosubindwrite
% %
\ifx\lastskipmacro\zeroskipmacro \ifx\lastskipmacro\zeroskipmacro
% if \lastskip was zero, perhaps the last item was a % If \lastskip was zero, perhaps the last item was a penalty, and
% penalty, and perhaps it was >=10000, e.g., a \nobreak. % perhaps it was >=10000, e.g., a \nobreak. In that case, we want
% In that case, we want to re-insert the penalty; since we % to re-insert the same penalty (values >10000 are used for various
% just inserted a non-discardable item, any following glue % signals); since we just inserted a non-discardable item, any
% (such as a \parskip) would be a breakpoint. For example: % following glue (such as a \parskip) would be a breakpoint. For example:
%
% @deffn deffn-whatever % @deffn deffn-whatever
% @vindex index-whatever % @vindex index-whatever
% Description. % Description.
% would allow a break between the index-whatever whatsit % would allow a break between the index-whatever whatsit
% and the "Description." paragraph. % and the "Description." paragraph.
\ifnum\count255>9999 \nobreak \fi \ifnum\count255>9999 \penalty\count255 \fi
\else \else
% On the other hand, if we had a nonzero \lastskip, % On the other hand, if we had a nonzero \lastskip,
% this make-up glue would be preceded by a non-discardable item % this make-up glue would be preceded by a non-discardable item
@ -3514,7 +3605,10 @@ width0pt\relax} \fi
\removelastskip \removelastskip
% %
% We like breaks before the index initials, so insert a bonus. % 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 % Typeset the initial. Making this add up to a whole number of
% baselineskips increases the chance of the dots lining up from column % baselineskips increases the chance of the dots lining up from column
@ -3524,10 +3618,9 @@ width0pt\relax} \fi
% No shrink because it confuses \balancecolumns. % No shrink because it confuses \balancecolumns.
\vskip 1.67\baselineskip plus .5\baselineskip \vskip 1.67\baselineskip plus .5\baselineskip
\leftline{\secbf #1}% \leftline{\secbf #1}%
\vskip .33\baselineskip plus .1\baselineskip
%
% Do our best not to break after the initial. % Do our best not to break after the initial.
\nobreak \nobreak
\vskip .33\baselineskip plus .1\baselineskip
}} }}
% \entry typesets a paragraph consisting of the text (#1), dot leaders, and % \entry typesets a paragraph consisting of the text (#1), dot leaders, and
@ -4196,11 +4289,11 @@ width0pt\relax} \fi
\ifx\temptype\Ynothingkeyword \ifx\temptype\Ynothingkeyword
\setbox0 = \hbox{}% \setbox0 = \hbox{}%
\def\toctype{unnchap}% \def\toctype{unnchap}%
\def\thischapter{#1}% \gdef\thischapter{#1}%
\else\ifx\temptype\Yomitfromtockeyword \else\ifx\temptype\Yomitfromtockeyword
\setbox0 = \hbox{}% contents like unnumbered, but no toc entry \setbox0 = \hbox{}% contents like unnumbered, but no toc entry
\def\toctype{omit}% \def\toctype{omit}%
\xdef\thischapter{}% \gdef\thischapter{}%
\else\ifx\temptype\Yappendixkeyword \else\ifx\temptype\Yappendixkeyword
\setbox0 = \hbox{\putwordAppendix{} #3\enspace}% \setbox0 = \hbox{\putwordAppendix{} #3\enspace}%
\def\toctype{app}% \def\toctype{app}%
@ -4349,13 +4442,13 @@ width0pt\relax} \fi
% discardable item.) % discardable item.)
\vskip-\parskip \vskip-\parskip
% %
% This \nobreak is purely so the last item on the list is a \penalty % This is purely so the last item on the list is a known \penalty >
% of 10000. This is so other code, for instance \parsebodycommon, can % 10000. This is so \startdefun can avoid allowing breakpoints after
% check for and avoid allowing breakpoints. Otherwise, it would % section headings. Otherwise, it would insert a valid breakpoint between:
% insert a valid breakpoint between: %
% @section sec-whatever % @section sec-whatever
% @deffn def-whatever % @deffn def-whatever
\nobreak \penalty 10001
} }
@ -4700,7 +4793,8 @@ width0pt\relax} \fi
% start of the next paragraph will insert \parskip. % start of the next paragraph will insert \parskip.
% %
\def\aboveenvbreak{{% \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 \ifnum \lastpenalty=10000 \else
\advance\envskipamount by \parskip \advance\envskipamount by \parskip
\endgraf \endgraf
@ -5061,8 +5155,7 @@ width0pt\relax} \fi
} }
% @copying ... @end copying. % @copying ... @end copying.
% Save the text away for @insertcopying later. Many commands won't be % Save the text away for @insertcopying later.
% allowed in this context, but that's ok.
% %
% We save the uninterpreted tokens, rather than creating a box. % We save the uninterpreted tokens, rather than creating a box.
% Saving the text in a box would be much easier, but then all the % 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 % file; b) letting users define the frontmatter in as flexible order as
% possible is very desirable. % possible is very desirable.
% %
\def\copying{\begingroup \def\copying{\checkenv{}\begingroup\scanargctxt\docopying}
% Define a command to swallow text until we reach `@end copying'. \def\docopying#1@end copying{\endgroup\def\copyingtext{#1}}
% \ 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\enddocopying{\endgroup\ignorespaces} \def\insertcopying{%
\begingroup
% @insertcopying. Here we must play games with ^^M's. On the one hand, \parindent = 0pt % paragraph indentation looks wrong on title page
% we need them to delimit commands such as `@end quotation', so they \scanexp\copyingtext
% must be active. On the other hand, we certainly don't want every \endgroup
% 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}%
} }
\message{defuns,} \message{defuns,}
@ -5144,10 +5189,11 @@ width0pt\relax} \fi
% If there are two @def commands in a row, we'll have a \nobreak, % 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 % which is there to keep the function description together with its
% header. But if there's nothing but headers, we need to allow a % header. But if there's nothing but headers, we need to allow a
% break somewhere. Check for penalty 10002 (inserted by % break somewhere. Check specifically for penalty 10002, inserted
% \defargscommonending) instead of 10000, since the sectioning % by \defargscommonending, instead of 10000, since the sectioning
% commands insert a \penalty10000, and we don't want to allow a break % commands also insert a nobreak penalty, and we don't want to allow
% between a section heading and a defun. % a break between a section heading and a defun.
%
\ifnum\lastpenalty=10002 \penalty2000 \fi \ifnum\lastpenalty=10002 \penalty2000 \fi
% %
% Similarly, after a section heading, do not allow a break. % Similarly, after a section heading, do not allow a break.
@ -5471,7 +5517,7 @@ width0pt\relax} \fi
\ifx\eTeXversion\undefined \ifx\eTeXversion\undefined
\newwrite\macscribble \newwrite\macscribble
\def\scantokens#1{% \def\scantokens#1{%
\toks0={#1\endinput}% \toks0={#1}%
\immediate\openout\macscribble=\jobname.tmp \immediate\openout\macscribble=\jobname.tmp
\immediate\write\macscribble{\the\toks0}% \immediate\write\macscribble{\the\toks0}%
\immediate\closeout\macscribble \immediate\closeout\macscribble
@ -5484,7 +5530,11 @@ width0pt\relax} \fi
\newlinechar`\^^M \newlinechar`\^^M
\let\xeatspaces\eatspaces \let\xeatspaces\eatspaces
% Undo catcode changes of \startcontents and \doprintindex % 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 % ... and \example
\spaceisspace \spaceisspace
% %
@ -5496,6 +5546,11 @@ width0pt\relax} \fi
\endgroup \endgroup
} }
\def\scanexp#1{%
\edef\temp{\noexpand\scanmacro{#1}}%
\temp
}
\newcount\paramno % Count of parameters \newcount\paramno % Count of parameters
\newtoks\macname % Macro name \newtoks\macname % Macro name
\newif\ifrecursive % Is it recursive? \newif\ifrecursive % Is it recursive?
@ -5503,13 +5558,15 @@ width0pt\relax} \fi
% \do\macro1\do\macro2... % \do\macro1\do\macro2...
% Utility routines. % 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{% \def\cslet#1#2{%
\expandafter\expandafter \expandafter\let
\expandafter\let \csname#1\expandafter\endcsname
\expandafter\expandafter \csname#2\endcsname
\csname#1\endcsname }
\csname#2\endcsname}
% Trim leading and trailing spaces off a string. % Trim leading and trailing spaces off a string.
% Concepts from aro-bend problem 15 (see CTAN). % 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 % done by making ^^M (\endlinechar) catcode 12 when reading the macro
% body, and then making it the \newlinechar in \scanmacro. % body, and then making it the \newlinechar in \scanmacro.
\def\macrobodyctxt{% \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
\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`\}=\other
\catcode`\@=\other
\catcode`\^^M=\other \catcode`\^^M=\other
\usembodybackslash} \usembodybackslash
}
\def\macroargctxt{% \def\macroargctxt{%
\catcode`\~=\other \scanctxt
\catcode`\^=\other \catcode`\\=\other
\catcode`\_=\other }
\catcode`\|=\other
\catcode`\<=\other
\catcode`\>=\other
\catcode`\+=\other
\catcode`\@=\other
\catcode`\\=\other}
% \mbodybackslash is the definition of \ in @macro bodies. % \mbodybackslash is the definition of \ in @macro bodies.
% It maps \foo\ => \csname macarg.foo\endcsname => #N % It maps \foo\ => \csname macarg.foo\endcsname => #N
@ -6365,11 +6428,14 @@ width0pt\relax} \fi
\endgroup} \endgroup}
% @float FLOATTYPE,LOC ... @end float for displayed figures, tables, etc. % @float FLOATTYPE,LABEL,LOC ... @end float for displayed figures, tables,
% We don't actually implement floating yet, we just plop the float "here". % etc. We don't actually implement floating yet, we always include the
% But it seemed the best name for the future. % 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 % #1 is the optional FLOATTYPE, the text label for this float, typically
% "Figure", "Table", "Example", etc. Can't contain commas. If omitted, % "Figure", "Table", "Example", etc. Can't contain commas. If omitted,
@ -6390,6 +6456,10 @@ width0pt\relax} \fi
\let\thisshortcaption=\empty \let\thisshortcaption=\empty
% %
% don't lose footnotes inside @float. % 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 \startsavinginserts
% %
% We can't be used inside a paragraph. % We can't be used inside a paragraph.
@ -6474,7 +6544,7 @@ width0pt\relax} \fi
\fi \fi
% %
% caption text. % caption text.
\appendtomacro\captionline\thiscaption \appendtomacro\captionline{\scanexp\thiscaption}%
\fi \fi
% %
% If we have anything to print, print it, with space before. % If we have anything to print, print it, with space before.
@ -6482,6 +6552,9 @@ width0pt\relax} \fi
\ifx\captionline\empty \else \ifx\captionline\empty \else
\vskip.5\parskip \vskip.5\parskip
\captionline \captionline
%
% Space below caption.
\vskip\parskip
\fi \fi
% %
% If have an xref label, write the list of floats info. Do this % 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. % caption if specified, else the full caption if specified, else nothing.
{% {%
\atdummies \turnoffactive \otherbackslash \atdummies \turnoffactive \otherbackslash
\immediate\write\auxfile{@xrdef{\floatlabel-lof}{% % since we read the caption text in the macro world, where ^^M
\floatident % 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 \ifx\thisshortcaption\empty
\ifx\thiscaption\empty \else : \thiscaption \fi \thiscaption
\else \else
: \thisshortcaption \thisshortcaption
\fi \fi
}}% }%
}%
\immediate\write\auxfile{@xrdef{\floatlabel-lof}{\floatident
\ifx\gtemp\empty \else : \gtemp \fi}}%
}% }%
\fi \fi
%
% Space below caption, if we printed anything.
\ifx\printedsomething\empty \else \vskip\parskip \fi
\egroup % end of \vtop \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 \checkinserts
} }
% Append the tokens #2 to the definition of macro #1, not expanding either. % Append the tokens #2 to the definition of macro #1, not expanding either.
% %
\newtoks\appendtomacroAtoks
\newtoks\appendtomacroBtoks
\def\appendtomacro#1#2{% \def\appendtomacro#1#2{%
\appendtomacroAtoks = \expandafter{#1}% \expandafter\def\expandafter#1\expandafter{#1#2}%
\appendtomacroBtoks = {#2}%
\edef#1{\the\appendtomacroAtoks \the\appendtomacroBtoks}%
} }
% @caption, @shortcaption are easy. % @caption, @shortcaption
% %
\long\def\caption#1{\checkenv\float \def\thiscaption{#1}} \def\caption{\docaption\thiscaption}
\def\shortcaption#1{\checkenv\float \def\thisshortcaption{#1}} \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 % 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. % 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 This script is started when the tinc daemon with name
.Ar HOST .Ar HOST
becomes unreachable. 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 .El
.Pp .Pp
The scripts are started without command line arguments, but can make use of certain environment variables. 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 . .Pa ifconfig .
.It Ev NODE .It Ev 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.
.It Ev REMOTEADDRESS .It Ev REMOTEADDRESS
When a host becomes (un)reachable, this is set to its real address. When a host becomes (un)reachable, this is set to its real address.
.It Ev REMOTEPORT .It Ev REMOTEPORT
When a host becomes (un)reachable, this is set to the port number it uses for communication with other tinc daemons. 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 .El
.Sh FILES .Sh FILES
The most important files are: The most important files are:

View file

@ -5,13 +5,13 @@ START-INFO-DIR-ENTRY
* tinc: (tinc). The tinc Manual. * tinc: (tinc). The tinc Manual.
END-INFO-DIR-ENTRY 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. 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>. 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 Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are 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 This script is started when the tinc daemon with name HOST becomes
unreachable. 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 The scripts are started without command line arguments, but can make
use of certain environment variables. Under UNIX like operating use of certain environment variables. Under UNIX like operating
systems the names of environment variables must be preceded by a $ in 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. This should be used for commands like ifconfig.
`NODE' `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' `REMOTEADDRESS'
When a host becomes (un)reachable, this is set to its real address. 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 When a host becomes (un)reachable, this is set to the port number
it uses for communication with other tinc daemons. 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 File: tinc.info, Node: How to configure, Prev: Scripts, Up: Configuration files
@ -2217,7 +2231,7 @@ Concept Index
* debug levels: Debug levels. (line 6) * debug levels: Debug levels. (line 6)
* DEL_EDGE: The meta-protocol. (line 47) * DEL_EDGE: The meta-protocol. (line 47)
* DEL_SUBNET: The meta-protocol. (line 47) * DEL_SUBNET: The meta-protocol. (line 47)
* DEVICE: Scripts. (line 41) * DEVICE: Scripts. (line 49)
* Device: Main configuration variables. * Device: Main configuration variables.
(line 47) (line 47)
* device files: Device files. (line 6) * device files: Device files. (line 6)
@ -2226,7 +2240,7 @@ Concept Index
* encapsulating: The UDP tunnel. (line 30) * encapsulating: The UDP tunnel. (line 30)
* encryption: Encryption of network packets. * encryption: Encryption of network packets.
(line 6) (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. * ethertap: Configuration of Linux kernels 2.1.60 up to 2.4.0.
(line 6) (line 6)
* example: Example configuration. * example: Example configuration.
@ -2240,7 +2254,7 @@ Concept Index
(line 10) (line 10)
* IndirectData: Host configuration variables. * IndirectData: Host configuration variables.
(line 27) (line 27)
* INTERFACE: Scripts. (line 44) * INTERFACE: Scripts. (line 52)
* Interface: Main configuration variables. * Interface: Main configuration variables.
(line 64) (line 64)
* IRC: Contact information. (line 9) * IRC: Contact information. (line 9)
@ -2261,15 +2275,15 @@ Concept Index
* Mode: Main configuration variables. * Mode: Main configuration variables.
(line 72) (line 72)
* multiple networks: Multiple networks. (line 6) * multiple networks: Multiple networks. (line 6)
* NAME: Scripts. (line 38) * NAME: Scripts. (line 46)
* Name: Main configuration variables. * Name: Main configuration variables.
(line 111) (line 111)
* netmask: Network interfaces. (line 34) * netmask: Network interfaces. (line 34)
* NETNAME: Scripts. (line 35) * NETNAME: Scripts. (line 43)
* netname: Multiple networks. (line 6) * netname: Multiple networks. (line 6)
* Network Administrators Guide: Configuration introduction. * Network Administrators Guide: Configuration introduction.
(line 15) (line 15)
* NODE: Scripts. (line 48) * NODE: Scripts. (line 56)
* OpenSSL: OpenSSL. (line 6) * OpenSSL: OpenSSL. (line 6)
* options: Runtime options. (line 9) * options: Runtime options. (line 9)
* PEM format: Host configuration variables. * PEM format: Host configuration variables.
@ -2295,8 +2309,8 @@ Concept Index
* PublicKeyFile: Host configuration variables. * PublicKeyFile: Host configuration variables.
(line 47) (line 47)
* release: Supported platforms. (line 14) * release: Supported platforms. (line 14)
* REMOTEADDRESS: Scripts. (line 51) * REMOTEADDRESS: Scripts. (line 61)
* REMOTEPORT: Scripts. (line 54) * REMOTEPORT: Scripts. (line 64)
* REQ_KEY: The meta-protocol. (line 64) * REQ_KEY: The meta-protocol. (line 64)
* requirements: Libraries. (line 6) * requirements: Libraries. (line 6)
* router: Main configuration variables. * router: Main configuration variables.
@ -2307,6 +2321,7 @@ Concept Index
* server: How connections work. * server: How connections work.
(line 18) (line 18)
* signals: Signals. (line 6) * signals: Signals. (line 6)
* SUBNET: Scripts. (line 68)
* Subnet: Host configuration variables. * Subnet: Host configuration variables.
(line 59) (line 59)
* SVPN: Security. (line 11) * SVPN: Security. (line 11)
@ -2376,32 +2391,32 @@ Node: Configuration files26448
Node: Main configuration variables27475 Node: Main configuration variables27475
Node: Host configuration variables33939 Node: Host configuration variables33939
Node: Scripts38235 Node: Scripts38235
Node: How to configure40329 Node: How to configure40790
Node: Generating keypairs41612 Node: Generating keypairs42073
Node: Network interfaces42111 Node: Network interfaces42572
Node: Example configuration43979 Node: Example configuration44440
Node: Running tinc49431 Node: Running tinc49892
Node: Runtime options50021 Node: Runtime options50482
Node: Signals52058 Node: Signals52519
Node: Debug levels53127 Node: Debug levels53588
Node: Solving problems54063 Node: Solving problems54524
Node: Error messages55493 Node: Error messages55954
Node: Sending bug reports59815 Node: Sending bug reports60276
Node: Technical information60767 Node: Technical information61228
Node: The connection60998 Node: The connection61459
Node: The UDP tunnel61310 Node: The UDP tunnel61771
Node: The meta-connection64371 Node: The meta-connection64832
Node: The meta-protocol65840 Node: The meta-protocol66301
Node: Security70849 Node: Security71310
Node: Authentication protocol71979 Node: Authentication protocol72440
Node: Encryption of network packets76983 Node: Encryption of network packets77444
Node: Security issues78356 Node: Security issues78817
Node: Platform specific information79973 Node: Platform specific information80434
Node: Interface configuration80201 Node: Interface configuration80662
Node: Routes82100 Node: Routes82561
Node: About us84016 Node: About us84477
Node: Contact information84191 Node: Contact information84652
Node: Authors84595 Node: Authors85056
Node: Concept Index85021 Node: Concept Index85482
 
End Tag Table End Tag Table

View file

@ -1,5 +1,5 @@
\input texinfo @c -*-texinfo-*- \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 @c %**start of header
@setfilename tinc.info @setfilename tinc.info
@settitle tinc Manual @settitle tinc Manual
@ -16,11 +16,11 @@
This is the info manual for @value{PACKAGE} version @value{VERSION}, a Virtual Private Network daemon. 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 <ivo@@tinc-vpn.org>, Guus Sliepen <guus@@tinc-vpn.org> and
Wessel Dankers <wsl@@tinc-vpn.org>. 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 Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are manual provided the copyright notice and this permission notice are
@ -43,11 +43,11 @@ permission notice identical to this one.
@cindex copyright @cindex copyright
This is the info manual for @value{PACKAGE} version @value{VERSION}, a Virtual Private Network daemon. 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 <ivo@@tinc-vpn.org>, Guus Sliepen <guus@@tinc-vpn.org> and
Wessel Dankers <wsl@@tinc-vpn.org>. 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 Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are 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 @item @value{sysconfdir}/tinc/@var{netname}/hosts/@var{host}-down
This script is started when the tinc daemon with name @var{host} becomes unreachable. 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 @end table
@cindex environment variables @cindex environment variables
@ -1129,6 +1136,7 @@ This should be used for commands like ifconfig.
@cindex NODE @cindex NODE
@item NODE @item 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.
@cindex REMOTEADDRESS @cindex REMOTEADDRESS
@item REMOTEADDRESS @item REMOTEADDRESS
@ -1138,6 +1146,11 @@ When a host becomes (un)reachable, this is set to its real address.
@item REMOTEPORT @item REMOTEPORT
When a host becomes (un)reachable, When a host becomes (un)reachable,
this is set to the port number it uses for communication with other tinc daemons. 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 @end table

4
have.h
View file

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

View file

@ -1,7 +1,7 @@
#!/bin/sh #!/bin/sh
# install - install a program, script, or datafile # 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 # This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the # later released in X11R6 (xc/config/util/install.sh) with the
@ -58,9 +58,6 @@ stripprog="${STRIPPROG-strip}"
rmprog="${RMPROG-rm}" rmprog="${RMPROG-rm}"
mkdirprog="${MKDIRPROG-mkdir}" mkdirprog="${MKDIRPROG-mkdir}"
transformbasename=
transform_arg=
instcmd="$mvprog"
chmodcmd="$chmodprog 0755" chmodcmd="$chmodprog 0755"
chowncmd= chowncmd=
chgrpcmd= chgrpcmd=
@ -70,23 +67,27 @@ mvcmd="$mvprog"
src= src=
dst= dst=
dir_arg= 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 [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 1st form, copy SRCFILE to DSTFILE.
In the second, create the directory path DIR. In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
In the 4th, create DIRECTORIES.
Options: Options:
-b=TRANSFORMBASENAME -c (ignored)
-c copy source (using $cpprog) instead of moving (using $mvprog).
-d create directories instead of installing files. -d create directories instead of installing files.
-g GROUP $chgrp installed files to GROUP. -g GROUP $chgrpprog installed files to GROUP.
-m MODE $chmod installed files to MODE. -m MODE $chmodprog installed files to MODE.
-o USER $chown installed files to USER. -o USER $chownprog installed files to USER.
-s strip installed files (using $stripprog). -s $stripprog installed files.
-t=TRANSFORM -t DIRECTORY install into DIRECTORY.
-T report an error if DSTFILE is a directory.
--help display this help and exit. --help display this help and exit.
--version display version info and exit. --version display version info and exit.
@ -96,12 +97,7 @@ Environment variables override the default commands:
while test -n "$1"; do while test -n "$1"; do
case $1 in case $1 in
-b=*) transformbasename=`echo $1 | sed 's/-b=//'` -c) shift
shift
continue;;
-c) instcmd=$cpprog
shift
continue;; continue;;
-d) dir_arg=true -d) dir_arg=true
@ -113,7 +109,7 @@ while test -n "$1"; do
shift shift
continue;; continue;;
--help) echo "$usage"; exit 0;; --help) echo "$usage"; exit $?;;
-m) chmodcmd="$chmodprog $2" -m) chmodcmd="$chmodprog $2"
shift shift
@ -129,14 +125,20 @@ while test -n "$1"; do
shift shift
continue;; continue;;
-t=*) transformarg=`echo $1 | sed 's/-t=//'` -t) dstarg=$2
shift
shift shift
continue;; 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. *) # 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 $@. # Otherwise, the last argument is the destination. Remove it from $@.
for arg for arg
do do
@ -174,13 +176,13 @@ do
src= src=
if test -d "$dst"; then if test -d "$dst"; then
instcmd=: mkdircmd=:
chmodcmd= chmodcmd=
else else
instcmd=$mkdirprog mkdircmd=$mkdirprog
fi fi
else 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 # might cause directories to be created, which would be especially bad
# if $src (and thus $dsttmp) contains '*'. # if $src (and thus $dsttmp) contains '*'.
if test ! -f "$src" && test ! -d "$src"; then 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 destination is a directory, append the input filename; won't work
# if double slashes aren't ignored. # if double slashes aren't ignored.
if test -d "$dst"; then 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"` dst=$dst/`basename "$src"`
fi fi
fi fi
# This sed command emulates the dirname command. # 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. # Make sure that the destination directory exists.
@ -220,7 +226,8 @@ do
oIFS=$IFS oIFS=$IFS
# Some sh's can't handle IFS=/ for some reason. # Some sh's can't handle IFS=/ for some reason.
IFS='%' IFS='%'
set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'` set x `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
shift
IFS=$oIFS IFS=$oIFS
pathcomp= pathcomp=
@ -229,51 +236,42 @@ do
pathcomp=$pathcomp$1 pathcomp=$pathcomp$1
shift shift
if test ! -d "$pathcomp"; then if test ! -d "$pathcomp"; then
$mkdirprog "$pathcomp" || lasterr=$? $mkdirprog "$pathcomp"
# mkdir can fail with a `File exist' error in case several # mkdir can fail with a `File exist' error in case several
# install-sh are creating the directory concurrently. This # install-sh are creating the directory concurrently. This
# is OK. # is OK.
test ! -d "$pathcomp" && { (exit ${lasterr-1}); exit; } test -d "$pathcomp" || exit
fi fi
pathcomp=$pathcomp/ pathcomp=$pathcomp/
done done
fi fi
if test -n "$dir_arg"; then if test -n "$dir_arg"; then
$doit $instcmd "$dst" \ $doit $mkdircmd "$dst" \
&& { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \ && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \
&& { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \ && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \
&& { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \ && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \
&& { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; } && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; }
else else
# If we're going to rename the final executable, determine the name now.
if test -z "$transformarg"; then
dstfile=`basename "$dst"` 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"`
# Make a couple of temp file names in the proper directory. # Make a couple of temp file names in the proper directory.
dsttmp=$dstdir/_inst.$$_ dsttmp=$dstdir/_inst.$$_
rmtmp=$dstdir/_rm.$$_ rmtmp=$dstdir/_rm.$$_
# Trap to clean up those temp files at exit. # 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 trap '(exit $?); exit' 1 2 13 15
# Move or copy the file name to the temp name # Copy the file name to the temp name.
$doit $instcmd "$src" "$dsttmp" && $doit $cpprog "$src" "$dsttmp" &&
# and set any options; do chmod last to preserve setuid bits. # 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 # 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 # 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 "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
&& { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \ && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
@ -298,7 +296,7 @@ do
|| $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \ || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \
|| { || {
echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2 echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
(exit 1); exit (exit 1); exit 1
} }
else else
: :
@ -309,12 +307,12 @@ do
$doit $mvcmd "$dsttmp" "$dstdir/$dstfile" $doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
} }
} }
fi || { (exit 1); exit; } fi || { (exit 1); exit 1; }
done done
# The final little trick to "correctly" pass the exit status to the exit trap. # The final little trick to "correctly" pass the exit status to the exit trap.
{ {
(exit 0); exit (exit 0); exit 0
} }
# Local variables: # 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@ # @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 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 # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
@ -39,6 +39,7 @@ POST_INSTALL = :
NORMAL_UNINSTALL = : NORMAL_UNINSTALL = :
PRE_UNINSTALL = : PRE_UNINSTALL = :
POST_UNINSTALL = : POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@ host_triplet = @host@
subdir = lib subdir = lib
DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \ 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) DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles 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) \ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC) CCLD = $(CC)
@ -159,6 +152,8 @@ am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__include = @am__include@ am__include = @am__include@
am__leading_dot = @am__leading_dot@ am__leading_dot = @am__leading_dot@
am__quote = @am__quote@ am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@ bindir = @bindir@
build = @build@ build = @build@
build_alias = @build_alias@ 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@ 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 @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@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c $< @am__fastdepCC_FALSE@ $(COMPILE) -c $<
.c.obj: .c.obj:
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ @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 @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@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
uninstall-info-am: uninstall-info-am:
@ -370,7 +363,7 @@ mostlyclean-generic:
clean-generic: clean-generic:
distclean-generic: distclean-generic:
-rm -f $(CONFIG_CLEAN_FILES) -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic: maintainer-clean-generic:
@echo "This command is intended for maintainers to use" @echo "This command is intended for maintainers to use"

View file

@ -1,9 +1,9 @@
/* /*
avl_tree.c -- avl_ tree and linked list convenience avl_tree.c -- avl_ tree and linked list convenience
Copyright (C) 1998 Michael H. Buselli Copyright (C) 1998 Michael H. Buselli
2000-2004 Ivo Timmermans <ivo@tinc-vpn.org>, 2000-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
2000-2004 Guus Sliepen <guus@tinc-vpn.org> 2000-2005 Guus Sliepen <guus@tinc-vpn.org>
2000-2004 Wessel Dankers <wsl@tinc-vpn.org> 2000-2005 Wessel Dankers <wsl@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify 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 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 library for inclusion into tinc (http://www.tinc-vpn.org/) by
Guus Sliepen <guus@tinc-vpn.org>. 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" #include "system.h"

View file

@ -1,9 +1,9 @@
/* /*
avl_tree.h -- header file for avl_tree.c avl_tree.h -- header file for avl_tree.c
Copyright (C) 1998 Michael H. Buselli Copyright (C) 1998 Michael H. Buselli
2000-2004 Ivo Timmermans <ivo@tinc-vpn.org>, 2000-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
2000-2004 Guus Sliepen <guus@tinc-vpn.org> 2000-2005 Guus Sliepen <guus@tinc-vpn.org>
2000-2004 Wessel Dankers <wsl@tinc-vpn.org> 2000-2005 Wessel Dankers <wsl@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify 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 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 library for inclusion into tinc (http://www.tinc-vpn.org/) by
Guus Sliepen <guus@tinc-vpn.org>. 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 dropin.c -- a set of drop-in replacements for libc functions
Copyright (C) 2000-2004 Ivo Timmermans <ivo@tinc-vpn.org>, Copyright (C) 2000-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
2000-2004 Guus Sliepen <guus@tinc-vpn.org> 2000-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify 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 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 along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 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" #include "system.h"

View file

@ -1,7 +1,7 @@
/* /*
dropin.h -- header file for dropin.c dropin.h -- header file for dropin.c
Copyright (C) 2000-2004 Ivo Timmermans <ivo@tinc-vpn.org>, Copyright (C) 2000-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
2000-2004 Guus Sliepen <guus@tinc-vpn.org> 2000-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify 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 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 along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 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__ #ifndef __DROPIN_H__

View file

@ -1,7 +1,7 @@
/* /*
ethernet.h -- missing Ethernet related definitions ethernet.h -- missing Ethernet related definitions
Copyright (C) 2004 Ivo Timmermans <ivo@tinc-vpn.org> Copyright (C) 2005 Ivo Timmermans <ivo@tinc-vpn.org>
2004 Guus Sliepen <guus@tinc-vpn.org> 2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify 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 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 along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 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__ #ifndef __TINC_ETHERNET_H__

View file

@ -1,7 +1,7 @@
/* /*
ipv4.h -- missing IPv4 related definitions ipv4.h -- missing IPv4 related definitions
Copyright (C) 2004 Ivo Timmermans <ivo@tinc-vpn.org> Copyright (C) 2005 Ivo Timmermans <ivo@tinc-vpn.org>
2004 Guus Sliepen <guus@tinc-vpn.org> 2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify 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 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 along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 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__ #ifndef __TINC_IPV4_H__

View file

@ -1,7 +1,7 @@
/* /*
ipv6.h -- missing IPv6 related definitions ipv6.h -- missing IPv6 related definitions
Copyright (C) 2004 Ivo Timmermans <ivo@tinc-vpn.org> Copyright (C) 2005 Ivo Timmermans <ivo@tinc-vpn.org>
2004 Guus Sliepen <guus@tinc-vpn.org> 2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify 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 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 along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 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__ #ifndef __TINC_IPV6_H__

View file

@ -1,7 +1,7 @@
/* /*
list.c -- functions to deal with double linked lists list.c -- functions to deal with double linked lists
Copyright (C) 2000-2004 Ivo Timmermans <ivo@tinc-vpn.org> Copyright (C) 2000-2005 Ivo Timmermans <ivo@tinc-vpn.org>
2000-2004 Guus Sliepen <guus@tinc-vpn.org> 2000-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify 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 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 along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 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" #include "system.h"

View file

@ -1,7 +1,7 @@
/* /*
list.h -- header file for list.c list.h -- header file for list.c
Copyright (C) 2000-2004 Ivo Timmermans <ivo@tinc-vpn.org> Copyright (C) 2000-2005 Ivo Timmermans <ivo@tinc-vpn.org>
2000-2004 Guus Sliepen <guus@tinc-vpn.org> 2000-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify 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 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 along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 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__ #ifndef __TINC_LIST_H__

View file

@ -1,7 +1,7 @@
/* /*
utils.c -- gathering of some stupid small functions utils.c -- gathering of some stupid small functions
Copyright (C) 1999-2004 Ivo Timmermans <zarq@iname.com> Copyright (C) 1999-2005 Ivo Timmermans <zarq@iname.com>
2000-2004 Guus Sliepen <guus@tinc-vpn.org> 2000-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify 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 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 utils.h -- header file for utils.c
Copyright (C) 1999-2004 Ivo Timmermans <zarq@iname.com> Copyright (C) 1999-2005 Ivo Timmermans <zarq@iname.com>
2000-2004 Guus Sliepen <guus@tinc-vpn.org> 2000-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify 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 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@ # @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 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 # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
@ -33,6 +33,7 @@ POST_INSTALL = :
NORMAL_UNINSTALL = : NORMAL_UNINSTALL = :
PRE_UNINSTALL = : PRE_UNINSTALL = :
POST_UNINSTALL = : POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@ host_triplet = @host@
subdir = m4 subdir = m4
DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
@ -125,6 +126,8 @@ am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__include = @am__include@ am__include = @am__include@
am__leading_dot = @am__leading_dot@ am__leading_dot = @am__leading_dot@
am__quote = @am__quote@ am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@ bindir = @bindir@
build = @build@ build = @build@
build_alias = @build_alias@ build_alias = @build_alias@
@ -244,7 +247,7 @@ mostlyclean-generic:
clean-generic: clean-generic:
distclean-generic: distclean-generic:
-rm -f $(CONFIG_CLEAN_FILES) -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic: maintainer-clean-generic:
@echo "This command is intended for maintainers to use" @echo "This command is intended for maintainers to use"

85
missing
View file

@ -1,9 +1,9 @@
#! /bin/sh #! /bin/sh
# Common stub for a few missing GNU programs while installing. # 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. # Free Software Foundation, Inc.
# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996. # Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
@ -60,11 +60,6 @@ case "$1" in
msg="probably too old" msg="probably too old"
fi 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) -h|--h|--he|--hel|--help)
echo "\ echo "\
@ -92,10 +87,12 @@ Supported PROGRAM values:
yacc create \`y.tab.[ch]', if possible, from existing .[ch] yacc create \`y.tab.[ch]', if possible, from existing .[ch]
Send bug reports to <bug-automake@gnu.org>." Send bug reports to <bug-automake@gnu.org>."
exit $?
;; ;;
-v|--v|--ve|--ver|--vers|--versi|--versio|--version) -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
echo "missing $scriptversion (GNU Automake)" echo "missing $scriptversion (GNU Automake)"
exit $?
;; ;;
-*) -*)
@ -104,12 +101,42 @@ Send bug reports to <bug-automake@gnu.org>."
exit 1 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 if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed. # We have it, but it failed.
exit 1 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 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 "\ echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if WARNING: \`$1' is $msg. You should only need it if
you modified \`acinclude.m4' or \`${configure_ac}'. You might want 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) autoconf)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed.
exit 1
fi
echo 1>&2 "\ echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if WARNING: \`$1' is $msg. You should only need it if
you modified \`${configure_ac}'. You might want to install the 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) autoheader)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed.
exit 1
fi
echo 1>&2 "\ echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if WARNING: \`$1' is $msg. You should only need it if
you modified \`acconfig.h' or \`${configure_ac}'. You might want 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*) automake*)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed.
exit 1
fi
echo 1>&2 "\ echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if WARNING: \`$1' is $msg. You should only need it if
you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
@ -173,11 +185,6 @@ WARNING: \`$1' is $msg. You should only need it if
;; ;;
autom4te) autom4te)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed.
exit 1
fi
echo 1>&2 "\ echo 1>&2 "\
WARNING: \`$1' is needed, but is $msg. WARNING: \`$1' is needed, but is $msg.
You might have modified some files without having the You might have modified some files without having the
@ -254,11 +261,6 @@ WARNING: \`$1' is $msg. You should only need it if
;; ;;
help2man) help2man)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed.
exit 1
fi
echo 1>&2 "\ echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if WARNING: \`$1' is $msg. You should only need it if
you modified a dependency of a manual page. You may need the 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) makeinfo)
if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then
# We have makeinfo, but it failed.
exit 1
fi
echo 1>&2 "\ echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if WARNING: \`$1' is $msg. You should only need it if
you modified a \`.texi' or \`.texinfo' file, or any other file 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, call might also be the consequence of using a buggy \`make' (AIX,
DU, IRIX). You might want to install the \`Texinfo' package or DU, IRIX). You might want to install the \`Texinfo' package or
the \`GNU make' package. Grab either from any GNU archive site." 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'` file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
if test -z "$file"; then if test -z "$file"; then
file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` # ... or it is the one specified with @setfilename ...
file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file` 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 fi
touch $file touch $file
;; ;;
tar) tar)
shift 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. # We have already tried tar in the generic part.
# Look for gnutar/gtar before invocation to avoid ugly error # Look for gnutar/gtar before invocation to avoid ugly error

View file

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

BIN
po/nl.gmo

Binary file not shown.

107
po/nl.po
View file

@ -6,7 +6,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: tinc 1.0-svn\n" "Project-Id-Version: tinc 1.0-svn\n"
"Report-Msgid-Bugs-To: tinc-devel@tinc-vpn.org\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" "PO-Revision-Date: 2004-03-15 19:28+0100\n"
"Last-Translator: Guus Sliepen <guus@tinc-vpn.org>\n" "Last-Translator: Guus Sliepen <guus@tinc-vpn.org>\n"
"Language-Team: Dutch <vertaling@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" msgid "Setting outgoing packet priority to %d"
msgstr "Instellen prioriteit uitgaand pakket op %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/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/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 #: 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)" msgid "Broadcasting packet of %d bytes from %s (%s)"
msgstr "Verspreiding pakket van %d bytes van %s (%s)" msgstr "Verspreiding pakket van %d bytes van %s (%s)"
#: src/net_packet.c:474 #: src/net_packet.c:480
#, c-format #, c-format
msgid "Flushing queue for %s (%s)" msgid "Flushing queue for %s (%s)"
msgstr "Legen van wachtrij voor %s (%s)" msgstr "Legen van wachtrij voor %s (%s)"
#: src/net_packet.c:496 #: src/net_packet.c:502
#, c-format #, c-format
msgid "Receiving packet failed: %s" msgid "Receiving packet failed: %s"
msgstr "Ontvangst pakket mislukt: %s" msgstr "Ontvangst pakket mislukt: %s"
#: src/net_packet.c:506 #: src/net_packet.c:512
#, c-format #, c-format
msgid "Received UDP packet from unknown source %s" msgid "Received UDP packet from unknown source %s"
msgstr "Ontvangst UDP pakket van onbekende oorsprong %s" msgstr "Ontvangst UDP pakket van onbekende oorsprong %s"
@ -397,7 +397,7 @@ msgstr "Ongeldige adresfamilie!"
msgid "Unrecognized cipher type!" msgid "Unrecognized cipher type!"
msgstr "Onbekend 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 #, c-format
msgid "Error during initialisation of cipher for %s (%s): %s" msgid "Error during initialisation of cipher for %s (%s): %s"
msgstr "Fout tijdens initialisatie van cipher voor %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!" msgid "Bogus compression level!"
msgstr "Onzinnig compressieniveau!" msgstr "Onzinnig compressieniveau!"
#: src/net_setup.c:499 #: src/net_setup.c:503
#, c-format #, c-format
msgid "Listening on %s" msgid "Listening on %s"
msgstr "Luisterend op %s" msgstr "Luisterend op %s"
#: src/net_setup.c:510 #: src/net_setup.c:514
msgid "Ready" msgid "Ready"
msgstr "Gereed" msgstr "Gereed"
#: src/net_setup.c:512 #: src/net_setup.c:516
msgid "Unable to create any listening socket!" msgid "Unable to create any listening socket!"
msgstr "Kon geen enkele luistersocket aanmaken!" 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)" msgid "Connected to %s (%s)"
msgstr "Verbonden met %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 #, c-format
msgid "fcntl for %s: %s" msgid "fcntl for %s: %s"
msgstr "fcntl voor %s: %s" msgstr "fcntl voor %s: %s"
@ -510,7 +510,7 @@ msgstr "Geen adres gespecificeerd voor %s"
msgid "Accepting a new connection failed: %s" msgid "Accepting a new connection failed: %s"
msgstr "Aanname van nieuwe verbinding is mislukt: %s" msgstr "Aanname van nieuwe verbinding is mislukt: %s"
#: src/net_socket.c:437 #: src/net_socket.c:438
#, c-format #, c-format
msgid "Connection from %s" msgid "Connection from %s"
msgstr "Verbinding van %s" msgstr "Verbinding van %s"
@ -615,19 +615,19 @@ msgstr "Verzoek reeds gezien"
msgid "Aging past requests: deleted %d, left %d" msgid "Aging past requests: deleted %d, left %d"
msgstr "Veroudering vorige verzoeken: %d gewist, %d overgebleven" 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:58 src/protocol_auth.c:212 src/protocol_auth.c:341
#: src/protocol_auth.c:405 src/protocol_auth.c:531 src/protocol_edge.c:73 #: 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_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_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 #, c-format
msgid "Got bad %s from %s (%s)" msgid "Got bad %s from %s (%s)"
msgstr "Kreeg verkeerde %s van %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_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_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:74 src/protocol_subnet.c:178
#: src/protocol_subnet.c:196 #: src/protocol_subnet.c:199
#, c-format #, c-format
msgid "Got bad %s from %s (%s): %s" msgid "Got bad %s from %s (%s): %s"
msgstr "Kreeg verkeerde %s van %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" msgid "Peer %s is %s instead of %s"
msgstr "Ander %s is %s in plaats van %s" msgstr "Ander %s is %s in plaats van %s"
#: src/protocol_auth.c:85 #: src/protocol_auth.c:88
#, c-format #, c-format
msgid "Peer %s (%s) uses incompatible version %d" msgid "Peer %s (%s) uses incompatible version %d"
msgstr "Ander %s (%s) gebruikt incompatibele versie %d" msgstr "Ander %s (%s) gebruikt incompatibele versie %d"
#: src/protocol_auth.c:101 #: src/protocol_auth.c:104
#, c-format #, c-format
msgid "Peer %s had unknown identity (%s)" msgid "Peer %s had unknown identity (%s)"
msgstr "Ander %s heeft onbekende identiteit (%s)" msgstr "Ander %s heeft onbekende identiteit (%s)"
#: src/protocol_auth.c:153 #: src/protocol_auth.c:156
#, c-format #, c-format
msgid "Generated random meta key (unencrypted): %s" msgid "Generated random meta key (unencrypted): %s"
msgstr "Willekeurige meta sleutel aangemaakt (niet versleuteld): %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 #, c-format
msgid "Error during encryption of meta key for %s (%s)" msgid "Error during encryption of meta key for %s (%s)"
msgstr "Fout tijdens versleutelen van meta key voor %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:222 src/protocol_auth.c:351 src/protocol_auth.c:416
#: src/protocol_auth.c:435 #: src/protocol_auth.c:438
#, c-format #, c-format
msgid "Possible intruder %s (%s): %s" msgid "Possible intruder %s (%s): %s"
msgstr "Mogelijke indringer %s (%s): %s" msgstr "Mogelijke indringer %s (%s): %s"
#: src/protocol_auth.c:246 #: src/protocol_auth.c:249
#, c-format #, c-format
msgid "Received random meta key (unencrypted): %s" msgid "Received random meta key (unencrypted): %s"
msgstr "Ontving willekeurige meta key (niet versleuteld): %s" msgstr "Ontving willekeurige meta key (niet versleuteld): %s"
#: src/protocol_auth.c:257 #: src/protocol_auth.c:260
#, c-format #, c-format
msgid "%s (%s) uses unknown cipher!" msgid "%s (%s) uses unknown cipher!"
msgstr "%s (%s) gebruikt onbekende cipher!" msgstr "%s (%s) gebruikt onbekende cipher!"
#: src/protocol_auth.c:265 #: src/protocol_auth.c:268
#, c-format #, c-format
msgid "Error during initialisation of cipher from %s (%s): %s" msgid "Error during initialisation of cipher from %s (%s): %s"
msgstr "Fout tijdens initalisatie van cipher van %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 #, c-format
msgid "Node %s (%s) uses unknown digest!" msgid "Node %s (%s) uses unknown digest!"
msgstr "Node %s (%s) gebruikt onbekende digest!" msgstr "Node %s (%s) gebruikt onbekende digest!"
#: src/protocol_auth.c:286 #: src/protocol_auth.c:289
#, c-format #, c-format
msgid "%s (%s) uses bogus MAC length!" msgid "%s (%s) uses bogus MAC length!"
msgstr "%s (%s) gebruikt onzinnige MAC lengte!" msgstr "%s (%s) gebruikt onzinnige MAC lengte!"
#: src/protocol_auth.c:381 #: src/protocol_auth.c:384
#, c-format #, c-format
msgid "Error during calculation of response for %s (%s): %s" msgid "Error during calculation of response for %s (%s): %s"
msgstr "Fout tijdens berekenen van antwoord voor %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" msgid "wrong challenge reply length"
msgstr "verkeerde lengte antwoord op uitdaging" msgstr "verkeerde lengte antwoord op uitdaging"
#: src/protocol_auth.c:427 #: src/protocol_auth.c:430
#, c-format #, c-format
msgid "Error during calculation of response from %s (%s): %s" msgid "Error during calculation of response from %s (%s): %s"
msgstr "Fout tijdens narekenen van antwoord van %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" msgid "wrong challenge reply"
msgstr "verkeerd antwoord op uitdaging" msgstr "verkeerd antwoord op uitdaging"
#: src/protocol_auth.c:441 #: src/protocol_auth.c:444
#, c-format #, c-format
msgid "Expected challenge reply: %s" msgid "Expected challenge reply: %s"
msgstr "Verwachtte antwoord op uitdaging: %s" msgstr "Verwachtte antwoord op uitdaging: %s"
#: src/protocol_auth.c:547 #: src/protocol_auth.c:550
#, c-format #, c-format
msgid "Established a second connection with %s (%s), closing old connection" msgid "Established a second connection with %s (%s), closing old connection"
msgstr "Tweede verbinding met %s (%s) gemaakt, oude verbinding wordt gesloten" msgstr "Tweede verbinding met %s (%s) gemaakt, oude verbinding wordt gesloten"
#: src/protocol_auth.c:570 #: src/protocol_auth.c:573
#, c-format #, c-format
msgid "Connection with %s (%s) activated" msgid "Connection with %s (%s) activated"
msgstr "Verbinding met %s (%s) geactiveerd" 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: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" msgid "invalid name"
msgstr "ongeldige naam" 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" 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" 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 #, c-format
msgid "Got %s from %s (%s) for ourself" msgid "Got %s from %s (%s) for ourself"
msgstr "Kreeg %s van %s (%s) voor onszelf" 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" msgid "Error message from %s (%s): %d: %s"
msgstr "Foutmelding van %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" msgid "invalid subnet string"
msgstr "ongeldige subnet string" msgstr "ongeldige subnet string"
#: src/protocol_subnet.c:185 #: src/protocol_subnet.c:188
#, c-format #, c-format
msgid "Got %s from %s (%s) for %s which is not in our node tree" 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" 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 #, c-format
msgid "Got %s from %s (%s) for %s which does not appear in his subnet tree" 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" 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 #, c-format
msgid "subnet_compare() was called with unknown subnet type %d, exitting!" msgid "subnet_compare() was called with unknown subnet type %d, exitting!"
msgstr "" msgstr ""
"subnet_compare() werd aangeroepen met onbekend subnet type %d, beëindigen!" "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 #, c-format
msgid "net2str() was called with unknown subnet type %d, exiting!" msgid "net2str() was called with unknown subnet type %d, exiting!"
msgstr "net2str() werd aangeroepen met onbekend subnet type %d, beëindigen!" msgstr "net2str() werd aangeroepen met onbekend subnet type %d, beëindigen!"
#: src/subnet.c:396 #: src/subnet.c:449
msgid "Subnet list:" msgid "Subnet list:"
msgstr "Subnet lijst:" msgstr "Subnet lijst:"
#: src/subnet.c:402 #: src/subnet.c:455
#, c-format #, c-format
msgid " %s owner %s" msgid " %s owner %s"
msgstr " %s eigenaar %s" msgstr " %s eigenaar %s"
#: src/subnet.c:405 #: src/subnet.c:458
msgid "End of subnet list." msgid "End of subnet list."
msgstr "Einde van subnet lijst." msgstr "Einde van subnet lijst."
@ -958,14 +963,14 @@ msgstr "%s versie %s (gemaakt %s %s, protocol %d)\n"
#: src/tincd.c:410 #: src/tincd.c:410
#, c-format #, c-format
msgid "" 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" "See the AUTHORS file for a complete list.\n"
"\n" "\n"
"tinc comes with ABSOLUTELY NO WARRANTY. This is free software,\n" "tinc comes with ABSOLUTELY NO WARRANTY. This is free software,\n"
"and you are welcome to redistribute it under certain conditions;\n" "and you are welcome to redistribute it under certain conditions;\n"
"see the file COPYING for details.\n" "see the file COPYING for details.\n"
msgstr "" 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" "Zie het bestand AUTHORS voor een volledige lijst.\n"
"\n" "\n"
"tinc wordt gedistribueerd ZONDER ENIGE GARANTIE. Dit is vrije " "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" msgid "Cannot route packet from %s (%s): unknown type %hx"
msgstr "Kan pakket van %s (%s) niet routeren: onbekend type %hx" msgstr "Kan pakket van %s (%s) niet routeren: onbekend type %hx"
#: src/node.c:183 #: src/node.c:181
msgid "Nodes:" msgid "Nodes:"
msgstr "Nodes:" msgstr "Nodes:"
#: src/node.c:187 #: src/node.c:185
#, c-format #, c-format
msgid "" msgid ""
" %s at %s cipher %d digest %d maclength %d compression %d options %lx status " " %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 %" " %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)" "04x nexthop %s via %s pmtu %d (min %d max %d)"
#: src/node.c:194 #: src/node.c:192
msgid "End of nodes." msgid "End of nodes."
msgstr "Einde van nodes." msgstr "Einde van nodes."
@ -1303,12 +1308,12 @@ msgstr " %s naar %s op %s opties %lx gewicht %d"
msgid "End of edges." msgid "End of edges."
msgstr "Einde van edges." msgstr "Einde van edges."
#: src/graph.c:263 #: src/graph.c:261
#, c-format #, c-format
msgid "Node %s (%s) became reachable" msgid "Node %s (%s) became reachable"
msgstr "Node %s (%s) werd bereikbaar" msgstr "Node %s (%s) werd bereikbaar"
#: src/graph.c:266 #: src/graph.c:265
#, c-format #, c-format
msgid "Node %s (%s) became unreachable" msgid "Node %s (%s) became unreachable"
msgstr "Node %s (%s) is niet meer bereikbaar" msgstr "Node %s (%s) is niet meer bereikbaar"

View file

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: tinc-devel@tinc-vpn.org\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" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -260,7 +260,7 @@ msgstr ""
msgid "Setting outgoing packet priority to %d" msgid "Setting outgoing packet priority to %d"
msgstr "" 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/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/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 #: 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)" msgid "Broadcasting packet of %d bytes from %s (%s)"
msgstr "" msgstr ""
#: src/net_packet.c:474 #: src/net_packet.c:480
#, c-format #, c-format
msgid "Flushing queue for %s (%s)" msgid "Flushing queue for %s (%s)"
msgstr "" msgstr ""
#: src/net_packet.c:496 #: src/net_packet.c:502
#, c-format #, c-format
msgid "Receiving packet failed: %s" msgid "Receiving packet failed: %s"
msgstr "" msgstr ""
#: src/net_packet.c:506 #: src/net_packet.c:512
#, c-format #, c-format
msgid "Received UDP packet from unknown source %s" msgid "Received UDP packet from unknown source %s"
msgstr "" msgstr ""
@ -388,7 +388,7 @@ msgstr ""
msgid "Unrecognized cipher type!" msgid "Unrecognized cipher type!"
msgstr "" msgstr ""
#: src/net_setup.c:383 src/protocol_auth.c:189 #: src/net_setup.c:383 src/protocol_auth.c:192
#, c-format #, c-format
msgid "Error during initialisation of cipher for %s (%s): %s" msgid "Error during initialisation of cipher for %s (%s): %s"
msgstr "" msgstr ""
@ -409,16 +409,16 @@ msgstr ""
msgid "Bogus compression level!" msgid "Bogus compression level!"
msgstr "" msgstr ""
#: src/net_setup.c:499 #: src/net_setup.c:503
#, c-format #, c-format
msgid "Listening on %s" msgid "Listening on %s"
msgstr "" msgstr ""
#: src/net_setup.c:510 #: src/net_setup.c:514
msgid "Ready" msgid "Ready"
msgstr "" msgstr ""
#: src/net_setup.c:512 #: src/net_setup.c:516
msgid "Unable to create any listening socket!" msgid "Unable to create any listening socket!"
msgstr "" msgstr ""
@ -461,7 +461,7 @@ msgstr ""
msgid "Connected to %s (%s)" msgid "Connected to %s (%s)"
msgstr "" 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 #, c-format
msgid "fcntl for %s: %s" msgid "fcntl for %s: %s"
msgstr "" msgstr ""
@ -501,7 +501,7 @@ msgstr ""
msgid "Accepting a new connection failed: %s" msgid "Accepting a new connection failed: %s"
msgstr "" msgstr ""
#: src/net_socket.c:437 #: src/net_socket.c:438
#, c-format #, c-format
msgid "Connection from %s" msgid "Connection from %s"
msgstr "" msgstr ""
@ -605,19 +605,19 @@ msgstr ""
msgid "Aging past requests: deleted %d, left %d" msgid "Aging past requests: deleted %d, left %d"
msgstr "" msgstr ""
#: src/protocol_auth.c:58 src/protocol_auth.c:209 src/protocol_auth.c:338 #: src/protocol_auth.c:58 src/protocol_auth.c:212 src/protocol_auth.c:341
#: src/protocol_auth.c:405 src/protocol_auth.c:531 src/protocol_edge.c:73 #: 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_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_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 #, c-format
msgid "Got bad %s from %s (%s)" msgid "Got bad %s from %s (%s)"
msgstr "" msgstr ""
#: src/protocol_auth.c:66 src/protocol_edge.c:81 src/protocol_edge.c:87 #: 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_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:74 src/protocol_subnet.c:178
#: src/protocol_subnet.c:196 #: src/protocol_subnet.c:199
#, c-format #, c-format
msgid "Got bad %s from %s (%s): %s" msgid "Got bad %s from %s (%s): %s"
msgstr "" msgstr ""
@ -627,92 +627,92 @@ msgstr ""
msgid "Peer %s is %s instead of %s" msgid "Peer %s is %s instead of %s"
msgstr "" msgstr ""
#: src/protocol_auth.c:85 #: src/protocol_auth.c:88
#, c-format #, c-format
msgid "Peer %s (%s) uses incompatible version %d" msgid "Peer %s (%s) uses incompatible version %d"
msgstr "" msgstr ""
#: src/protocol_auth.c:101 #: src/protocol_auth.c:104
#, c-format #, c-format
msgid "Peer %s had unknown identity (%s)" msgid "Peer %s had unknown identity (%s)"
msgstr "" msgstr ""
#: src/protocol_auth.c:153 #: src/protocol_auth.c:156
#, c-format #, c-format
msgid "Generated random meta key (unencrypted): %s" msgid "Generated random meta key (unencrypted): %s"
msgstr "" msgstr ""
#: src/protocol_auth.c:165 src/protocol_auth.c:238 #: src/protocol_auth.c:168 src/protocol_auth.c:241
#, c-format #, c-format
msgid "Error during encryption of meta key for %s (%s)" msgid "Error during encryption of meta key for %s (%s)"
msgstr "" msgstr ""
#: src/protocol_auth.c:219 src/protocol_auth.c:348 src/protocol_auth.c:413 #: src/protocol_auth.c:222 src/protocol_auth.c:351 src/protocol_auth.c:416
#: src/protocol_auth.c:435 #: src/protocol_auth.c:438
#, c-format #, c-format
msgid "Possible intruder %s (%s): %s" msgid "Possible intruder %s (%s): %s"
msgstr "" msgstr ""
#: src/protocol_auth.c:246 #: src/protocol_auth.c:249
#, c-format #, c-format
msgid "Received random meta key (unencrypted): %s" msgid "Received random meta key (unencrypted): %s"
msgstr "" msgstr ""
#: src/protocol_auth.c:257 #: src/protocol_auth.c:260
#, c-format #, c-format
msgid "%s (%s) uses unknown cipher!" msgid "%s (%s) uses unknown cipher!"
msgstr "" msgstr ""
#: src/protocol_auth.c:265 #: src/protocol_auth.c:268
#, c-format #, c-format
msgid "Error during initialisation of cipher from %s (%s): %s" msgid "Error during initialisation of cipher from %s (%s): %s"
msgstr "" msgstr ""
#: src/protocol_auth.c:281 src/protocol_key.c:242 #: src/protocol_auth.c:284 src/protocol_key.c:242
#, c-format #, c-format
msgid "Node %s (%s) uses unknown digest!" msgid "Node %s (%s) uses unknown digest!"
msgstr "" msgstr ""
#: src/protocol_auth.c:286 #: src/protocol_auth.c:289
#, c-format #, c-format
msgid "%s (%s) uses bogus MAC length!" msgid "%s (%s) uses bogus MAC length!"
msgstr "" msgstr ""
#: src/protocol_auth.c:381 #: src/protocol_auth.c:384
#, c-format #, c-format
msgid "Error during calculation of response for %s (%s): %s" msgid "Error during calculation of response for %s (%s): %s"
msgstr "" msgstr ""
#: src/protocol_auth.c:414 #: src/protocol_auth.c:417
msgid "wrong challenge reply length" msgid "wrong challenge reply length"
msgstr "" msgstr ""
#: src/protocol_auth.c:427 #: src/protocol_auth.c:430
#, c-format #, c-format
msgid "Error during calculation of response from %s (%s): %s" msgid "Error during calculation of response from %s (%s): %s"
msgstr "" msgstr ""
#: src/protocol_auth.c:436 #: src/protocol_auth.c:439
msgid "wrong challenge reply" msgid "wrong challenge reply"
msgstr "" msgstr ""
#: src/protocol_auth.c:441 #: src/protocol_auth.c:444
#, c-format #, c-format
msgid "Expected challenge reply: %s" msgid "Expected challenge reply: %s"
msgstr "" msgstr ""
#: src/protocol_auth.c:547 #: src/protocol_auth.c:550
#, c-format #, c-format
msgid "Established a second connection with %s (%s), closing old connection" msgid "Established a second connection with %s (%s), closing old connection"
msgstr "" msgstr ""
#: src/protocol_auth.c:570 #: src/protocol_auth.c:573
#, c-format #, c-format
msgid "Connection with %s (%s) activated" msgid "Connection with %s (%s) activated"
msgstr "" msgstr ""
#: src/protocol_edge.c:82 src/protocol_edge.c:88 src/protocol_edge.c:197 #: 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" msgid "invalid name"
msgstr "" msgstr ""
@ -736,7 +736,7 @@ msgstr ""
msgid "Got %s from %s (%s) which does not appear in the edge tree" msgid "Got %s from %s (%s) which does not appear in the edge tree"
msgstr "" 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 #, c-format
msgid "Got %s from %s (%s) for ourself" msgid "Got %s from %s (%s) for ourself"
msgstr "" msgstr ""
@ -794,40 +794,45 @@ msgstr ""
msgid "Error message from %s (%s): %d: %s" msgid "Error message from %s (%s): %d: %s"
msgstr "" 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" msgid "invalid subnet string"
msgstr "" msgstr ""
#: src/protocol_subnet.c:185 #: src/protocol_subnet.c:188
#, c-format #, c-format
msgid "Got %s from %s (%s) for %s which is not in our node tree" msgid "Got %s from %s (%s) for %s which is not in our node tree"
msgstr "" msgstr ""
#: src/protocol_subnet.c:211 #: src/protocol_subnet.c:214
#, c-format #, c-format
msgid "Got %s from %s (%s) for %s which does not appear in his subnet tree" msgid "Got %s from %s (%s) for %s which does not appear in his subnet tree"
msgstr "" msgstr ""
#: src/subnet.c:103 #: src/subnet.c:105
#, c-format #, c-format
msgid "subnet_compare() was called with unknown subnet type %d, exitting!" msgid "subnet_compare() was called with unknown subnet type %d, exitting!"
msgstr "" 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 #, c-format
msgid "net2str() was called with unknown subnet type %d, exiting!" msgid "net2str() was called with unknown subnet type %d, exiting!"
msgstr "" msgstr ""
#: src/subnet.c:396 #: src/subnet.c:449
msgid "Subnet list:" msgid "Subnet list:"
msgstr "" msgstr ""
#: src/subnet.c:402 #: src/subnet.c:455
#, c-format #, c-format
msgid " %s owner %s" msgid " %s owner %s"
msgstr "" msgstr ""
#: src/subnet.c:405 #: src/subnet.c:458
msgid "End of subnet list." msgid "End of subnet list."
msgstr "" msgstr ""
@ -920,7 +925,7 @@ msgstr ""
#: src/tincd.c:410 #: src/tincd.c:410
#, c-format #, c-format
msgid "" 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" "See the AUTHORS file for a complete list.\n"
"\n" "\n"
"tinc comes with ABSOLUTELY NO WARRANTY. This is free software,\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" msgid "Cannot route packet from %s (%s): unknown type %hx"
msgstr "" msgstr ""
#: src/node.c:183 #: src/node.c:181
msgid "Nodes:" msgid "Nodes:"
msgstr "" msgstr ""
#: src/node.c:187 #: src/node.c:185
#, c-format #, c-format
msgid "" msgid ""
" %s at %s cipher %d digest %d maclength %d compression %d options %lx status " " %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)" "%04x nexthop %s via %s pmtu %d (min %d max %d)"
msgstr "" msgstr ""
#: src/node.c:194 #: src/node.c:192
msgid "End of nodes." msgid "End of nodes."
msgstr "" msgstr ""
@ -1243,12 +1248,12 @@ msgstr ""
msgid "End of edges." msgid "End of edges."
msgstr "" msgstr ""
#: src/graph.c:263 #: src/graph.c:261
#, c-format #, c-format
msgid "Node %s (%s) became reachable" msgid "Node %s (%s) became reachable"
msgstr "" msgstr ""
#: src/graph.c:266 #: src/graph.c:265
#, c-format #, c-format
msgid "Node %s (%s) became unreachable" msgid "Node %s (%s) became unreachable"
msgstr "" 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@ # @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 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 # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
@ -39,6 +39,7 @@ POST_INSTALL = :
NORMAL_UNINSTALL = : NORMAL_UNINSTALL = :
PRE_UNINSTALL = : PRE_UNINSTALL = :
POST_UNINSTALL = : POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@ host_triplet = @host@
sbin_PROGRAMS = tincd$(EXEEXT) sbin_PROGRAMS = tincd$(EXEEXT)
subdir = src subdir = src
@ -76,21 +77,6 @@ tincd_OBJECTS = $(am_tincd_OBJECTS) $(nodist_tincd_OBJECTS)
tincd_DEPENDENCIES = $(top_builddir)/lib/libvpn.a tincd_DEPENDENCIES = $(top_builddir)/lib/libvpn.a
depcomp = $(SHELL) $(top_srcdir)/depcomp depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles 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) \ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC) CCLD = $(CC)
@ -172,6 +158,8 @@ am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__include = @am__include@ am__include = @am__include@
am__leading_dot = @am__leading_dot@ am__leading_dot = @am__leading_dot@
am__quote = @am__quote@ am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@ bindir = @bindir@
build = @build@ build = @build@
build_alias = @build_alias@ 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@ 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 @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@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c $< @am__fastdepCC_FALSE@ $(COMPILE) -c $<
.c.obj: .c.obj:
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ @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 @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@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
uninstall-info-am: uninstall-info-am:
@ -428,7 +414,7 @@ mostlyclean-generic:
clean-generic: clean-generic:
distclean-generic: distclean-generic:
-rm -f $(CONFIG_CLEAN_FILES) -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic: maintainer-clean-generic:
@echo "This command is intended for maintainers to use" @echo "This command is intended for maintainers to use"
@ -483,7 +469,7 @@ ps-am:
uninstall-am: uninstall-info-am uninstall-sbinPROGRAMS uninstall-am: uninstall-info-am uninstall-sbinPROGRAMS
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ .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 \ distclean-generic distclean-tags distdir dvi dvi-am html \
html-am info info-am install install-am install-data \ html-am info info-am install install-am install-data \
install-data-am install-exec install-exec-am install-info \ install-data-am install-exec install-exec-am install-info \

View file

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

View file

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

View file

@ -1,7 +1,7 @@
/* /*
conf.h -- header for conf.c conf.h -- header for conf.c
Copyright (C) 1998-2004 Ivo Timmermans <ivo@tinc-vpn.org> Copyright (C) 1998-2005 Ivo Timmermans <ivo@tinc-vpn.org>
2000-2004 Guus Sliepen <guus@tinc-vpn.org> 2000-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify 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 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 along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 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__ #ifndef __TINC_CONF_H__
@ -47,8 +47,8 @@ extern void exit_configuration(avl_tree_t **);
extern config_t *new_config(void) __attribute__ ((__malloc__)); extern config_t *new_config(void) __attribute__ ((__malloc__));
extern void free_config(config_t *); extern void free_config(config_t *);
extern void config_add(avl_tree_t *, 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(avl_tree_t *, char *);
extern config_t *lookup_config_next(const avl_tree_t *, const config_t *); 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_bool(const config_t *, bool *);
extern bool get_config_int(const config_t *, int *); extern bool get_config_int(const config_t *, int *);
extern bool get_config_string(const config_t *, char **); extern bool get_config_string(const config_t *, char **);

View file

@ -1,7 +1,7 @@
/* /*
connection.c -- connection list management connection.c -- connection list management
Copyright (C) 2000-2004 Guus Sliepen <guus@tinc-vpn.org>, Copyright (C) 2000-2005 Guus Sliepen <guus@tinc-vpn.org>,
2000-2004 Ivo Timmermans <ivo@tinc-vpn.org> 2000-2005 Ivo Timmermans <ivo@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify 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 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 along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 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" #include "system.h"
@ -44,7 +44,7 @@ void init_connections(void)
{ {
cp(); 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 = new_connection();
broadcast->name = xstrdup(_("everyone")); broadcast->name = xstrdup(_("everyone"));
broadcast->hostname = xstrdup(_("BROADCAST")); broadcast->hostname = xstrdup(_("BROADCAST"));

View file

@ -1,7 +1,7 @@
/* /*
connection.h -- header for connection.c connection.h -- header for connection.c
Copyright (C) 2000-2004 Guus Sliepen <guus@tinc-vpn.org>, Copyright (C) 2000-2005 Guus Sliepen <guus@tinc-vpn.org>,
2000-2004 Ivo Timmermans <ivo@tinc-vpn.org> 2000-2005 Ivo Timmermans <ivo@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify 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 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 along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 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__ #ifndef __TINC_CONNECTION_H__

View file

@ -1,7 +1,7 @@
/* /*
device.c -- Interaction with Windows tap driver in a Cygwin environment device.c -- Interaction with Windows tap driver in a Cygwin environment
Copyright (C) 2002-2004 Ivo Timmermans <ivo@tinc-vpn.org>, Copyright (C) 2002-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
2002-2004 Guus Sliepen <guus@tinc-vpn.org> 2002-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify 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 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 along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 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" #include "system.h"

View file

@ -1,7 +1,7 @@
/* /*
net.h -- generic header for device.c net.h -- generic header for device.c
Copyright (C) 2001-2004 Ivo Timmermans <zarq@iname.com> Copyright (C) 2001-2005 Ivo Timmermans <zarq@iname.com>
2001-2004 Guus Sliepen <guus@tinc-vpn.org> 2001-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify 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 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 along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 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__ #ifndef __TINC_DEVICE_H__

View file

@ -1,7 +1,7 @@
/* /*
edge.c -- edge tree management edge.c -- edge tree management
Copyright (C) 2000-2004 Guus Sliepen <guus@tinc-vpn.org>, Copyright (C) 2000-2005 Guus Sliepen <guus@tinc-vpn.org>,
2000-2004 Ivo Timmermans <ivo@tinc-vpn.org> 2000-2005 Ivo Timmermans <ivo@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify 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 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 along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 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" #include "system.h"

View file

@ -1,7 +1,7 @@
/* /*
edge.h -- header for edge.c edge.h -- header for edge.c
Copyright (C) 2001-2004 Guus Sliepen <guus@tinc-vpn.org>, Copyright (C) 2001-2005 Guus Sliepen <guus@tinc-vpn.org>,
2001-2004 Ivo Timmermans <ivo@tinc-vpn.org> 2001-2005 Ivo Timmermans <ivo@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify 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 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 along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 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__ #ifndef __TINC_EDGE_H__

View file

@ -1,7 +1,7 @@
/* /*
event.c -- event queue event.c -- event queue
Copyright (C) 2002-2004 Guus Sliepen <guus@tinc-vpn.org>, Copyright (C) 2002-2005 Guus Sliepen <guus@tinc-vpn.org>,
2002-2004 Ivo Timmermans <ivo@tinc-vpn.org> 2002-2005 Ivo Timmermans <ivo@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify 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 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 along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 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" #include "system.h"

View file

@ -1,7 +1,7 @@
/* /*
event.h -- header for event.c event.h -- header for event.c
Copyright (C) 2002-2004 Guus Sliepen <guus@tinc-vpn.org>, Copyright (C) 2002-2005 Guus Sliepen <guus@tinc-vpn.org>,
2002-2004 Ivo Timmermans <ivo@tinc-vpn.org> 2002-2005 Ivo Timmermans <ivo@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify 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 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 along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 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__ #ifndef __TINC_EVENT_H__

View file

@ -1,7 +1,7 @@
/* /*
graph.c -- graph algorithms graph.c -- graph algorithms
Copyright (C) 2001-2004 Guus Sliepen <guus@tinc-vpn.org>, Copyright (C) 2001-2005 Guus Sliepen <guus@tinc-vpn.org>,
2001-2004 Ivo Timmermans <ivo@tinc-vpn.org> 2001-2005 Ivo Timmermans <ivo@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify 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 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 along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 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: /* We need to generate two trees from the graph:
@ -54,6 +54,7 @@
#include "netutl.h" #include "netutl.h"
#include "node.h" #include "node.h"
#include "process.h" #include "process.h"
#include "subnet.h"
#include "utils.h" #include "utils.h"
/* Implementation of Kruskal's algorithm. /* Implementation of Kruskal's algorithm.
@ -141,10 +142,11 @@ void mst_kruskal(void)
void sssp_bfs(void) void sssp_bfs(void)
{ {
avl_node_t *node, *from, *next, *to; avl_node_t *node, *next, *to;
edge_t *e; edge_t *e;
node_t *n; node_t *n;
avl_tree_t *todo_tree; list_t *todo_list;
list_node_t *from, *todonext;
bool indirect; bool indirect;
char *name; char *name;
char *address, *port; char *address, *port;
@ -153,7 +155,7 @@ void sssp_bfs(void)
cp(); cp();
todo_tree = avl_alloc_tree(NULL, NULL); todo_list = list_alloc(NULL);
/* Clear visited status on nodes */ /* Clear visited status on nodes */
@ -169,15 +171,11 @@ void sssp_bfs(void)
myself->status.indirect = false; myself->status.indirect = false;
myself->nexthop = myself; myself->nexthop = myself;
myself->via = myself; myself->via = myself;
node = avl_alloc_node(); list_insert_head(todo_list, myself);
node->data = myself;
avl_insert_top(todo_tree, node);
/* Loop while todo_tree is filled */ /* Loop while todo_list is filled */
while(todo_tree->head) { for(from = todo_list->head; from; from = todonext) { /* "from" is the node from which we start */
for(from = todo_tree->head; from; from = next) { /* "from" is the node from which we start */
next = from->next;
n = from->data; n = from->data;
for(to = n->edge_tree->head; to; to = to->next) { /* "to" is the edge connected to "from" */ for(to = n->edge_tree->head; to; to = to->next) { /* "to" is the edge connected to "from" */
@ -202,7 +200,7 @@ void sssp_bfs(void)
not reachable for the nodes left of n. We do as if the indirectdata not reachable for the nodes left of n. We do as if the indirectdata
flag is set on edge e. flag is set on edge e.
- If edge e provides for better reachability of e->to, update - 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 e->to and (re)add it to the todo_list to (re)examine the reachability
of nodes behind it. of nodes behind it.
*/ */
@ -228,6 +226,8 @@ void sssp_bfs(void)
free(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); avl_insert_node(node_udp_tree, node);
if(e->to->options & OPTION_PMTU_DISCOVERY) { if(e->to->options & OPTION_PMTU_DISCOVERY) {
@ -239,16 +239,14 @@ void sssp_bfs(void)
} }
} }
node = avl_alloc_node(); list_insert_tail(todo_list, e->to);
node->data = e->to;
avl_insert_before(todo_tree, from, node);
} }
avl_delete_node(todo_tree, from); todonext = from->next;
} list_delete_node(todo_list, from);
} }
avl_free_tree(todo_tree); list_free(todo_list);
/* Check reachability status. */ /* Check reachability status. */
@ -262,9 +260,11 @@ void sssp_bfs(void)
if(n->status.reachable) { if(n->status.reachable) {
ifdebug(TRAFFIC) logger(LOG_DEBUG, _("Node %s (%s) became reachable"), ifdebug(TRAFFIC) logger(LOG_DEBUG, _("Node %s (%s) became reachable"),
n->name, n->hostname); n->name, n->hostname);
avl_insert(node_udp_tree, n);
} else { } else {
ifdebug(TRAFFIC) logger(LOG_DEBUG, _("Node %s (%s) became unreachable"), ifdebug(TRAFFIC) logger(LOG_DEBUG, _("Node %s (%s) became unreachable"),
n->name, n->hostname); n->name, n->hostname);
avl_delete(node_udp_tree, n);
} }
n->status.validkey = false; n->status.validkey = false;
@ -292,8 +292,10 @@ void sssp_bfs(void)
free(address); free(address);
free(port); free(port);
for(i = 0; i < 7; i++) for(i = 0; i < 6; i++)
free(envp[i]); free(envp[i]);
subnet_update(n, NULL, n->status.reachable);
} }
} }
} }

View file

@ -1,7 +1,7 @@
/* /*
graph.h -- header for graph.c graph.h -- header for graph.c
Copyright (C) 2001-2004 Guus Sliepen <guus@tinc-vpn.org>, Copyright (C) 2001-2005 Guus Sliepen <guus@tinc-vpn.org>,
2001-2004 Ivo Timmermans <ivo@tinc-vpn.org> 2001-2005 Ivo Timmermans <ivo@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify 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 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 along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 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__ #ifndef __TINC_GRAPH_H__

View file

@ -1,7 +1,7 @@
/* /*
device.c -- Interaction with Linux ethertap and tun/tap device device.c -- Interaction with Linux ethertap and tun/tap device
Copyright (C) 2001-2004 Ivo Timmermans <ivo@tinc-vpn.org>, Copyright (C) 2001-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
2001-2004 Guus Sliepen <guus@tinc-vpn.org> 2001-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify 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 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 along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 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" #include "system.h"

View file

@ -1,7 +1,7 @@
/* /*
logger.c -- logging code logger.c -- logging code
Copyright (C) 2004 Guus Sliepen <guus@tinc-vpn.org> Copyright (C) 2004-2005 Guus Sliepen <guus@tinc-vpn.org>
2004 Ivo Timmermans <ivo@tinc-vpn.org> 2004-2005 Ivo Timmermans <ivo@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify 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 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 along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 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" #include "system.h"

View file

@ -1,7 +1,7 @@
/* /*
meta.c -- handle the meta communication meta.c -- handle the meta communication
Copyright (C) 2000-2004 Guus Sliepen <guus@tinc-vpn.org>, Copyright (C) 2000-2005 Guus Sliepen <guus@tinc-vpn.org>,
2000-2004 Ivo Timmermans <ivo@tinc-vpn.org> 2000-2005 Ivo Timmermans <ivo@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify 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 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 along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 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" #include "system.h"

View file

@ -1,7 +1,7 @@
/* /*
meta.h -- header for meta.c meta.h -- header for meta.c
Copyright (C) 2000-2004 Guus Sliepen <guus@tinc-vpn.org>, Copyright (C) 2000-2005 Guus Sliepen <guus@tinc-vpn.org>,
2000-2004 Ivo Timmermans <ivo@tinc-vpn.org> 2000-2005 Ivo Timmermans <ivo@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify 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 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 along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 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__ #ifndef __TINC_META_H__

View file

@ -1,7 +1,7 @@
/* /*
device.c -- Interaction with Windows tap driver in a MinGW environment device.c -- Interaction with Windows tap driver in a MinGW environment
Copyright (C) 2002-2004 Ivo Timmermans <ivo@tinc-vpn.org>, Copyright (C) 2002-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
2002-2004 Guus Sliepen <guus@tinc-vpn.org> 2002-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify 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 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 along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 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" #include "system.h"

View file

@ -1,7 +1,7 @@
/* /*
net.c -- most of the network code net.c -- most of the network code
Copyright (C) 1998-2004 Ivo Timmermans <ivo@tinc-vpn.org>, Copyright (C) 1998-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
2000-2004 Guus Sliepen <guus@tinc-vpn.org> 2000-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify 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 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 along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 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" #include "system.h"

View file

@ -1,7 +1,7 @@
/* /*
net.h -- header for net.c net.h -- header for net.c
Copyright (C) 1998-2004 Ivo Timmermans <zarq@iname.com> Copyright (C) 1998-2005 Ivo Timmermans <zarq@iname.com>
2000-2004 Guus Sliepen <guus@tinc-vpn.org> 2000-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify 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 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 along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 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__ #ifndef __TINC_NET_H__

View file

@ -1,7 +1,7 @@
/* /*
net_packet.c -- Handles in- and outgoing VPN packets net_packet.c -- Handles in- and outgoing VPN packets
Copyright (C) 1998-2004 Ivo Timmermans <ivo@tinc-vpn.org>, Copyright (C) 1998-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
2000-2004 Guus Sliepen <guus@tinc-vpn.org> 2000-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify 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 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 along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 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" #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)"), ifdebug(TRAFFIC) logger(LOG_INFO, _("Broadcasting packet of %d bytes from %s (%s)"),
packet->len, from->name, from->hostname); 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) { for(node = connection_tree->head; node; node = node->next) {
c = node->data; c = node->data;

View file

@ -1,7 +1,7 @@
/* /*
net_setup.c -- Setup. net_setup.c -- Setup.
Copyright (C) 1998-2004 Ivo Timmermans <ivo@tinc-vpn.org>, Copyright (C) 1998-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
2000-2004 Guus Sliepen <guus@tinc-vpn.org> 2000-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify 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 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 along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 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" #include "system.h"
@ -462,6 +462,10 @@ bool setup_myself(void)
for(i = 0; i < 5; i++) for(i = 0; i < 5; i++)
free(envp[i]); free(envp[i]);
/* Run subnet-up scripts for our own subnets */
subnet_update(myself, NULL, true);
/* Open sockets */ /* Open sockets */
get_config_string(lookup_config(config_tree, "BindToAddress"), &address); get_config_string(lookup_config(config_tree, "BindToAddress"), &address);
@ -568,8 +572,10 @@ void close_network_connections(void)
terminate_connection(c, false); terminate_connection(c, false);
} }
if(myself && myself->connection) if(myself && myself->connection) {
subnet_update(myself, NULL, false);
terminate_connection(myself->connection, false); terminate_connection(myself->connection, false);
}
for(i = 0; i < listen_sockets; i++) { for(i = 0; i < listen_sockets; i++) {
close(listen_socket[i].tcp); close(listen_socket[i].tcp);

View file

@ -1,7 +1,7 @@
/* /*
net_socket.c -- Handle various kinds of sockets. net_socket.c -- Handle various kinds of sockets.
Copyright (C) 1998-2004 Ivo Timmermans <ivo@tinc-vpn.org>, Copyright (C) 1998-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
2000-2004 Guus Sliepen <guus@tinc-vpn.org> 2000-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify 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 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 along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 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" #include "system.h"
@ -424,6 +424,7 @@ bool handle_new_meta_connection(int sock)
sockaddrunmap(&sa); sockaddrunmap(&sa);
c = new_connection(); c = new_connection();
c->name = NULL;
c->outcipher = myself->connection->outcipher; c->outcipher = myself->connection->outcipher;
c->outdigest = myself->connection->outdigest; c->outdigest = myself->connection->outdigest;
c->outmaclength = myself->connection->outmaclength; c->outmaclength = myself->connection->outmaclength;
@ -462,8 +463,7 @@ void try_outgoing_connections(void)
cp(); cp();
for(cfg = lookup_config(config_tree, "ConnectTo"); cfg; for(cfg = lookup_config(config_tree, "ConnectTo"); cfg; cfg = lookup_config_next(config_tree, cfg)) {
cfg = lookup_config_next(config_tree, cfg)) {
get_config_string(cfg, &name); get_config_string(cfg, &name);
if(!check_id(name)) { if(!check_id(name)) {

View file

@ -1,7 +1,7 @@
/* /*
netutl.c -- some supporting network utility code netutl.c -- some supporting network utility code
Copyright (C) 1998-2004 Ivo Timmermans <ivo@tinc-vpn.org> Copyright (C) 1998-2005 Ivo Timmermans <ivo@tinc-vpn.org>
2000-2004 Guus Sliepen <guus@tinc-vpn.org> 2000-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify 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 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 along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 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" #include "system.h"

View file

@ -1,7 +1,7 @@
/* /*
netutl.h -- header file for netutl.c netutl.h -- header file for netutl.c
Copyright (C) 1998-2004 Ivo Timmermans <zarq@iname.com> Copyright (C) 1998-2005 Ivo Timmermans <zarq@iname.com>
2000-2004 Guus Sliepen <guus@tinc-vpn.org> 2000-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify 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 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 along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 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__ #ifndef __TINC_NETUTL_H__

View file

@ -1,7 +1,7 @@
/* /*
node.c -- node tree management node.c -- node tree management
Copyright (C) 2001-2004 Guus Sliepen <guus@tinc-vpn.org>, Copyright (C) 2001-2005 Guus Sliepen <guus@tinc-vpn.org>,
2001-2004 Ivo Timmermans <ivo@tinc-vpn.org> 2001-2005 Ivo Timmermans <ivo@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify 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 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 along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 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" #include "system.h"
@ -123,7 +123,6 @@ void node_add(node_t *n)
cp(); cp();
avl_insert(node_tree, n); avl_insert(node_tree, n);
avl_insert(node_udp_tree, n);
} }
void node_del(node_t *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_tree, n);
avl_delete(node_udp_tree, n);
} }
node_t *lookup_node(char *name) node_t *lookup_node(char *name)

View file

@ -1,7 +1,7 @@
/* /*
node.h -- header for node.c node.h -- header for node.c
Copyright (C) 2001-2004 Guus Sliepen <guus@tinc-vpn.org>, Copyright (C) 2001-2005 Guus Sliepen <guus@tinc-vpn.org>,
2001-2004 Ivo Timmermans <ivo@tinc-vpn.org> 2001-2005 Ivo Timmermans <ivo@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify 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 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 along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 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__ #ifndef __TINC_NODE_H__

View file

@ -1,7 +1,7 @@
/* /*
process.c -- process management functions process.c -- process management functions
Copyright (C) 1999-2004 Ivo Timmermans <ivo@tinc-vpn.org>, Copyright (C) 1999-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
2000-2004 Guus Sliepen <guus@tinc-vpn.org> 2000-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify 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 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 along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 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" #include "system.h"
@ -81,25 +81,25 @@ bool install_service(void) {
} }
if(!strchr(program_name, '\\')) { if(!strchr(program_name, '\\')) {
GetCurrentDirectory(sizeof(command) - 1, command + 1); GetCurrentDirectory(sizeof command - 1, command + 1);
strncat(command, "\\", sizeof(command)); 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++) { for(argp = g_argv + 1; *argp; argp++) {
space = strchr(*argp, ' '); space = strchr(*argp, ' ');
strncat(command, " ", sizeof(command)); strncat(command, " ", sizeof command - strlen(command));
if(space) 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) if(space)
strncat(command, "\"", sizeof(command)); strncat(command, "\"", sizeof command - strlen(command));
} }
service = CreateService(manager, identname, identname, service = CreateService(manager, identname, identname,

View file

@ -1,7 +1,7 @@
/* /*
process.h -- header file for process.c process.h -- header file for process.c
Copyright (C) 1999-2004 Ivo Timmermans <ivo@tinc-vpn.org>, Copyright (C) 1999-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
2000-2004 Guus Sliepen <guus@tinc-vpn.org> 2000-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify 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 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 along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 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__ #ifndef __TINC_PROCESS_H__

View file

@ -1,7 +1,7 @@
/* /*
protocol.c -- handle the meta-protocol, basic functions protocol.c -- handle the meta-protocol, basic functions
Copyright (C) 1999-2004 Ivo Timmermans <ivo@tinc-vpn.org>, Copyright (C) 1999-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
2000-2004 Guus Sliepen <guus@tinc-vpn.org> 2000-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify 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 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 along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 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" #include "system.h"

View file

@ -1,7 +1,7 @@
/* /*
protocol.h -- header for protocol.c protocol.h -- header for protocol.c
Copyright (C) 1999-2004 Ivo Timmermans <ivo@tinc-vpn.org>, Copyright (C) 1999-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
2000-2004 Guus Sliepen <guus@tinc-vpn.org> 2000-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify 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 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 along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 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__ #ifndef __TINC_PROTOCOL_H__

View file

@ -1,7 +1,7 @@
/* /*
protocol_auth.c -- handle the meta-protocol, authentication protocol_auth.c -- handle the meta-protocol, authentication
Copyright (C) 1999-2004 Ivo Timmermans <ivo@tinc-vpn.org>, Copyright (C) 1999-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
2000-2004 Guus Sliepen <guus@tinc-vpn.org> 2000-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify 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 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 along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 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" #include "system.h"
@ -76,8 +76,11 @@ bool id_h(connection_t *c)
c->name); c->name);
return false; return false;
} }
} else } else {
if(c->name)
free(c->name);
c->name = xstrdup(name); c->name = xstrdup(name);
}
/* Check if version matches */ /* Check if version matches */

View file

@ -1,7 +1,7 @@
/* /*
protocol_edge.c -- handle the meta-protocol, edges protocol_edge.c -- handle the meta-protocol, edges
Copyright (C) 1999-2004 Ivo Timmermans <ivo@tinc-vpn.org>, Copyright (C) 1999-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
2000-2004 Guus Sliepen <guus@tinc-vpn.org> 2000-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify 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 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 along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 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" #include "system.h"

View file

@ -1,7 +1,7 @@
/* /*
protocol_key.c -- handle the meta-protocol, key exchange protocol_key.c -- handle the meta-protocol, key exchange
Copyright (C) 1999-2004 Ivo Timmermans <ivo@tinc-vpn.org>, Copyright (C) 1999-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
2000-2004 Guus Sliepen <guus@tinc-vpn.org> 2000-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify 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 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 along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 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" #include "system.h"

View file

@ -1,7 +1,7 @@
/* /*
protocol_misc.c -- handle the meta-protocol, miscellaneous functions protocol_misc.c -- handle the meta-protocol, miscellaneous functions
Copyright (C) 1999-2004 Ivo Timmermans <ivo@tinc-vpn.org>, Copyright (C) 1999-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
2000-2004 Guus Sliepen <guus@tinc-vpn.org> 2000-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify 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 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 along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 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" #include "system.h"

View file

@ -1,7 +1,7 @@
/* /*
protocol_subnet.c -- handle the meta-protocol, subnets protocol_subnet.c -- handle the meta-protocol, subnets
Copyright (C) 1999-2004 Ivo Timmermans <ivo@tinc-vpn.org>, Copyright (C) 1999-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
2000-2004 Guus Sliepen <guus@tinc-vpn.org> 2000-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify 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 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 along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 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" #include "system.h"
@ -134,6 +134,9 @@ bool add_subnet_h(connection_t *c)
*(new = new_subnet()) = s; *(new = new_subnet()) = s;
subnet_add(owner, new); subnet_add(owner, new);
if(owner->status.reachable)
subnet_update(owner, new, true);
/* Tell the rest */ /* Tell the rest */
if(!tunnelserver) if(!tunnelserver)
@ -229,6 +232,9 @@ bool del_subnet_h(connection_t *c)
/* Finally, delete it. */ /* Finally, delete it. */
if(owner->status.reachable)
subnet_update(owner, find, false);
subnet_del(owner, find); subnet_del(owner, find);
return true; return true;

View file

@ -1,7 +1,7 @@
/* /*
device.c -- raw socket device.c -- raw socket
Copyright (C) 2002-2004 Ivo Timmermans <ivo@tinc-vpn.org>, Copyright (C) 2002-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
2002-2004 Guus Sliepen <guus@tinc-vpn.org> 2002-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify 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 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 along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 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" #include "system.h"

View file

@ -1,7 +1,7 @@
/* /*
route.c -- routing route.c -- routing
Copyright (C) 2000-2004 Ivo Timmermans <ivo@tinc-vpn.org>, Copyright (C) 2000-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
2000-2004 Guus Sliepen <guus@tinc-vpn.org> 2000-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify 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 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 along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 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" #include "system.h"

View file

@ -1,7 +1,7 @@
/* /*
route.h -- header file for route.c route.h -- header file for route.c
Copyright (C) 2000-2004 Ivo Timmermans <zarq@iname.com> Copyright (C) 2000-2005 Ivo Timmermans <zarq@iname.com>
2000-2004 Guus Sliepen <guus@tinc-vpn.org> 2000-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify 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 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 along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 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__ #ifndef __TINC_ROUTE_H__

View file

@ -1,7 +1,7 @@
/* /*
device.c -- Interaction with Solaris tun device device.c -- Interaction with Solaris tun device
Copyright (C) 2001-2004 Ivo Timmermans <ivo@tinc-vpn.org>, Copyright (C) 2001-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
2001-2004 Guus Sliepen <guus@tinc-vpn.org> 2001-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify 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 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 along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 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 subnet.c -- handle subnet lookups and lists
Copyright (C) 2000-2004 Guus Sliepen <guus@tinc-vpn.org>, Copyright (C) 2000-2005 Guus Sliepen <guus@tinc-vpn.org>,
2000-2004 Ivo Timmermans <ivo@tinc-vpn.org> 2000-2005 Ivo Timmermans <ivo@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify 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 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 along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 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 "system.h"
#include "avl_tree.h" #include "avl_tree.h"
#include "device.h"
#include "logger.h" #include "logger.h"
#include "net.h" #include "net.h"
#include "netutl.h" #include "netutl.h"
#include "node.h" #include "node.h"
#include "process.h"
#include "subnet.h" #include "subnet.h"
#include "utils.h" #include "utils.h"
#include "xalloc.h" #include "xalloc.h"
@ -245,6 +247,11 @@ bool net2str(char *netstr, int len, const subnet_t *subnet)
{ {
cp(); cp();
if(!netstr || !subnet) {
logger(LOG_ERR, _("net2str() was called with netstr=%p, subnet=%p!\n"), netstr, subnet);
return false;
}
switch (subnet->type) { switch (subnet->type) {
case SUBNET_MAC: case SUBNET_MAC:
snprintf(netstr, len, "%hx:%hx:%hx:%hx:%hx:%hx", snprintf(netstr, len, "%hx:%hx:%hx:%hx:%hx:%hx",
@ -385,6 +392,52 @@ subnet_t *lookup_subnet_ipv6(const ipv6_t *address)
return p; 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) void dump_subnets(void)
{ {
char netstr[MAXNETSTR]; char netstr[MAXNETSTR];

View file

@ -1,7 +1,7 @@
/* /*
subnet.h -- header for subnet.c subnet.h -- header for subnet.c
Copyright (C) 2000-2004 Guus Sliepen <guus@tinc-vpn.org>, Copyright (C) 2000-2005 Guus Sliepen <guus@tinc-vpn.org>,
2000-2004 Ivo Timmermans <ivo@tinc-vpn.org> 2000-2005 Ivo Timmermans <ivo@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify 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 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 along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 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__ #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 free_subnet_tree(avl_tree_t *);
extern void subnet_add(struct node_t *, subnet_t *); extern void subnet_add(struct node_t *, subnet_t *);
extern void subnet_del(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 net2str(char *, int, const subnet_t *);
extern bool str2net(subnet_t *, const char *); extern bool str2net(subnet_t *, const char *);
extern subnet_t *lookup_subnet(const struct node_t *, const subnet_t *); 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 tincd.c -- the main file for tincd
Copyright (C) 1998-2004 Ivo Timmermans <ivo@tinc-vpn.org> Copyright (C) 1998-2005 Ivo Timmermans <ivo@tinc-vpn.org>
2000-2004 Guus Sliepen <guus@tinc-vpn.org> 2000-2005 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify 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 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 along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 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" #include "system.h"
@ -407,7 +407,7 @@ int main(int argc, char **argv)
if(show_version) { if(show_version) {
printf(_("%s version %s (built %s %s, protocol %d)\n"), PACKAGE, printf(_("%s version %s (built %s %s, protocol %d)\n"), PACKAGE,
VERSION, __DATE__, __TIME__, PROT_CURRENT); 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" "See the AUTHORS file for a complete list.\n\n"
"tinc comes with ABSOLUTELY NO WARRANTY. This is free software,\n" "tinc comes with ABSOLUTELY NO WARRANTY. This is free software,\n"
"and you are welcome to redistribute it under certain conditions;\n" "and you are welcome to redistribute it under certain conditions;\n"

View file

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

View file

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