diff options
Diffstat (limited to 'mail')
-rw-r--r-- | mail/mixminion/Makefile | 40 | ||||
-rw-r--r-- | mail/mixminion/distinfo | 6 | ||||
-rw-r--r-- | mail/mixminion/files/mixminiond.in | 65 | ||||
-rw-r--r-- | mail/mixminion/files/patch-mixminiond.conf | 100 | ||||
-rw-r--r-- | mail/mixminion/files/pkg-message.in | 8 | ||||
-rw-r--r-- | mail/mixminion/pkg-deinstall | 62 | ||||
-rw-r--r-- | mail/mixminion/pkg-descr | 19 | ||||
-rw-r--r-- | mail/mixminion/pkg-install | 40 | ||||
-rw-r--r-- | mail/mixminion/pkg-plist | 17 |
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 |