Carsten Schlote wrote: > From: Carsten Schlote <[email protected]> > > This packet provides IPV6 networking with the teredo protocol. The > protocol allows for instant IPV6 networking without any kind > of registration or setup. > > Default generic files are taken from miredo sources. > > Signed-off-by: Carsten Schlote <[email protected]> > --- > generic/etc/init.d/miredo-server | 89 ++++++++++++++++++++++++++++++ > generic/etc/miredo/client-hook | 70 ++++++++++++++++++++++++ > generic/etc/miredo/miredo-server.conf | 22 ++++++++ > generic/etc/miredo/miredo.conf | 35 ++++++++++++ > patches/miredo-1.2.2/autogen.sh | 1 + > patches/miredo-1.2.2/series | 3 + > rules/miredo.in | 19 +++++++ > rules/miredo.make | 96 > +++++++++++++++++++++++++++++++++ > 8 files changed, 335 insertions(+), 0 deletions(-) > create mode 100644 generic/etc/init.d/miredo-server > create mode 100644 generic/etc/miredo/client-hook > create mode 100644 generic/etc/miredo/miredo-server.conf > create mode 100644 generic/etc/miredo/miredo.conf > create mode 120000 patches/miredo-1.2.2/autogen.sh > create mode 100644 patches/miredo-1.2.2/dummy.patch > create mode 100644 patches/miredo-1.2.2/series > create mode 100644 rules/miredo.in > create mode 100644 rules/miredo.make > > diff --git a/generic/etc/init.d/miredo-server > b/generic/etc/init.d/miredo-server > new file mode 100644 > index 0000000..271d173 > --- /dev/null > +++ b/generic/etc/init.d/miredo-server > @@ -0,0 +1,89 @@ > +#! /bin/sh > +# $Id: miredo-server.init 1754 2006-09-18 14:25:04Z remi $ > +# > +# miredo-server start/stop script for Debian GNU/Linux > +# Author: Rémi Denis-Courmont <rdenis (at) simphalempin (dot) com> > +# > +# chkconfig: 345 17 83 > +# description: Starts and stops the miredo-server daemon \ > +# used to provide a Teredo server. > +# > +### BEGIN INIT INFO > +# Provides: > +# Required-Start: $local_fs $remote_fs $network $syslog $time > +# Required-Stop: $local_fs $remote_fs $syslog > +# Short-Description: Teredo server > +# Description: miredo-server daemon to provide a Teredo server > +# Default-Start: 3 4 5 > +# Default-Stop: 0 1 2 6 > +### END INIT INFO > + > + > +PATH=/usr/sbin:/usr/bin:/sbin:/bin > +DESC="Teredo server daemon" > +NAME=miredo-server > +DAEMON=/usr/sbin/$NAME > +DAEMON_ARGS="" > +PIDFILE=/var/run/$NAME.pid > +SCRIPTNAME=/etc/init.d/$NAME > + > +[ -x "$DAEMON" ] || exit 0 > + > +# Source defaults. > +[ -r /etc/default/$NAME ] && . /etc/default/$NAME > + > +# Ensure configuration is readable. > +[ -r /etc/$NAME.conf ] || exit 0 > + > +. /lib/lsb/init-functions
I think you cannot expect this to exist.
> +
> +check_start() {
> + if [ "x$START_MIREDO_SERVER" != "xtrue" ]; then
> + echo "START_MIREDO_SERVER is set to false in
> /etc/default/$NAME"
> + echo "$DAEMON not starting"
> + exit 0
> + fi
> +}
> +
> +check_chroot_dir() {
> + if [ -d "/var/run/$NAME" ]; then
> + mkdir -p "/var/run/$NAME"
> + chmod 0755 "/var/run/$NAME"
> + fi
> +}
> +
> +
> +case "$1" in
> + start)
> + check_start
> + check_chroot_dir
> + log_daemon_msg "Starting $DESC" "$NAME"
> + start-stop-daemon --start --quiet --pidfile "$PIDFILE" \
> + --exec "$DAEMON" --oknodo -- $DAEMON_ARGS
> + log_end_msg $?
> + ;;
> + stop)
> + log_daemon_msg "Stopping $DESC" "$NAME"
> + start-stop-daemon --stop --quiet --pidfile "$PIDFILE" \
> + --retry 1 --oknodo
> + log_end_msg $?
> + ;;
> + reload|force-reload)
> + log_daemon_msg "Reloading $DESC" "$NAME"
> + start-stop-daemon --stop --signal 1 --quiet --pidfile "$PIDFILE" \
> + --exec "$DAEMON"
> + log_end_msg $?
> + ;;
> + restart)
> + check_start # avoid stopping if would not restart
> + $0 stop
> + sleep 1
> + $0 start
> + ;;
> + *)
> + echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}"
> >&2
> + exit 1
> + ;;
> +esac
> +
> +exit $?
> diff --git a/generic/etc/miredo/client-hook b/generic/etc/miredo/client-hook
> new file mode 100644
> index 0000000..87ae405
> --- /dev/null
> +++ b/generic/etc/miredo/client-hook
> @@ -0,0 +1,70 @@
> +#! /bin/sh
> +#
> +# Miredo client hook script for Linux/iproute2
> +# Copyright © 2007 Rémi Denis-Courmont.
> +# Distributed under the terms of the GNU General Public License version 2.
> +
> +# Linux iproute2 path:
> +IP="/sbin/ip"
> +
> +# Linux default route default metric is 1024
> +# (we put 1029 so that Teredo is used as a last resort):
> +METRIC=1029
> +
> +# Linux routing table ID
> +# (possible values: 1-252 from /etc/iproute/rt_tables):
> +TABLE="teredo"
> +
> +# Linux routing rule priority
> +# (possible values: 1-32765, lowest number is highest priority):
> +PRIO=32765
> +
> +# MTU for the tunnel interface
> +# (default: specified by the Teredo server, or 1280)
> +#MTU=1400
> +
> +if ! test -x "$IP"; then
> + echo "$0: iproute2 is required! Please install it." >&2
> + exit 1
> +fi
> +
> +# Nothing to do with destroy event
> +if test "$STATE" = "destroy"; then exit 0; fi
> +
> +# If the source routing table is not configured, ignore it.
> +if ! "$IP" route show table "$TABLE" >/dev/null 2>&1; then
> + unset TABLE
> +else
> + if test "$OLD_ADDRESS"; then
> + "$IP" -6 rule del from "$OLD_ADDRESS" \
> + prio "$PRIO" table "$TABLE" 2>/dev/null
> + fi
> + "$IP" -6 route flush table "$TABLE" 2>/dev/null
> +fi
> +
> +"$IP" -6 route flush dev "$IFACE" 2>/dev/null
> +"$IP" -6 address flush dev "$IFACE" 2>/dev/null
> +
> +"$IP" -6 link set dev "$IFACE" "$STATE"
> +if test "$MTU"; then
> + "$IP" link set dev "$IFACE" mtu "$MTU"
> +fi
> +
> +case "$STATE" in
> + up)
> + "$IP" -6 address add "${LLADDRESS}/64" dev "$IFACE"
> + "$IP" -6 address add "${ADDRESS}/32" dev "$IFACE"
> + "$IP" -6 route add default dev "$IFACE" metric "$METRIC"
> +
> + if test "$TABLE"; then
> + "$IP" -6 route add default dev "$IFACE" table "$TABLE"
> + "$IP" -6 rule add from "$ADDRESS" \
> + prio "$PRIO" table "$TABLE"
> + fi
> +esac
> +
> +# This should be required when changing policy routing rules, but it
> +# seems to confuse certain kernels into removing our default route!
> +#"$IP" -6 route flush cache 2>/dev/null
> +
> +exit 0
> diff --git a/generic/etc/miredo/miredo-server.conf
> b/generic/etc/miredo/miredo-server.conf
> new file mode 100644
> index 0000000..b2e2613
> --- /dev/null
> +++ b/generic/etc/miredo/miredo-server.conf
> @@ -0,0 +1,22 @@
> +#! /usr/sbin/miredo-server -f -c
> +#
> +# Sample configuration file for miredo-server
> +
> +# Please refer to the miredo-server.conf(5) manpage for details.
> +
> +# Server primary IPv4 address.
> +# Two public IPv4 addresses are needed to operate a Teredo server.
> +# Miredo will open UDP port 3544 on both addresses.
> +ServerBindAddress 192.0.2.221
> +
> +# Server secondary IPv4 address.
> +# The Microsoft Windows Teredo client implementation assumes that the
> +# secondary address is the primary address plus one. This is the
> +# default unless uncommented.
> +#ServerBindAddress2 192.0.2.222
> +
> +#SyslogFacility user
> +
> +# Think twice before modifying the settings above.
> +#Prefix 2001:0::
> +#InterfaceMTU 1280
> diff --git a/generic/etc/miredo/miredo.conf b/generic/etc/miredo/miredo.conf
> new file mode 100644
> index 0000000..732de88
> --- /dev/null
> +++ b/generic/etc/miredo/miredo.conf
> @@ -0,0 +1,35 @@
> +#! /usr/sbin/miredo -f -c
> +#
> +# Sample configuration file for Miredo
> +
> +# Please refer to the miredo.conf(5) man page for details.
> +
> +# Miredo can safely run as a Teredo client, which is the default.
> +#RelayType client
> +
> +# Name of the network tunneling interface.
> +InterfaceName teredo
> +
> +# Depending on the local firewall/NAT rules, you might need to force
> +# Miredo to use a fixed UDP port and or IPv4 address.
> +#BindPort 3545
> +#BindAddress 192.0.2.100
> +
> +#SyslogFacility user
> +
> +## CLIENT-SPECIFIC OPTIONS
> +# The hostname or primary IPv4 address of the Teredo server.
> +# This setting is required if Miredo runs as a Teredo client.
> +#**************************************************************************#
> +# teredo.remlab.net is an experimental service for testing only. #
> +# Please use another server for production and/or large scale deployments. #
> +#**************************************************************************#
> +#ServerAddress teredo.ipv6.microsoft.com
> +#ServerAddress teredo.ginzado.ne.jp
> +#ServerAddress teredo.iks-jena.de
> +ServerAddress teredo.remlab.net
> +#ServerAddress2 teredo2.remlab.net
> +
> +## RELAY-SPECIFIC OPTIONS
> +#Prefix 2001:0::
> +#InterfaceMTU 1280
> diff --git a/patches/miredo-1.2.2/autogen.sh b/patches/miredo-1.2.2/autogen.sh
> new file mode 120000
> index 0000000..9f8a4cb
> --- /dev/null
> +++ b/patches/miredo-1.2.2/autogen.sh
> @@ -0,0 +1 @@
> +../autogen.sh
> \ No newline at end of file
> diff --git a/patches/miredo-1.2.2/dummy.patch
> b/patches/miredo-1.2.2/dummy.patch
> new file mode 100644
> index 0000000..e69de29
> diff --git a/patches/miredo-1.2.2/series b/patches/miredo-1.2.2/series
> new file mode 100644
> index 0000000..5f57aaf
> --- /dev/null
> +++ b/patches/miredo-1.2.2/series
> @@ -0,0 +1,3 @@
> +# Required dummy patch to get autogen.sh executed without error
> +dummy.patch
> +
> diff --git a/rules/miredo.in b/rules/miredo.in
> new file mode 100644
> index 0000000..4fa8b6d
> --- /dev/null
> +++ b/rules/miredo.in
> @@ -0,0 +1,19 @@
> +## SECTION=networking
> +
> +menuconfig MIREDO
> + tristate
> + prompt "miredo "
> + help
> + Miredo is an open-source implementation of the Teredo: Tunneling IPv6
> over UDP
> + through NATs Internet proposed standard (RFC 4380), targetting the
> Linux kernel
> + and BSD operating systems. The purpose of Teredo IPv6 tunneling is to
> provide
> + IPv6 connectivity to users behind NAT devices, such as most broadband
> routers,
> + most of which do not support IPv6.
> +
> +if MIREDO
> +
> +config MIREDO_INSTALL_SERVER
> + bool
> + prompt "Install miredo-server.conf and init.d script"
> +
> +endif
> diff --git a/rules/miredo.make b/rules/miredo.make
> new file mode 100644
> index 0000000..72589be
> --- /dev/null
> +++ b/rules/miredo.make
> @@ -0,0 +1,96 @@
> +# -*-makefile-*-
> +#
> +# Copyright (C) 2008 by Carsten Schlote <[email protected]>
> +#
> +# See CREDITS for details about who has contributed to this project.
> +#
> +# For further information about the PTXdist project and license conditions
> +# see the README file.
> +#
> +
> +#
> +# We provide this package
> +#
> +PACKAGES-$(PTXCONF_MIREDO) += miredo
> +
> +#
> +# Paths and names
> +#
> +MIREDO_VERSION := 1.2.2
> +MIREDO := miredo-$(MIREDO_VERSION)
> +MIREDO_SUFFIX := tar.bz2
> +MIREDO_URL := http://www.remlab.net/files/miredo/$(MIREDO).$(MIREDO_SUFFIX)
> +MIREDO_SOURCE := $(SRCDIR)/$(MIREDO).$(MIREDO_SUFFIX)
> +MIREDO_DIR := $(BUILDDIR)/$(MIREDO)
> +
> +#
> ----------------------------------------------------------------------------
> +# Get
> +#
> ----------------------------------------------------------------------------
> +
> +$(MIREDO_SOURCE):
> + @$(call targetinfo)
> + @$(call get, MIREDO)
> +
> +#
> ----------------------------------------------------------------------------
> +# Prepare
> +#
> ----------------------------------------------------------------------------
> +
> +MIREDO_PATH := PATH=$(CROSS_PATH)
> +MIREDO_ENV := $(CROSS_ENV)
> +
> +#
> +# autoconf
> +#
> +MIREDO_AUTOCONF := $(CROSS_AUTOCONF_USR) \
> + --localstatedir=/var \
> + --without-Judy
> +
> +#
> ----------------------------------------------------------------------------
> +# Target-Install
> +#
> ----------------------------------------------------------------------------
> +
> +$(STATEDIR)/miredo.targetinstall:
> + @$(call targetinfo)
> +
> + @$(call install_init, miredo)
> + @$(call install_fixup, miredo,PACKAGE,miredo)
> + @$(call install_fixup, miredo,PRIORITY,optional)
> + @$(call install_fixup, miredo,VERSION,$(MIREDO_VERSION))
> + @$(call install_fixup, miredo,SECTION,base)
> + @$(call install_fixup, miredo,AUTHOR,"Carsten Schlote
> <[email protected]>")
> + @$(call install_fixup, miredo,DEPENDS,)
> + @$(call install_fixup, miredo,DESCRIPTION,missing)
> +
> +# # -- Library section
> +
> + @$(call install_copy, miredo, 0, 0, 0644, -,
> /usr/lib/libteredo.so.5.0.0)
> + @$(call install_link, miredo, libteredo.so.5.0.0,
> /usr/lib/libteredo.so.5)
> +
> + @$(call install_copy, miredo, 0, 0, 0644, -, /usr/lib/libtun6.so.0.1.1)
> + @$(call install_link, miredo, libtun6.so.0.1.1, /usr/lib/libtun6.so.0.1)
> + @$(call install_link, miredo, libtun6.so.0.1.1, /usr/lib/libtun6.so.0)
> +
> + @$(call install_copy, miredo, 0, 0, 0755, -,
> /usr/lib/miredo/miredo-privproc)
> +
> +# # -- Executables
> +
> + @$(call install_copy, miredo, 0, 0, 0755, -, /usr/bin/teredo-mire)
> +
> + @$(call install_copy, miredo, 0, 0, 0755, -, /usr/sbin/miredo)
> + @$(call install_copy, miredo, 0, 0, 0755, -, /usr/sbin/miredo-checkconf)
> +
> +# # -- Configs
> +
> + @$(call install_copy, miredo, 0, 0, 0755, -, /etc/miredo/client-hook)
> + @$(call install_alternative, miredo, 0, 0, 0644,
> /etc/miredo/miredo.conf)
> +
> + ifdef PTXCONF_MIREDO_INSTALL_SERVER
> + @$(call install_alternative, miredo, 0, 0, 0644,
> /etc/miredo/miredo-server.conf)
> + @$(call install_alternative, miredo, 0, 0, 0644,
> /etc/init.d/miredo-server, n)
> + @$(call install_copy, miredo, 0, 0, 0755, -, /usr/sbin/miredo-server)
> + endif
> + @$(call install_finish, miredo)
> + @$(call touch)
> +
> +
> +# vim: syntax=make
>
>
> ------------------------------------------------------------------------
>
> --
> ptxdist mailing list
> [email protected]
--
Pengutronix e.K. | Marc Kleine-Budde |
Industrial Linux Solutions | Phone: +49-231-2826-924 |
Vertretung West/Dortmund | Fax: +49-5121-206917-5555 |
Amtsgericht Hildesheim, HRA 2686 | http://www.pengutronix.de |
signature.asc
Description: OpenPGP digital signature
-- ptxdist mailing list [email protected]
