summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /net-misc/ip-sentinel
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'net-misc/ip-sentinel')
-rw-r--r--net-misc/ip-sentinel/Manifest1
-rw-r--r--net-misc/ip-sentinel/files/ip-sentinel.cfg11
-rw-r--r--net-misc/ip-sentinel/files/ip-sentinel.conf.d11
-rw-r--r--net-misc/ip-sentinel/files/ip-sentinel.init50
-rw-r--r--net-misc/ip-sentinel/ip-sentinel-0.12.ebuild68
-rw-r--r--net-misc/ip-sentinel/metadata.xml20
6 files changed, 161 insertions, 0 deletions
diff --git a/net-misc/ip-sentinel/Manifest b/net-misc/ip-sentinel/Manifest
new file mode 100644
index 000000000000..76c2412e6fea
--- /dev/null
+++ b/net-misc/ip-sentinel/Manifest
@@ -0,0 +1 @@
+DIST ip-sentinel-0.12.tar.bz2 165803 SHA256 1767fe155280361804cf1a62b2f77228bd764452668783050b6309cca888fb22 SHA512 dfa025fd96260073903ffe33dbaa5a146658dee2b8cb9bc04da0894a8de83207971a7f1e731128e42a0421052cdc352ed43a0298916f521d5f230533266e5077 WHIRLPOOL 5e377d38b5a6c5a70bc23044fa5103efdf48a3511df76ab7435e9445e5e85c2b910bd40bb6af2e0e40ab455c78754e7e97954f99a504a14e060086c6fbd27557
diff --git a/net-misc/ip-sentinel/files/ip-sentinel.cfg b/net-misc/ip-sentinel/files/ip-sentinel.cfg
new file mode 100644
index 000000000000..f767cd1d0d5f
--- /dev/null
+++ b/net-misc/ip-sentinel/files/ip-sentinel.cfg
@@ -0,0 +1,11 @@
+# This is configuration file for ip-sentinel
+
+# Next line blocks all computers inside network
+0.0.0.0/0
+
+# Now please add computers that are allowed to communicate
+# ! denotes not to block
+!10.10.146.1
+!10.10.146.236@be:ef:de:ad:be:ef
+
+# see "man ip-sentinel" for more details.
diff --git a/net-misc/ip-sentinel/files/ip-sentinel.conf.d b/net-misc/ip-sentinel/files/ip-sentinel.conf.d
new file mode 100644
index 000000000000..d61fc9f5bfc9
--- /dev/null
+++ b/net-misc/ip-sentinel/files/ip-sentinel.conf.d
@@ -0,0 +1,11 @@
+# Configure which interface for ip-sentinel to listen on.
+IFACE="eth0"
+
+# Insert any other options needed
+OPTS=""
+
+# If you wish to run ip-sentinel in a chroot, run:
+# emerge --config =net-misc/<ip-sentinel-version>
+# and un-comment the following line.
+# You can specify a different chroot directory but MAKE SURE it's empty.
+# CHROOT="/chroot/ip-sentinel"
diff --git a/net-misc/ip-sentinel/files/ip-sentinel.init b/net-misc/ip-sentinel/files/ip-sentinel.init
new file mode 100644
index 000000000000..1f293ad64a98
--- /dev/null
+++ b/net-misc/ip-sentinel/files/ip-sentinel.init
@@ -0,0 +1,50 @@
+#!/sbin/runscript
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+CFG_FILE="/etc/ip-sentinel.cfg"
+
+depend() {
+ need net
+}
+
+checkconfig() {
+ if [ ! -f "${CFG_FILE}" ] ; then
+ eerror "File ${CFG_FILE} does not exists!"
+ return 1
+ fi
+
+ if [ -n "${CHROOT}" ] ; then
+ local_opts="--user ipsentinel --group ipsentinel -r ${CHROOT}"
+ else
+ local_opts="--user ipsentinel --group ipsentinel -r /"
+ fi
+}
+
+start() {
+ checkconfig || return 1
+
+ ebegin "Starting ip-sentinel..."
+ start-stop-daemon --start --quiet --exec /usr/sbin/ip-sentinel -- --ipfile ${CFG_FILE} ${local_opts} $OPTS $IFACE &
+ eend $? "Failed to start ip-sentinel"
+}
+
+stop() {
+ ebegin "Stoping ip-sentinel..."
+ start-stop-daemon --stop --quiet --pidfile /var/run/ip-sentinel.run
+ eend $? "Failed to stop ip-sentinel"
+}
+
+restart () {
+ svc_stop
+ echo "Please, wait while child process quit..."
+ while `ps aux | grep -v 'init.d' | grep [i]p-sentinel >/dev/null`
+ do
+ echo -n ". "
+ sleep 1
+ done
+ echo "[Done]"
+ svc_start
+}
+
diff --git a/net-misc/ip-sentinel/ip-sentinel-0.12.ebuild b/net-misc/ip-sentinel/ip-sentinel-0.12.ebuild
new file mode 100644
index 000000000000..fbea56fca359
--- /dev/null
+++ b/net-misc/ip-sentinel/ip-sentinel-0.12.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils user
+
+DESCRIPTION="Prevent unauthorized usage of IPs in the local ethernet broadcastdomain by answering ARP-requests"
+HOMEPAGE="http://www.nongnu.org/ip-sentinel/"
+LICENSE="GPL-2"
+SRC_URI="http://savannah.nongnu.org/download/ip-sentinel/${P}.tar.bz2"
+SLOT="0"
+KEYWORDS="x86"
+
+DOCS=( AUTHORS ChangeLog NEWS README THANKS )
+
+src_install() {
+ default
+
+ newinitd "${FILESDIR}"/ip-sentinel.init ip-sentinel
+ newconfd "${FILESDIR}"/ip-sentinel.conf.d ip-sentinel
+
+ insinto /etc
+ newins "${FILESDIR}"/ip-sentinel.cfg ip-sentinel.cfg
+}
+
+pkg_setup() {
+ enewgroup ipsentinel
+ enewuser ipsentinel -1 -1 -1 ipsentinel
+}
+
+pkg_postinst() {
+ elog "You can edit /etc/conf.d/ip-sentinel to customize startup daemon"
+ elog "settings."
+ elog
+ elog "Default ip-sentinel config is in /etc/ip-sentinel.cfg"
+ elog
+ elog "The ip-sentinel ebuild has chroot support."
+ elog "If you like to run ip-sentinel in chroot AND this is a new install OR"
+ elog "your ip-sentinel doesn't already run in chroot, simply run:"
+ elog "emerge --config =${CATEGORY}/${PF}"
+ elog "Before running the above command you might want to change the chroot"
+ elog "dir in /etc/conf.d/ip-sentinel, otherwise /chroot/ip-sentinel will be used."
+ echo
+ ewarn "And please! DO NOT START THIS DAEMON thoughtlessly."
+ ewarn "If you DO this will BLOCK ALL communication inside your ethernet"
+ ewarn "segment!!! If you have any doubts do not start ip-sentinel."
+}
+
+pkg_config() {
+ CHROOT=`sed -n 's/^[[:blank:]]\?CHROOT="\([^"]\+\)"/\1/p' /etc/conf.d/ip-sentinel 2>/dev/null`
+
+ if [ ! -d "${CHROOT:=/chroot/ip-sentinel}" ] ; then
+ ebegin "Setting up the chroot directory"
+ mkdir -m 0755 -p "${CHROOT}/etc"
+ cp -R /etc/ip-sentinel.cfg "${CHROOT}/etc"
+ eend
+
+ if [ "`grep '^#[[:blank:]]\?CHROOT' /etc/conf.d/ip-sentinel`" ] ; then
+ sed -e '/^#[[:blank:]]\?CHROOT/s/^#[[:blank:]]\?//' \
+ -i /etc/conf.d/ip-sentinel
+ fi
+ else
+ eerror
+ eerror "${CHROOT} already exists. Quitting."
+ eerror
+ fi
+}
diff --git a/net-misc/ip-sentinel/metadata.xml b/net-misc/ip-sentinel/metadata.xml
new file mode 100644
index 000000000000..d6c671a6f308
--- /dev/null
+++ b/net-misc/ip-sentinel/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>netmon</herd>
+<longdescription>
+This program tries to prevent unauthorized usage of IPs within the local
+ethernet broadcastdomain by giving an answer to ARP-requests. After receiving
+such a faked reply, the requesting party stores the told MAC in its ARP-table
+and will send future packets to this MAC. Because this MAC is invalid, the host
+with the invalid IP can not be reached.
+</longdescription>
+<longdescription lang="ja">
+このプログラムは ARP リクエストへの応答を利用したローカルイーサネットの
+ブロードキャストドメイン内で認められていない IP パケットの使用法を阻止し
+ようと試みます。偽造された応答を受信すれば、そのリクエスト・パーティは
+ARP テーブル内の該当する MAC アドレスを覚え、その後のパケットをこの MAC
+アドレスへ送ります。何故ならばこの MAC アドレスは不正なもので、無効な IP
+パケットはそのホストへ到達できないからです。
+</longdescription>
+</pkgmetadata>