aboutsummaryrefslogtreecommitdiffstats
path: root/mail
diff options
context:
space:
mode:
Diffstat (limited to 'mail')
-rw-r--r--mail/mixminion/Makefile40
-rw-r--r--mail/mixminion/distinfo6
-rw-r--r--mail/mixminion/files/mixminiond.in65
-rw-r--r--mail/mixminion/files/patch-mixminiond.conf100
-rw-r--r--mail/mixminion/files/pkg-message.in8
-rw-r--r--mail/mixminion/pkg-deinstall62
-rw-r--r--mail/mixminion/pkg-descr19
-rw-r--r--mail/mixminion/pkg-install40
-rw-r--r--mail/mixminion/pkg-plist17
9 files changed, 344 insertions, 13 deletions
diff --git a/mail/mixminion/Makefile b/mail/mixminion/Makefile
index c44b8312754a..eb5b597f1f0f 100644
--- a/mail/mixminion/Makefile
+++ b/mail/mixminion/Makefile
@@ -6,24 +6,54 @@
#
PORTNAME= Mixminion
-PORTVERSION= 0.0.7.1
+DISTVERSION= 0.0.8alpha2
CATEGORIES= mail security
-MASTER_SITES= http://www.mixminion.net/dist/${PORTVERSION}/ \
- ftp://ftp.aha.ru/pub/FreeBSD/ports/distfiles/ \
- http://www.mirrors.wiretapped.net/security/cryptography/apps/mail/mixminion/0.0.7.1/
+MASTER_SITES= http://www.mixminion.net/dist/${DISTVERSION}/
MAINTAINER= freebsd-ports@rikrose.net
COMMENT= A Type III Anonymous Remailer
USE_OPENSSL= yes
-USE_REINPLACE= yes
USE_PYTHON= 2.0+
MAN1= mixminion.1
MAN5= mixminiond.conf.5 mixminionrc.5
MAN8= mixminiond.8
+PORTDOCS= statusfd.txt tutorial.txt
+
+.if !defined(WITHOUT_SERVER)
+USE_RC_SUBR+= mixminiond
+SUB_FILES+= pkg-message
+.endif
+
post-patch:
@${REINPLACE_CMD} -e "s|share/man|man|g" ${WRKSRC}/setup.py
+post-install:
+.if !defined(WITHOUT_SERVER)
+ @${INSTALL_DATA} ${WRKSRC}/etc/mixminiond.conf \
+ ${PREFIX}/etc/mixminiond.conf.sample
+ @${INSTALL_DATA} ${WRKSRC}/etc/blacklist.conf \
+ ${PREFIX}/etc/blacklist.conf.sample
+ @${SETENV} PKG_PREFIX=${PREFIX} ${SH} \
+ ${PKGINSTALL} ${PKGNAME} PRE-INSTALL
+ @-${MKDIR} /var/spool/mixminion
+ @${CHOWN} _mixminion:_mixminion /var/spool/mixminion
+ @${CHMOD} 0700 /var/spool/mixminion
+ @-${MKDIR} /var/run/mixminion
+ @${CHOWN} _mixminion:_mixminion /var/run/mixminion
+ @${CHMOD} 0700 /var/run/mixminion
+ @-${TOUCH} /var/log/mixminion
+ @${CHOWN} _mixminion:_mixminion /var/log/mixminion
+ @${CHMOD} 0700 /var/log/mixminion
+ @${CAT} ${PKGMESSAGE}
+.endif
+.if !defined(NOPORTDOC)
+ @${MKDIR} ${DOCSDIR}
+.for f in ${PORTDOCS}
+ @${INSTALL_DATA} ${WRKSRC}/doc/${f} ${DOCSDIR}
+.endfor
+.endif
+
.include <bsd.port.mk>
diff --git a/mail/mixminion/distinfo b/mail/mixminion/distinfo
index 41ea325d94b4..8133b9b6d46e 100644
--- a/mail/mixminion/distinfo
+++ b/mail/mixminion/distinfo
@@ -1,3 +1,3 @@
-MD5 (Mixminion-0.0.7.1.tar.gz) = a7ee96a22dd6246760556fa959a37380
-SHA256 (Mixminion-0.0.7.1.tar.gz) = 7c4bdbcad9663365864712d13cd8d12fd5d4d6cc15697d4fc50163222f318755
-SIZE (Mixminion-0.0.7.1.tar.gz) = 437539
+MD5 (Mixminion-0.0.8alpha2.tar.gz) = 18f1f4166ca9ef61228e7f092280e5d9
+SHA256 (Mixminion-0.0.8alpha2.tar.gz) = 4dd7ab6fd9c0f58c4913609d360abd2650181c6de3b4b21e289cc148192144d5
+SIZE (Mixminion-0.0.8alpha2.tar.gz) = 480843
diff --git a/mail/mixminion/files/mixminiond.in b/mail/mixminion/files/mixminiond.in
new file mode 100644
index 000000000000..3201f87fe525
--- /dev/null
+++ b/mail/mixminion/files/mixminiond.in
@@ -0,0 +1,65 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+# REQUIRE: NETWORKING SERVERS USR
+# BEFORE: LOGIN
+#
+# Add the following lines to /etc/rc.conf to enable mixminiond
+#
+# mixminiond_enable (bool): Set to "NO" by default
+# Set it to "YES" to enable mixminiond
+# mixminiond_conf (str): Points to your mixminiond conf file
+# Default: %%PREFIX%%/etc/mixminiond.conf
+# mixminiond_user (str): Mixminiond user. Default _mixminion
+#
+
+. %%RC_SUBR%%
+
+name="mixminiond"
+rcvar=${name}_enable
+
+load_rc_config ${name}
+
+: ${mixminiond_enable="NO"}
+: ${mixminiond_conf="%%PREFIX%%/etc/mixminiond.conf"}
+: ${mixminiond_user="_mixminion"}
+: ${mixminiond_pidfile="/var/run/mixminion/mixminion.pid"}
+
+required_files=${mixminiond_conf}
+required_dirs=/var/spool/mixminion
+command="%%PREFIX%%/bin/${name}"
+extra_commands="reload republish DELKEYS stats upgrade"
+start_cmd="${name}_start"
+stop_cmd="${name}_stop"
+reload_cmd="${name}_reload"
+republish_cmd="${name}_republish"
+DELKEYS_cmd="${name}_DELKEYS"
+stats_cmd="${name}_stats"
+
+mixminiond_start() {
+ su ${mixminiond_user} -c "${command} start -f ${mixminiond_conf} --daemon"
+}
+
+mixminiond_stop() {
+ ${command} stop -f ${mixminiond_conf}
+ run_rc_command poll
+}
+
+mixminiond_reload() {
+ ${command} server-reload -f ${mixminiond_conf}
+}
+
+mixminiond_republish() {
+ ${command} republish -f ${mixminiond_conf}
+}
+
+mixminiond_DELKEYS() {
+ ${command} DELKEYS -f ${mixminiond_conf}
+}
+
+mixminiond_stats() {
+ ${command} stats -f ${mixminiond_conf}
+}
+
+run_rc_command "$1"
diff --git a/mail/mixminion/files/patch-mixminiond.conf b/mail/mixminion/files/patch-mixminiond.conf
new file mode 100644
index 000000000000..f38f4c120604
--- /dev/null
+++ b/mail/mixminion/files/patch-mixminiond.conf
@@ -0,0 +1,100 @@
+--- etc/mixminiond.conf.orig Tue Feb 14 10:29:28 2006
++++ etc/mixminiond.conf Tue Feb 14 10:57:02 2006
+@@ -21,7 +21,7 @@
+ # This choice protects against root (on a non-journaling filesystem), but
+ # not against an attacker with deep hardware wizardry and resources.
+ #
+-#ShredCommand: /usr/bin/shred -uz -n0
++ShredCommand: /bin/rm -P
+
+ # Uncomment this line if your system uses a different entropy generator.
+ # This file must be a character device that produces a truly random
+@@ -34,8 +34,8 @@
+ # own good. When this happens, you can either mark certain users
+ # ('system', 'dev', and so on) as trusted, or disable file paranoia entirely.
+ #
+-#FileParanoia: yes
+-#TrustedUser: root
++FileParanoia: yes
++TrustedUser: _mixminion
+
+ [Server]
+
+@@ -52,8 +52,7 @@
+ #
+ # (This option used to be called 'Homedir'; either spelling will work.)
+ #
+-#BaseDir: /var/spool/mixminion
+-#BaseDir: /home/miniond/mixminion
++BaseDir: /var/spool/mixminion
+
+ # By default, all mixminion-related files are stored in subdirectories
+ # of 'BaseDir'. You can override default placement with the options below.
+@@ -74,8 +73,8 @@
+ #KeyDir: /var/lib/mixminion/keys
+ #WorkDir: /var/lib/mixminion/work
+ #QueueDir: /var/spool/mixminion
+-#PidFile: /var/run/mixminion/mixminion.pid
+-#LogFile: /var/log/mixminion/log
++PidFile: /var/run/mixminion/mixminion.pid
++LogFile: /var/log/mixminion
+ #StatsFile: /var/log/mixminion/stats
+
+ # Minimum severity of messages to include in log file. Allowable values
+@@ -105,7 +104,7 @@
+ # How many bits should the server use for its long-lived 'Identity' keys?
+ # Must be between 2048 and 4096.
+ #
+-#IdentityKeyBits: 2048
++IdentityKeyBits: 4096
+
+ # How often should the server rotate its public keys? If you rotate often,
+ # you need less storage space for message hash logs, and messages sent
+@@ -122,12 +121,12 @@
+ # network when servers go down. If it's *too* long, however, you
+ # enable delaying attacks.)
+ #
+-#PublicKeyOverlap: 24 hours
++PublicKeyOverlap: 24 hours
+
+ # Use this option to define a 'nickname' for this server that users will
+ # use as a 'friendlier' version of your identity key.
+ #
+-Nickname: Insert nickname here
++Nickname: nINj4
+
+ # Use this option to define an administrative contact for the remailer.
+ #
+@@ -135,7 +134,7 @@
+ # computer from the Mixminion server, so that you can get email when
+ # the server is down.
+ #
+-Contact-Email: Insert email address here
++Contact-Email: nINj4@2.1337.2.rE6.7h3.In57411.60k5
+
+ # Use this field for information that users of your remailer may want to
+ # have. Must be no longer than 1024 characters.
+@@ -143,10 +142,12 @@
+ # NOTE: Users will not necessarily see this field before they use your
+ # remailer.
+ #
+-Comments: This server has been running Mixminion since version 0.0.7.
++Comments: This server has been running Mixminion since version 0.0.8alpha2
+ Of course, since Mixminion is still in alpha (or since we haven't
+ edited our configuration file since Mixminion came out of alpha), you
+- shouldn't trust us with your anonymity yet.
++ shouldn't trust us with your anonymity yet. The user who installed this
++ node also never edited his default conf as suggested by the docs. He
++ must be one 1337 h4x0r, I would trust him.
+
+ ############
+ # Use ONE of these sets of options to configure the pooling algorithm.
+@@ -185,7 +186,7 @@
+
+ # Should we start the server in the background? (Not supported on Win32.)
+ #
+-Daemon: no
++Daemon: yes
+
+ # How much data are we willing to upload or download in a single second?
+ # (If you don't set this, the bandwidth is limited only by your network
diff --git a/mail/mixminion/files/pkg-message.in b/mail/mixminion/files/pkg-message.in
new file mode 100644
index 000000000000..ba3683919710
--- /dev/null
+++ b/mail/mixminion/files/pkg-message.in
@@ -0,0 +1,8 @@
+
+=====================================================================================
+WARNING: We don't have statistics yet, so the system isn't robust in the presence of
+unreliable servers in the directory. Please don't publish a server if you don't think
+you can keep it up for a good while. To enable the mixminion server, set
+mixminiond_enable="YES" in your /etc/rc.conf and edit %%PREFIX%%/etc/mixminiond.conf.
+=====================================================================================
+
diff --git a/mail/mixminion/pkg-deinstall b/mail/mixminion/pkg-deinstall
new file mode 100644
index 000000000000..2ea7fc9e2754
--- /dev/null
+++ b/mail/mixminion/pkg-deinstall
@@ -0,0 +1,62 @@
+#! /bin/sh
+#
+# taken from net/cvsup-mirror
+
+PATH=/bin:/usr/sbin
+
+MIXMINION_USER=${MIXMINION_USER:-_mixminion}
+MIXMINION_GROUP=${MIXMINION_GROUP:-_mixminion}
+
+ask() {
+ local question default answer
+
+ question=$1
+ default=$2
+ if [ -z "${PACKAGE_BUILDING}" -a -z "${BATCH}" ]; then
+ read -p "${question} [${default}]? " answer
+ fi
+ if [ x${answer} = x ]; then
+ answer=${default}
+ fi
+ echo ${answer}
+}
+
+yesno() {
+ local dflt question answer
+
+ question=$1
+ dflt=$2
+ while :; do
+ answer=$(ask "${question}" "${dflt}")
+ case "${answer}" in
+ [Yy]*) return 0;;
+ [Nn]*) return 1;;
+ esac
+ echo "Please answer yes or no."
+ done
+}
+
+delete_account() {
+ local u g home
+
+ u=$1
+ g=$2
+ if yesno "Do you want me to remove group \"${g}\"" y; then
+ pw groupdel -n ${g}
+ echo "Done."
+ fi
+ if yesno "Do you want me to remove user \"${u}\"" y; then
+ eval home=~${u}
+ pw userdel -n ${u}
+ echo "Done."
+ if [ -d "${home}" ]; then
+ echo "Please remember to remove the home directory \"${home}\""
+ fi
+ fi
+}
+
+if [ x$2 != xDEINSTALL ]; then
+ exit
+fi
+
+delete_account ${MIXMINION_USER} ${MIXMINION_GROUP}
diff --git a/mail/mixminion/pkg-descr b/mail/mixminion/pkg-descr
index 40ef6c8094e0..0a19bbef4877 100644
--- a/mail/mixminion/pkg-descr
+++ b/mail/mixminion/pkg-descr
@@ -1,6 +1,21 @@
-Mixminion is a Type III Anonymous Remailer
+Mixminion is the standard implementation of the Type III anonymous remailer
+protocol, which lets you send very anonymous email. This best-of-breed
+remailer uses conservative design approaches to provide security against most
+known attacks. We chose a simple, extensible design so that we can provide a
+robust core system and then experiment with new research features such as
+dummy policies, directory servers, and reputation systems.
-This is still alpha quality code, so do not rely on it for anonymity yet.
+You can find the latest information at http://mixminion.net/, or on the
+mailing list, archived at http://archives.seul.org/mixminion/dev/. Please
+consider subscribing, especially if you're going to run a node.
+
+This is a testing alpha release. You will probably only want to use it if
+you are technically inclined, curious, and interested in helping the
+Mixminion development effort.
+
+WARNING! Do NOT use this release if you require strong anonymity. It has
+known deficiencies, including some that make it possible for an adversary
+to trace your message through the system.
WWW: http://www.mixminion.net/
diff --git a/mail/mixminion/pkg-install b/mail/mixminion/pkg-install
new file mode 100644
index 000000000000..c09977eb917b
--- /dev/null
+++ b/mail/mixminion/pkg-install
@@ -0,0 +1,40 @@
+#! /bin/sh
+#
+# taken from devel/perforce
+
+PATH=/bin:/usr/sbin
+
+MIXMINION_USER=${MIXMINION_USER:-_mixminion}
+MIXMINION_GROUP=${MIXMINION_GROUP:-_mixminion}
+
+case $2 in
+PRE-INSTALL)
+ USER=${MIXMINION_USER}
+ GROUP=${MIXMINION_GROUP}
+
+ if pw group show "${GROUP}" 2>/dev/null; then
+ echo "You already have a group \"${GROUP}\", so I will use it."
+ else
+ if pw groupadd ${GROUP} ; then
+ echo "Added group \"${GROUP}\"."
+ else
+ echo "Adding group \"${GROUP}\" failed..."
+ exit 1
+ fi
+ fi
+
+ if pw user show "${USER}" 2>/dev/null; then
+ echo "You already have a user \"${USER}\", so I will use it."
+ else
+ if pw useradd ${USER} -g ${GROUP} -h - \
+ -d /nonexistent -c "Mixminion Daemon" -s /sbin/nologin
+ then
+ echo "Added user \"${USER}\"."
+ else
+ echo "Adding user \"${USER}\" failed..."
+ exit 1
+ fi
+ fi
+
+ ;;
+esac
diff --git a/mail/mixminion/pkg-plist b/mail/mixminion/pkg-plist
index 81c2a327b2e7..5a98500a3493 100644
--- a/mail/mixminion/pkg-plist
+++ b/mail/mixminion/pkg-plist
@@ -1,8 +1,13 @@
bin/mixminion
bin/mixminiond
+etc/blacklist.conf.sample
+etc/mixminiond.conf.sample
%%PYTHON_SITELIBDIR%%/mixminion/BuildMessage.py
%%PYTHON_SITELIBDIR%%/mixminion/BuildMessage.pyc
%%PYTHON_SITELIBDIR%%/mixminion/BuildMessage.pyo
+%%PYTHON_SITELIBDIR%%/mixminion/ClientAPI.py
+%%PYTHON_SITELIBDIR%%/mixminion/ClientAPI.pyc
+%%PYTHON_SITELIBDIR%%/mixminion/ClientAPI.pyo
%%PYTHON_SITELIBDIR%%/mixminion/ClientDirectory.py
%%PYTHON_SITELIBDIR%%/mixminion/ClientDirectory.pyc
%%PYTHON_SITELIBDIR%%/mixminion/ClientDirectory.pyo
@@ -39,6 +44,9 @@ bin/mixminiond
%%PYTHON_SITELIBDIR%%/mixminion/Packet.py
%%PYTHON_SITELIBDIR%%/mixminion/Packet.pyc
%%PYTHON_SITELIBDIR%%/mixminion/Packet.pyo
+%%PYTHON_SITELIBDIR%%/mixminion/ScheduleUtils.py
+%%PYTHON_SITELIBDIR%%/mixminion/ScheduleUtils.pyc
+%%PYTHON_SITELIBDIR%%/mixminion/ScheduleUtils.pyo
%%PYTHON_SITELIBDIR%%/mixminion/ServerInfo.py
%%PYTHON_SITELIBDIR%%/mixminion/ServerInfo.pyc
%%PYTHON_SITELIBDIR%%/mixminion/ServerInfo.pyo
@@ -52,15 +60,15 @@ bin/mixminiond
%%PYTHON_SITELIBDIR%%/mixminion/__init__.pyc
%%PYTHON_SITELIBDIR%%/mixminion/__init__.pyo
%%PYTHON_SITELIBDIR%%/mixminion/_minionlib.so
-%%PYTHON_SITELIBDIR%%/mixminion/_textwrap.py
-%%PYTHON_SITELIBDIR%%/mixminion/_textwrap.pyc
-%%PYTHON_SITELIBDIR%%/mixminion/_textwrap.pyo
%%PYTHON_SITELIBDIR%%/mixminion/benchmark.py
%%PYTHON_SITELIBDIR%%/mixminion/benchmark.pyc
%%PYTHON_SITELIBDIR%%/mixminion/benchmark.pyo
%%PYTHON_SITELIBDIR%%/mixminion/directory/DirCGI.py
%%PYTHON_SITELIBDIR%%/mixminion/directory/DirCGI.pyc
%%PYTHON_SITELIBDIR%%/mixminion/directory/DirCGI.pyo
+%%PYTHON_SITELIBDIR%%/mixminion/directory/DirFormats.py
+%%PYTHON_SITELIBDIR%%/mixminion/directory/DirFormats.pyc
+%%PYTHON_SITELIBDIR%%/mixminion/directory/DirFormats.pyo
%%PYTHON_SITELIBDIR%%/mixminion/directory/DirMain.py
%%PYTHON_SITELIBDIR%%/mixminion/directory/DirMain.pyc
%%PYTHON_SITELIBDIR%%/mixminion/directory/DirMain.pyo
@@ -94,6 +102,9 @@ bin/mixminiond
%%PYTHON_SITELIBDIR%%/mixminion/server/PacketHandler.py
%%PYTHON_SITELIBDIR%%/mixminion/server/PacketHandler.pyc
%%PYTHON_SITELIBDIR%%/mixminion/server/PacketHandler.pyo
+%%PYTHON_SITELIBDIR%%/mixminion/server/Pinger.py
+%%PYTHON_SITELIBDIR%%/mixminion/server/Pinger.pyc
+%%PYTHON_SITELIBDIR%%/mixminion/server/Pinger.pyo
%%PYTHON_SITELIBDIR%%/mixminion/server/ServerConfig.py
%%PYTHON_SITELIBDIR%%/mixminion/server/ServerConfig.pyc
%%PYTHON_SITELIBDIR%%/mixminion/server/ServerConfig.pyo