summaryrefslogtreecommitdiff
path: root/net-dialup/diald
diff options
context:
space:
mode:
Diffstat (limited to 'net-dialup/diald')
-rw-r--r--net-dialup/diald/Manifest11
-rw-r--r--net-dialup/diald/diald-1.0-r3.ebuild58
-rw-r--r--net-dialup/diald/files/diald-1.0-gentoo.patch50
-rw-r--r--net-dialup/diald/files/diald-1.0-nopam.patch40
-rw-r--r--net-dialup/diald/files/diald-1.0-posix.patch42
-rw-r--r--net-dialup/diald/files/diald-init29
-rw-r--r--net-dialup/diald/files/diald.conf38
-rw-r--r--net-dialup/diald/files/diald.filter138
-rw-r--r--net-dialup/diald/metadata.xml10
9 files changed, 416 insertions, 0 deletions
diff --git a/net-dialup/diald/Manifest b/net-dialup/diald/Manifest
new file mode 100644
index 000000000000..635615da2a9a
--- /dev/null
+++ b/net-dialup/diald/Manifest
@@ -0,0 +1,11 @@
+AUX diald-1.0-gentoo.patch 2833 SHA256 ace2671a8eb4a732663acf2f30f15a08109e10c0724de4d2afb2cab48f8a8c03 SHA512 0054c666b69632975421efda8c3321e9151453aee74d3e6af9d5baeddaaa8f717acd029fd050a97602c472e4da08df507ef0efa72e8f2390787f023560cb5ed0 WHIRLPOOL 5cbb3b247fbc18e5a9eb7ea9701dae3380604d59e28f119d896cffe411681f0516a58d7bcd44f81cdd4dc349132b68c18f9f78779e098aca67f4b5be8ba7ce39
+AUX diald-1.0-nopam.patch 1621 SHA256 1dd5493880a40395ea63769739fd265900f2171d1f48096070d81d44d13fdad1 SHA512 d80dd6c7882e4b938b9cc2f803d7a0f6f2d1bf108e421e0dabe774c30f177e679f2bdf2f30803cf7c78cbfa6645cb55e38963fbac3a633a067462ef3b4c33424 WHIRLPOOL e4f4f5bdf357b33f2b4b8a9a2d6a9bea20a23b801c1f99e7915bc7ace8b6bed66f218a9ff1223d96b2d272d9b16a90cb84c3b4e1bd691fc2356dab7fcecd1989
+AUX diald-1.0-posix.patch 1275 SHA256 fa2a3f830166783392f571b1f1b766718fd1583ae36148d5eb6acd3bbb92dc5d SHA512 ea2384b0de99a502b33e3d0f0e3b068ab854e8f25ad98f7d95075a8eb12b7b0d2965d19ec2ee569fd4a66f94c3f3bfd59ccce31826375642692d27818f16535d WHIRLPOOL d2469de4ed4cb786021788b9a1770087ea3b69878b1ee2fae9328481814fce6885c9721c8b4bf9e9e0ce5474de03d5a42f40bea2bcc69651acd1c70c0b3a9051
+AUX diald-init 609 SHA256 825bf653d0d04fd52097bd9d250d7c015555eafdbe61289ea2260819b63c4643 SHA512 9b7feb6ffafc72137636d9fcc6be9f196faebf0d160ccdd3e3d2c6a02577737da850529c426b4e9c0bd40fd15d73ed7cfa3a47b8c738e841410298ce58e486da WHIRLPOOL 092f9a9b9f69ee1024e9df883ba2586bafc81e5cefa9b22c697abb89465345f6d4759a17da24459e951c7611e72ee82a8afcefc9375357bfbc8ba1935b4695a3
+AUX diald.conf 884 SHA256 eab65711dd95a50aaf0dffa62fbc29c44f08a65a1ed6e1dfb312a992b62b76d4 SHA512 5ec12d52eee408f544167b87f8bf19908af4887b0c26e07775b420303869f66ef67391beda202f75bcf8d0b1dae9effcf875b2c09fbfd1d47bfd980f391badd2 WHIRLPOOL ff6d23b07e50c54d724afe8f89c5b1e14be9b5eea384695fb2d372aebec1d794ae9c9569fe13f40aa743404ef2288a777a1254a4c9860035b9a6ba0bcef4ee17
+AUX diald.filter 4532 SHA256 dad1dccfe307e57849b4b15808c76f9bd60af403bea35f243763c3234569d46d SHA512 0eb435d4cccb685b930d5601c05f21dd13b3ec3c58a9d48d04ecc8895a9ed5b3568a6187e2baa303bda587b4182f8db1322f90d50692f41fbfe7e21f9f54df68 WHIRLPOOL 81f4fe22b19fde62d507f90d6d34cadf0ce4f9571fa12c103fe8af2bbdf9ac994cb981fb4a6b9634ce34096fe4cc50373af7da696abc69da5cc3cd0f7543859e
+DIST diald-1.0.tar.gz 199698 SHA256 dd7630811006ad0f49512de9f2fa6705e50fb475c5bb12e2dde77e198a863bd0 SHA512 e9429e63b70f06801fafcb325630bf86775835df386799b003d85df691fdd2fe8cda261735c4d9baf2663ece6e369bd51a0f6c5031e62d4870b3253a1c49ce25 WHIRLPOOL 5dd0e5c18d1094bb2789dd70a4a8037319a10087675cf322ab0e09beda193ffd340d441a1e69fe35583500d25de90093409616f0cd1d2d0d0fdd68c07afa2447
+EBUILD diald-1.0-r3.ebuild 1380 SHA256 ddddf2663ebf9afdee40157748e15057567dc55142c78942ddf810743391c68a SHA512 01a503fc569839ce92fa0d204048597fb11a19e81af46e3cd531e6f1e250c07dbdd80ab684342f166002c4e9a9a399cf569f2b5ddfb88c6040ba187db86a7c57 WHIRLPOOL d050a3e01d5c440815db6ea5cc103dc8e5a84f586f9871f64d7c325384f0ca6999a1b60ed9c750d29b9862015b509f3483b696e3cc6d62b208754cad441e4ecc
+MISC ChangeLog 2869 SHA256 73d8370fa393066aa8431543582bfb85884b65f9ee44a3e8aaad3a814bb54cbd SHA512 c0ce3810ca09bbfdcb90fc02ccf90d5d5f5bc91eb429b8caa610b0bd092aa1c6704b2634e7706ab1cc998a18fc0c768ae825aa10088c5bc1a47a1579379fc2d7 WHIRLPOOL e5e73afeaafa6e01724942e4f3f90980b0c6d931b5fa313ea445c1d33cf5a0990cdc040d63ab8fa0b7113164309f7e09b253bc7a72d658c1cf89bb968d620335
+MISC ChangeLog-2015 2180 SHA256 386ee3eb929b0a29a505a48b9fee1749d5fd6eba09ed5d8a6c3e566f7c2db1b2 SHA512 1d03b19e310c8706d1635a788affc48d4c3cbcd019a34f0c994e7cdd8e8be2ce1edfc5fb784ae415727f2ec193d4d06cbb92fca86a6728f40ad740ebb55387cd WHIRLPOOL a1b62762ed69e808aa474b5758354c49ac6302b092281dbb2900587dd9ff4621eaaf4f7bf3cfa2b94031f56d8372bb78d44d9ba1928a36cd69768e7709538a33
+MISC metadata.xml 403 SHA256 75aa824c2e0874ce99cf8dbead6295ce99a2b7a2f1cb28f93af214165b8521ce SHA512 40d961035107b6bd8ab81e48597e83ea91e6f2edf9ee2773c0312105a731e51f2e026c2d852234d9a1fde3574e39830a459c2c6cd0eb1bc155e8f658d9b70434 WHIRLPOOL 0738e14847f9925ac108e34914b99fc4e604acc67b2398f3dfc4cd446ce9e2a8b08e4945e7155b2af327feac4c42db06d5277b24d39f756f8449a070b0695bbb
diff --git a/net-dialup/diald/diald-1.0-r3.ebuild b/net-dialup/diald/diald-1.0-r3.ebuild
new file mode 100644
index 000000000000..46729a5be186
--- /dev/null
+++ b/net-dialup/diald/diald-1.0-r3.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools pam
+
+DESCRIPTION="Daemon that provides on demand IP links via SLIP or PPP"
+HOMEPAGE="http://diald.sourceforge.net"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="Old-MIT GPL-2" # GPL-2 only for init script
+SLOT="0"
+KEYWORDS="~amd64 x86"
+IUSE="pam"
+
+DEPEND="pam? ( virtual/pam )
+ sys-apps/tcp-wrappers"
+RDEPEND="${DEPEND}
+ net-dialup/ppp"
+
+src_prepare() {
+ eapply "${FILESDIR}/${P}-posix.patch"
+ eapply "${FILESDIR}/${P}-gentoo.patch"
+ if ! use pam; then
+ eapply "${FILESDIR}/${P}-nopam.patch"
+ rm "${S}"/README.pam
+ cd "${S}"
+ eautoconf
+ fi
+ eapply_user
+}
+
+src_install() {
+ emake \
+ DESTDIR="${D}" \
+ sysconfdir=/etc \
+ bindir=/usr/bin \
+ sbindir=/usr/sbin \
+ mandir=/usr/share/man \
+ libdir=/usr/lib/diald \
+ BINGRP=root \
+ ROOTUID=root \
+ ROOTGRP=root \
+ install
+ use pam && pamd_mimic_system diald auth account
+
+ dodir /var/cache/diald
+ mknod -m 0660 "${D}/var/cache/diald/diald.ctl" p
+
+ dodoc BUGS CHANGES NOTES README* \
+ THANKS TODO TODO.budget doc/diald-faq.txt
+ docinto setup ; cp -pPR setup/* "${D}/usr/share/doc/${PF}/setup"
+ docinto contrib ; cp -pPR contrib/* "${D}/usr/share/doc/${PF}/contrib"
+
+ insinto /etc/diald ; doins "${FILESDIR}"/{diald.conf,diald.filter}
+ newinitd "${FILESDIR}/diald-init" diald
+}
diff --git a/net-dialup/diald/files/diald-1.0-gentoo.patch b/net-dialup/diald/files/diald-1.0-gentoo.patch
new file mode 100644
index 000000000000..0e6f538ef76c
--- /dev/null
+++ b/net-dialup/diald/files/diald-1.0-gentoo.patch
@@ -0,0 +1,50 @@
+diff -Nru diald-1.0.orig/Makefile.in diald-1.0/Makefile.in
+--- diald-1.0.orig/Makefile.in 2008-04-13 21:09:37.000000000 +0300
++++ diald-1.0/Makefile.in 2008-04-13 21:11:17.000000000 +0300
+@@ -21,9 +21,13 @@
+ mandir = @mandir@
+
+
++ROOTUID = root
++ROOTGRP = root
++BINGRP = bin
++
+ CC = @CC@
+ CFLAGS = @CFLAGS@ @DEFS@ -I$(srcdir) \
+- -DDIALD_CONFIG_FILE=\"@sysconfdir@/diald.conf\" \
++ -DDIALD_CONFIG_FILE=\"@sysconfdir@/diald/diald.conf\" \
+ -DDIALD_DEFS_FILE=\"@libdir@/diald/diald.defs\" \
+ -DRUN_PREFIX=\"@localstatedir@/run\"
+ INSTALL = @INSTALL@
+@@ -51,21 +55,19 @@
+ $(INSTALL) -d $(DESTDIR)$(bindir)
+ $(INSTALL) -m 0755 bin/dctrl $(DESTDIR)$(bindir)/dctrl
+ $(INSTALL) -d $(DESTDIR)$(sbindir)
+- $(INSTALL) -s -o root -g bin diald $(DESTDIR)$(sbindir)/diald
++ $(INSTALL) -o $(ROOTUID) -g $(BINGRP) diald $(DESTDIR)$(sbindir)/diald
+ $(INSTALL) -d $(DESTDIR)$(mandir)/man1 $(DESTDIR)$(mandir)/man5 \
+ $(DESTDIR)$(mandir)/man8
+- $(INSTALL) -o root -g bin -m 0644 doc/diald.man $(DESTDIR)$(mandir)/man8/diald.8
+- $(INSTALL) -o root -g bin -m 0644 doc/dctrl.man $(DESTDIR)$(mandir)/man1/dctrl.1
+- $(INSTALL) -o root -g bin -m 0644 doc/diald-examples.man $(DESTDIR)$(mandir)/man5/diald-examples.5
+- $(INSTALL) -o root -g bin -m 0644 doc/diald-control.man $(DESTDIR)$(mandir)/man5/diald-control.5
+- $(INSTALL) -o root -g bin -m 0644 doc/diald-monitor.man $(DESTDIR)$(mandir)/man5/diald-monitor.5
++ $(INSTALL) -o $(ROOTUID) -g $(BINGRP) -m 0644 doc/diald.man $(DESTDIR)$(mandir)/man8/diald.8
++ $(INSTALL) -o $(ROOTUID) -g $(BINGRP) -m 0644 doc/dctrl.man $(DESTDIR)$(mandir)/man1/dctrl.1
++ $(INSTALL) -o $(ROOTUID) -g $(BINGRP) -m 0644 doc/diald-examples.man $(DESTDIR)$(mandir)/man5/diald-examples.5
++ $(INSTALL) -o $(ROOTUID) -g $(BINGRP) -m 0644 doc/diald-control.man $(DESTDIR)$(mandir)/man5/diald-control.5
++ $(INSTALL) -o $(ROOTUID) -g $(BINGRP) -m 0644 doc/diald-monitor.man $(DESTDIR)$(mandir)/man5/diald-monitor.5
+ -mkdir -p $(DESTDIR)$(libdir)
+- $(INSTALL) -o root -g bin lib/*.gif $(DESTDIR)$(libdir)
+- $(INSTALL) -o root -g bin -m 0644 config/diald.defs $(DESTDIR)$(libdir)/diald.defs
+- $(INSTALL) -o root -g bin -m 0644 config/standard.filter $(DESTDIR)$(libdir)/standard.filter
+- $(INSTALL) -d -m 0755 $(DESTDIR)/etc/pam.d
+- $(INSTALL) -o root -g root -m 0644 config/diald.pam $(DESTDIR)/$(sysconfdir)/pam.d/diald
+- $(INSTALL) -o root -g bin bin/connect $(DESTDIR)$(libdir)/connect
++ $(INSTALL) -o $(ROOTUID) -g $(BINGRP) lib/*.gif $(DESTDIR)$(libdir)
++ $(INSTALL) -o $(ROOTUID) -g $(BINGRP) -m 0644 config/diald.defs $(DESTDIR)$(libdir)/diald.defs
++ $(INSTALL) -o $(ROOTUID) -g $(BINGRP) -m 0644 config/standard.filter $(DESTDIR)$(libdir)/standard.filter
++ $(INSTALL) -o $(ROOTUID) -g $(BINGRP) bin/connect $(DESTDIR)$(libdir)/connect
+
+ clean:
+ rm -f *.o diald
diff --git a/net-dialup/diald/files/diald-1.0-nopam.patch b/net-dialup/diald/files/diald-1.0-nopam.patch
new file mode 100644
index 000000000000..7fb78b5631a2
--- /dev/null
+++ b/net-dialup/diald/files/diald-1.0-nopam.patch
@@ -0,0 +1,40 @@
+diff -Nru diald-1.0.orig/configure.in diald-1.0/configure.in
+--- diald-1.0.orig/configure.in 2001-06-16 19:01:25.000000000 +0300
++++ diald-1.0/configure.in 2007-07-12 09:56:35.000000000 +0300
+@@ -10,7 +10,6 @@
+ dnl Checks for libraries.
+ AC_CHECK_LIB(dl, dlsym)
+ AC_CHECK_LIB(nsl, nis_add)
+-AC_CHECK_LIB(pam, pam_start)
+ AC_CHECK_LIB(wrap, request_init)
+ AC_CHECK_LIB(util, openpty)
+
+diff -Nru diald-1.0.orig/doc/diald-control.man diald-1.0/doc/diald-control.man
+--- diald-1.0.orig/doc/diald-control.man 2001-06-15 18:38:20.000000000 +0300
++++ diald-1.0/doc/diald-control.man 2007-07-12 09:55:59.000000000 +0300
+@@ -65,10 +65,6 @@
+ TCP connections.
+ If \fI<method>\fR is "simple" then a single following
+ string specifies the name of the privileges to request.
+-If \fI<method>\fR is "pam" then the two following strings specify
+-the UNIX username and password to be authenticated using PAM
+-(Pluggable Authentication Modules). Privileges are then given
+-according to group membership.
+ .TP
+ .B block
+ Block diald from making outgoing calls until a unblock command is issued.
+diff -Nru diald-1.0.orig/doc/diald.man diald-1.0/doc/diald.man
+--- diald-1.0.orig/doc/diald.man 2001-06-15 18:38:20.000000000 +0300
++++ diald-1.0/doc/diald.man 2007-07-12 09:54:37.000000000 +0300
+@@ -184,11 +184,6 @@
+ (very simple...) for TCP monitor connections.
+
+ .TP
+-.B authpam \fI<file>\fR
+-Specifies the name of a file to be used for PAM authentication
+-(not so simple...) for TCP monitor connections.
+-
+-.TP
+ .B scheduler \fI<class>\fR
+ Set diald's scheduling class. Valid choices for systems that
+ support POSIX scheduling classes are:
diff --git a/net-dialup/diald/files/diald-1.0-posix.patch b/net-dialup/diald/files/diald-1.0-posix.patch
new file mode 100644
index 000000000000..3ff13ab9bdbc
--- /dev/null
+++ b/net-dialup/diald/files/diald-1.0-posix.patch
@@ -0,0 +1,42 @@
+diff -Nru diald-1.0.orig/diald.h diald-1.0/diald.h
+--- diald-1.0.orig/diald.h 2001-06-16 19:01:25.000000000 +0300
++++ diald-1.0/diald.h 2006-09-21 15:58:57.000000000 +0300
+@@ -31,6 +31,10 @@
+ #if HAVE_SYS_TIME_H
+ # include <sys/time.h>
+ #endif
++#include <time.h>
++#ifndef CLK_TCK
++# define CLK_TCK (CLOCKS_PER_SEC)
++#endif
+ #ifdef _POSIX_PRIORITY_SCHEDULING
+ # include <sched.h>
+ #endif
+diff -Nru diald-1.0.orig/firewall.c diald-1.0/firewall.c
+--- diald-1.0.orig/firewall.c 2006-09-21 16:08:18.000000000 +0300
++++ diald-1.0/firewall.c 2006-09-21 15:49:12.000000000 +0300
+@@ -69,7 +69,7 @@
+ #if 0
+ mon_syslog(LOG_DEBUG,"slot def: %d %d %x %x %x",
+ slot->start, slot->end, slot->wday, slot->mday, slot->month);
+-#endif 0
++#endif
+ if ((slot->start <= ctime)
+ && (ctime <= slot->end)
+ && (slot->wday & (1<<ltime->tm_wday))
+diff -Nru diald-1.0.orig/log.c diald-1.0/log.c
+--- diald-1.0.orig/log.c 2001-06-16 22:51:39.000000000 +0300
++++ diald-1.0/log.c 2006-09-21 16:05:11.000000000 +0300
+@@ -19,10 +19,8 @@
+ xstrerror(int n)
+ {
+ static char buf[30];
+-
+- if (n >= 0 && n < sys_nerr)
+- return (char *)sys_errlist[n];
+- sprintf(buf, "Error code %d\n", n);
++ if (strerror_r(n, buf, 30) != 0)
++ sprintf(buf, "Error code %d\n", n);
+ return buf;
+ }
+
diff --git a/net-dialup/diald/files/diald-init b/net-dialup/diald/files/diald-init
new file mode 100644
index 000000000000..fe0ea59c3204
--- /dev/null
+++ b/net-dialup/diald/files/diald-init
@@ -0,0 +1,29 @@
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ need net
+}
+
+checkconfig() {
+ if [ ! -e /etc/diald/diald.conf ] ; then
+ eerror "You need an /etc/diald/diald.conf file first"
+ eerror "There is a sample in /usr/share/doc/diald"
+ return 1
+ fi
+}
+
+start() {
+ checkconfig || return 1
+ ebegin "Starting diald"
+ start-stop-daemon --start --quiet --exec /usr/sbin/diald \
+ -- -f /etc/diald/diald.conf
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping diald"
+ start-stop-daemon --stop --quiet --pidfile /var/run/diald.pid
+ eend $?
+}
diff --git a/net-dialup/diald/files/diald.conf b/net-dialup/diald/files/diald.conf
new file mode 100644
index 000000000000..9bbda2aa59a4
--- /dev/null
+++ b/net-dialup/diald/files/diald.conf
@@ -0,0 +1,38 @@
+# sample diald.conf
+
+# if Internet Access Type is modem
+# ---------begin-section----------
+mode ppp
+connect "/usr/sbin/chat -v -f /etc/network-scripts/chat-ppp0"
+device /dev/modem
+speed 115200
+modem
+lock
+crtscts
+# ---------end-section------------
+#
+
+# if Internet Access Type is ISDN
+# ---------begin-section----------
+# mode dev
+# connect "/bin/sh /etc/network-scripts/net_cnx_up"
+# disconnect "/bin/sh /etc/network-scripts/net_cnx_down"
+# device ippp0
+# ---------end-section------------
+
+local 10.0.0.2
+remote 10.0.0.3
+dynamic
+defaultroute
+connect-timeout 90
+redial-timeout 10
+retry-count 3
+include /etc/diald/diald.filter
+fifo /var/cache/diald/diald.ctl
+#
+# you can start any script when interface up or down
+# sample with bastille
+# ---------begin-section----------
+#ip-up /sbin/bastille-firewall-reset
+#ip-down /sbin/bastille-firewall-reset
+# ---------end-section------------
diff --git a/net-dialup/diald/files/diald.filter b/net-dialup/diald/files/diald.filter
new file mode 100644
index 000000000000..461e4f7d5be2
--- /dev/null
+++ b/net-dialup/diald/files/diald.filter
@@ -0,0 +1,138 @@
+# sample diald.filter
+#
+# connect policy during office hours on weekdays
+restrict 8:00:00 17:59:59 1-5 * *
+
+# connect policy outside office hours on weekdays
+#restrict * 7:59:59 1-5 * *
+#or-restrict 18:00:00 * 1-5 * *
+
+# connect policy during the weekend
+#restrict * * 0,6 * *
+
+# always connected
+up
+
+# always down
+# down
+
+
+#------------------------------------------------------------------------------
+# Rules for TCP packets.
+#------------------------------------------------------------------------------
+
+# If we force the line up (for example to trigger fetchmail)
+# but no packets are sent, specify how long to hold the line
+# up:
+# here :everything else gets 30 minutes.
+
+first-packet-timeout 30
+
+# The first rule is designed to give the link 30 seconds up time
+# when we are initiating a TCP connection. The idea here is to deal
+# with possibility that the network on the opposite end of the
+# connection is unreachable. In this case you don't really want to
+# give the link 10 minutes up time. With the rule below we only give
+# the link 30 seconds initially. If the network is reachable then
+# we will normally get a response that actually contains some data
+# within 30 seconds. If this causes problems because you have a
+# slow response time at some site you want to regularly access, you
+# can either increase the timeout or remove this rule.
+
+accept tcp 30 tcp.syn
+
+# If you are running named, then it will send data across the link
+# periodically to synchronize against other domain name servers.
+# Since this can happen at any time, it is undesirable to keep the
+# link up for it. Therefore, we ignore any tcp traffic from or to a
+# domain name server.
+
+ignore tcp tcp.dest=tcp.domain
+ignore tcp tcp.source=tcp.domain
+
+# Normally the packet that starts a connection is longer that 40
+# bytes, since it normally contains TCP options to specify the MSS.
+# However, some TCP implementations don't include these options.
+# Therefore, we must be careful not to ignore SYN packets that are
+# only 40 bytes long.
+
+accept tcp 30 ip.tot_len=40,tcp.syn
+
+# Otherwise, we want to ignore any TCP packet that is only 40 bytes
+# long, since it is not carrying any data. However, we don't want to
+# ignore 40 byte packets that mark the closing of a connection,
+# since we use those to cut short the timeout on connections that
+# have died. Therefore we must test the tcp.live flag here. If it
+# is not set we might want to see this packet later on in the rules.
+
+ignore tcp ip.tot_len=40,tcp.live
+
+# Make sure http transfers hold the link up, even after they end.
+# This prevents web browsers from bouncing the connection too much.
+#
+# HTTP transfers get 3 minutes
+accept tcp 180 tcp.dest=tcp.www
+accept tcp 180 tcp.source=tcp.www
+
+
+# Once the link is no longer live, we try to shut down the
+# connection quickly. Note that if the link is already down, the
+# closing of the a connection (which will generate traffic) will not
+# bring it back up.
+
+# here :everything else gets 30 minutes.
+keepup tcp 30 !tcp.live
+ignore tcp !tcp.live
+
+# Finally, if we don't match the TCP packet somewhere above, then we
+# give the link 10 minutes up time. Most TCP packets match this
+# rule. Note that as soon as the TCP connection is closed, the keepup
+# rule above overwrites the timeout.
+
+accept tcp 600 any
+
+#------------------------------------------------------------------------------
+# Rules for UDP packets
+#------------------------------------------------------------------------------
+
+# Don't bring the link up for rwho:
+
+ignore udp udp.dest=udp.who
+ignore udp udp.source=udp.who
+
+# Don't bring the link up for routing packets:
+
+ignore udp udp.dest=udp.router
+ignore udp udp.source=udp.router
+
+# Don't bring the link up for NTP or timed:
+
+ignore udp udp.dest=udp.ntp
+ignore udp udp.source=udp.ntp
+ignore udp udp.dest=udp.timed
+ignore udp udp.source=udp.timed
+
+# Don't bring up on domain name requests between two running copies of named:
+
+ignore udp udp.dest=udp.domain,udp.source=udp.domain
+
+# Bring up the network for domain requests:
+
+accept udp 30 udp.dest=udp.domain
+accept udp 30 udp.source=udp.domain
+
+# Bring up the network for netbios requests, except between netbios servers:
+
+ignore udp udp.source=udp.netbios-ns,udp.dest=udp.netbios-ns
+accept udp 30 udp.dest=udp.netbios-ns
+accept udp 30 udp.source=udp.netbios-ns
+
+# Any other UDP packets:
+
+# here :everything else gets 30 minutes.
+accept udp 30 any
+
+# Catch any packets that we didn't catch above:
+
+# here :everything else gets 30 minutes.
+accept any 30 any
diff --git a/net-dialup/diald/metadata.xml b/net-dialup/diald/metadata.xml
new file mode 100644
index 000000000000..3de69495b62b
--- /dev/null
+++ b/net-dialup/diald/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <longdescription>Diald is an intelligent link management tool originally named
+for its ability to control dial-on-demand network connections</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">diald</remote-id>
+ </upstream>
+</pkgmetadata>