Carsten Schlote wrote:
> From: Carsten Schlote <c.schl...@konzeptpark.de>
> 
> 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 <c.schl...@konzeptpark.de>
> ---
>  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 <c.schl...@konzeptpark.de>
> +#
> +# 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 
> <c.schl...@konzeptpark.de>")
> +     @$(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
> ptxdist@pengutronix.de


-- 
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   |

Attachment: signature.asc
Description: OpenPGP digital signature

--
ptxdist mailing list
ptxdist@pengutronix.de

Reply via email to